category_theory.limits.shapes.diagonal
⟷
Mathlib.CategoryTheory.Limits.Shapes.Diagonal
The following section lists changes to this file in mathlib3 and mathlib4 that occured after the initial port. Most recent changes are shown first. Hovering over a commit will show all commits associated with the same mathlib3 commit.
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(last sync)
mathlib commit https://github.com/leanprover-community/mathlib/commit/ce64cd319bb6b3e82f31c2d38e79080d377be451
@@ -3,9 +3,9 @@ Copyright (c) 2022 Andrew Yang. All rights reserved.
Released under Apache 2.0 license as described in the file LICENSE.
Authors: Andrew Yang
-/
-import Mathbin.CategoryTheory.Limits.Shapes.Pullbacks
-import Mathbin.CategoryTheory.Limits.Shapes.KernelPair
-import Mathbin.CategoryTheory.Limits.Shapes.CommSq
+import CategoryTheory.Limits.Shapes.Pullbacks
+import CategoryTheory.Limits.Shapes.KernelPair
+import CategoryTheory.Limits.Shapes.CommSq
#align_import category_theory.limits.shapes.diagonal from "leanprover-community/mathlib"@"cb3ceec8485239a61ed51d944cb9a95b68c6bafc"
mathlib commit https://github.com/leanprover-community/mathlib/commit/8ea5598db6caeddde6cb734aa179cc2408dbd345
@@ -2,16 +2,13 @@
Copyright (c) 2022 Andrew Yang. All rights reserved.
Released under Apache 2.0 license as described in the file LICENSE.
Authors: Andrew Yang
-
-! This file was ported from Lean 3 source module category_theory.limits.shapes.diagonal
-! 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.Shapes.Pullbacks
import Mathbin.CategoryTheory.Limits.Shapes.KernelPair
import Mathbin.CategoryTheory.Limits.Shapes.CommSq
+#align_import category_theory.limits.shapes.diagonal from "leanprover-community/mathlib"@"cb3ceec8485239a61ed51d944cb9a95b68c6bafc"
+
/-!
# The diagonal object of a morphism.
mathlib commit https://github.com/leanprover-community/mathlib/commit/9fb8964792b4237dac6200193a0d533f1b3f7423
@@ -409,6 +409,7 @@ theorem diagonalObjPullbackFstIso_inv_snd_snd {X Y Z : C} (f : X ⟶ Z) (g : Y
#align category_theory.limits.diagonal_obj_pullback_fst_iso_inv_snd_snd CategoryTheory.Limits.diagonalObjPullbackFstIso_inv_snd_snd
-/
+#print CategoryTheory.Limits.diagonal_pullback_fst /-
theorem diagonal_pullback_fst {X Y Z : C} (f : X ⟶ Z) (g : Y ⟶ Z) :
diagonal (pullback.fst : pullback f g ⟶ _) =
(pullbackSymmetry _ _).Hom ≫
@@ -417,6 +418,7 @@ theorem diagonal_pullback_fst {X Y Z : C} (f : X ⟶ Z) (g : Y ⟶ Z) :
(diagonalObjPullbackFstIso f g).inv :=
by ext <;> simp
#align category_theory.limits.diagonal_pullback_fst CategoryTheory.Limits.diagonal_pullback_fst
+-/
end
mathlib commit https://github.com/leanprover-community/mathlib/commit/917c3c072e487b3cccdbfeff17e75b40e45f66cb
@@ -409,9 +409,6 @@ theorem diagonalObjPullbackFstIso_inv_snd_snd {X Y Z : C} (f : X ⟶ Z) (g : Y
#align category_theory.limits.diagonal_obj_pullback_fst_iso_inv_snd_snd CategoryTheory.Limits.diagonalObjPullbackFstIso_inv_snd_snd
-/
-/- warning: category_theory.limits.diagonal_pullback_fst -> CategoryTheory.Limits.diagonal_pullback_fst is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align category_theory.limits.diagonal_pullback_fst CategoryTheory.Limits.diagonal_pullback_fstₓ'. -/
theorem diagonal_pullback_fst {X Y Z : C} (f : X ⟶ Z) (g : Y ⟶ Z) :
diagonal (pullback.fst : pullback f g ⟶ _) =
(pullbackSymmetry _ _).Hom ≫
mathlib commit https://github.com/leanprover-community/mathlib/commit/917c3c072e487b3cccdbfeff17e75b40e45f66cb
@@ -179,50 +179,40 @@ def pullbackDiagonalMapIso :
#print CategoryTheory.Limits.pullbackDiagonalMapIso_hom_fst /-
@[simp, reassoc]
theorem pullbackDiagonalMapIso_hom_fst :
- (pullbackDiagonalMapIso f i i₁ i₂).Hom ≫ pullback.fst = pullback.snd ≫ pullback.fst :=
- by
- delta pullback_diagonal_map_iso
- simp
+ (pullbackDiagonalMapIso f i i₁ i₂).Hom ≫ pullback.fst = pullback.snd ≫ pullback.fst := by
+ delta pullback_diagonal_map_iso; simp
#align category_theory.limits.pullback_diagonal_map_iso_hom_fst CategoryTheory.Limits.pullbackDiagonalMapIso_hom_fst
-/
#print CategoryTheory.Limits.pullbackDiagonalMapIso_hom_snd /-
@[simp, reassoc]
theorem pullbackDiagonalMapIso_hom_snd :
- (pullbackDiagonalMapIso f i i₁ i₂).Hom ≫ pullback.snd = pullback.snd ≫ pullback.snd :=
- by
- delta pullback_diagonal_map_iso
- simp
+ (pullbackDiagonalMapIso f i i₁ i₂).Hom ≫ pullback.snd = pullback.snd ≫ pullback.snd := by
+ delta pullback_diagonal_map_iso; simp
#align category_theory.limits.pullback_diagonal_map_iso_hom_snd CategoryTheory.Limits.pullbackDiagonalMapIso_hom_snd
-/
#print CategoryTheory.Limits.pullbackDiagonalMapIso_inv_fst /-
@[simp, reassoc]
theorem pullbackDiagonalMapIso_inv_fst :
- (pullbackDiagonalMapIso f i i₁ i₂).inv ≫ pullback.fst = pullback.fst ≫ i₁ ≫ pullback.fst :=
- by
- delta pullback_diagonal_map_iso
- simp
+ (pullbackDiagonalMapIso f i i₁ i₂).inv ≫ pullback.fst = pullback.fst ≫ i₁ ≫ pullback.fst := by
+ delta pullback_diagonal_map_iso; simp
#align category_theory.limits.pullback_diagonal_map_iso_inv_fst CategoryTheory.Limits.pullbackDiagonalMapIso_inv_fst
-/
#print CategoryTheory.Limits.pullbackDiagonalMapIso_inv_snd_fst /-
@[simp, reassoc]
theorem pullbackDiagonalMapIso_inv_snd_fst :
- (pullbackDiagonalMapIso f i i₁ i₂).inv ≫ pullback.snd ≫ pullback.fst = pullback.fst :=
- by
- delta pullback_diagonal_map_iso
- simp
+ (pullbackDiagonalMapIso f i i₁ i₂).inv ≫ pullback.snd ≫ pullback.fst = pullback.fst := by
+ delta pullback_diagonal_map_iso; simp
#align category_theory.limits.pullback_diagonal_map_iso_inv_snd_fst CategoryTheory.Limits.pullbackDiagonalMapIso_inv_snd_fst
-/
#print CategoryTheory.Limits.pullbackDiagonalMapIso_inv_snd_snd /-
@[simp, reassoc]
theorem pullbackDiagonalMapIso_inv_snd_snd :
- (pullbackDiagonalMapIso f i i₁ i₂).inv ≫ pullback.snd ≫ pullback.snd = pullback.snd :=
- by
- delta pullback_diagonal_map_iso
- simp
+ (pullbackDiagonalMapIso f i i₁ i₂).inv ≫ pullback.snd ≫ pullback.snd = pullback.snd := by
+ delta pullback_diagonal_map_iso; simp
#align category_theory.limits.pullback_diagonal_map_iso_inv_snd_snd CategoryTheory.Limits.pullbackDiagonalMapIso_inv_snd_snd
-/
@@ -287,20 +277,16 @@ def pullbackDiagonalMapIdIso :
#print CategoryTheory.Limits.pullbackDiagonalMapIdIso_hom_fst /-
@[simp, reassoc]
theorem pullbackDiagonalMapIdIso_hom_fst :
- (pullbackDiagonalMapIdIso f g i).Hom ≫ pullback.fst = pullback.snd ≫ pullback.fst :=
- by
- delta pullback_diagonal_map_id_iso
- simp
+ (pullbackDiagonalMapIdIso f g i).Hom ≫ pullback.fst = pullback.snd ≫ pullback.fst := by
+ delta pullback_diagonal_map_id_iso; simp
#align category_theory.limits.pullback_diagonal_map_id_iso_hom_fst CategoryTheory.Limits.pullbackDiagonalMapIdIso_hom_fst
-/
#print CategoryTheory.Limits.pullbackDiagonalMapIdIso_hom_snd /-
@[simp, reassoc]
theorem pullbackDiagonalMapIdIso_hom_snd :
- (pullbackDiagonalMapIdIso f g i).Hom ≫ pullback.snd = pullback.snd ≫ pullback.snd :=
- by
- delta pullback_diagonal_map_id_iso
- simp
+ (pullbackDiagonalMapIdIso f g i).Hom ≫ pullback.snd = pullback.snd ≫ pullback.snd := by
+ delta pullback_diagonal_map_id_iso; simp
#align category_theory.limits.pullback_diagonal_map_id_iso_hom_snd CategoryTheory.Limits.pullbackDiagonalMapIdIso_hom_snd
-/
@@ -317,20 +303,16 @@ theorem pullbackDiagonalMapIdIso_inv_fst :
#print CategoryTheory.Limits.pullbackDiagonalMapIdIso_inv_snd_fst /-
@[simp, reassoc]
theorem pullbackDiagonalMapIdIso_inv_snd_fst :
- (pullbackDiagonalMapIdIso f g i).inv ≫ pullback.snd ≫ pullback.fst = pullback.fst :=
- by
- rw [iso.inv_comp_eq]
- simp
+ (pullbackDiagonalMapIdIso f g i).inv ≫ pullback.snd ≫ pullback.fst = pullback.fst := by
+ rw [iso.inv_comp_eq]; simp
#align category_theory.limits.pullback_diagonal_map_id_iso_inv_snd_fst CategoryTheory.Limits.pullbackDiagonalMapIdIso_inv_snd_fst
-/
#print CategoryTheory.Limits.pullbackDiagonalMapIdIso_inv_snd_snd /-
@[simp, reassoc]
theorem pullbackDiagonalMapIdIso_inv_snd_snd :
- (pullbackDiagonalMapIdIso f g i).inv ≫ pullback.snd ≫ pullback.snd = pullback.snd :=
- by
- rw [iso.inv_comp_eq]
- simp
+ (pullbackDiagonalMapIdIso f g i).inv ≫ pullback.snd ≫ pullback.snd = pullback.snd := by
+ rw [iso.inv_comp_eq]; simp
#align category_theory.limits.pullback_diagonal_map_id_iso_inv_snd_snd CategoryTheory.Limits.pullbackDiagonalMapIdIso_inv_snd_snd
-/
@@ -352,8 +334,7 @@ theorem pullback_map_diagonal_isPullback :
apply is_pullback.of_iso_pullback _ (pullback_diagonal_map_id_iso f g i).symm
· simp
· ext <;> simp
- · constructor
- ext <;> simp [condition]
+ · constructor; ext <;> simp [condition]
#align category_theory.limits.pullback_map_diagonal_is_pullback CategoryTheory.Limits.pullback_map_diagonal_isPullback
-/
@@ -373,9 +354,7 @@ def diagonalObjPullbackFstIso {X Y Z : C} (f : X ⟶ Z) (g : Y ⟶ Z) :
theorem diagonalObjPullbackFstIso_hom_fst_fst {X Y Z : C} (f : X ⟶ Z) (g : Y ⟶ Z) :
(diagonalObjPullbackFstIso f g).Hom ≫ pullback.fst ≫ pullback.fst =
pullback.fst ≫ pullback.snd :=
- by
- delta diagonal_obj_pullback_fst_iso
- simp
+ by delta diagonal_obj_pullback_fst_iso; simp
#align category_theory.limits.diagonal_obj_pullback_fst_iso_hom_fst_fst CategoryTheory.Limits.diagonalObjPullbackFstIso_hom_fst_fst
-/
@@ -384,29 +363,23 @@ theorem diagonalObjPullbackFstIso_hom_fst_fst {X Y Z : C} (f : X ⟶ Z) (g : Y
theorem diagonalObjPullbackFstIso_hom_fst_snd {X Y Z : C} (f : X ⟶ Z) (g : Y ⟶ Z) :
(diagonalObjPullbackFstIso f g).Hom ≫ pullback.fst ≫ pullback.snd =
pullback.snd ≫ pullback.snd :=
- by
- delta diagonal_obj_pullback_fst_iso
- simp
+ by delta diagonal_obj_pullback_fst_iso; simp
#align category_theory.limits.diagonal_obj_pullback_fst_iso_hom_fst_snd CategoryTheory.Limits.diagonalObjPullbackFstIso_hom_fst_snd
-/
#print CategoryTheory.Limits.diagonalObjPullbackFstIso_hom_snd /-
@[simp, reassoc]
theorem diagonalObjPullbackFstIso_hom_snd {X Y Z : C} (f : X ⟶ Z) (g : Y ⟶ Z) :
- (diagonalObjPullbackFstIso f g).Hom ≫ pullback.snd = pullback.fst ≫ pullback.fst :=
- by
- delta diagonal_obj_pullback_fst_iso
- simp
+ (diagonalObjPullbackFstIso f g).Hom ≫ pullback.snd = pullback.fst ≫ pullback.fst := by
+ delta diagonal_obj_pullback_fst_iso; simp
#align category_theory.limits.diagonal_obj_pullback_fst_iso_hom_snd CategoryTheory.Limits.diagonalObjPullbackFstIso_hom_snd
-/
#print CategoryTheory.Limits.diagonalObjPullbackFstIso_inv_fst_fst /-
@[simp, reassoc]
theorem diagonalObjPullbackFstIso_inv_fst_fst {X Y Z : C} (f : X ⟶ Z) (g : Y ⟶ Z) :
- (diagonalObjPullbackFstIso f g).inv ≫ pullback.fst ≫ pullback.fst = pullback.snd :=
- by
- delta diagonal_obj_pullback_fst_iso
- simp
+ (diagonalObjPullbackFstIso f g).inv ≫ pullback.fst ≫ pullback.fst = pullback.snd := by
+ delta diagonal_obj_pullback_fst_iso; simp
#align category_theory.limits.diagonal_obj_pullback_fst_iso_inv_fst_fst CategoryTheory.Limits.diagonalObjPullbackFstIso_inv_fst_fst
-/
@@ -415,19 +388,15 @@ theorem diagonalObjPullbackFstIso_inv_fst_fst {X Y Z : C} (f : X ⟶ Z) (g : Y
theorem diagonalObjPullbackFstIso_inv_fst_snd {X Y Z : C} (f : X ⟶ Z) (g : Y ⟶ Z) :
(diagonalObjPullbackFstIso f g).inv ≫ pullback.fst ≫ pullback.snd =
pullback.fst ≫ pullback.fst :=
- by
- delta diagonal_obj_pullback_fst_iso
- simp
+ by delta diagonal_obj_pullback_fst_iso; simp
#align category_theory.limits.diagonal_obj_pullback_fst_iso_inv_fst_snd CategoryTheory.Limits.diagonalObjPullbackFstIso_inv_fst_snd
-/
#print CategoryTheory.Limits.diagonalObjPullbackFstIso_inv_snd_fst /-
@[simp, reassoc]
theorem diagonalObjPullbackFstIso_inv_snd_fst {X Y Z : C} (f : X ⟶ Z) (g : Y ⟶ Z) :
- (diagonalObjPullbackFstIso f g).inv ≫ pullback.snd ≫ pullback.fst = pullback.snd :=
- by
- delta diagonal_obj_pullback_fst_iso
- simp
+ (diagonalObjPullbackFstIso f g).inv ≫ pullback.snd ≫ pullback.fst = pullback.snd := by
+ delta diagonal_obj_pullback_fst_iso; simp
#align category_theory.limits.diagonal_obj_pullback_fst_iso_inv_snd_fst CategoryTheory.Limits.diagonalObjPullbackFstIso_inv_snd_fst
-/
@@ -436,9 +405,7 @@ theorem diagonalObjPullbackFstIso_inv_snd_fst {X Y Z : C} (f : X ⟶ Z) (g : Y
theorem diagonalObjPullbackFstIso_inv_snd_snd {X Y Z : C} (f : X ⟶ Z) (g : Y ⟶ Z) :
(diagonalObjPullbackFstIso f g).inv ≫ pullback.snd ≫ pullback.snd =
pullback.fst ≫ pullback.snd :=
- by
- delta diagonal_obj_pullback_fst_iso
- simp
+ by delta diagonal_obj_pullback_fst_iso; simp
#align category_theory.limits.diagonal_obj_pullback_fst_iso_inv_snd_snd CategoryTheory.Limits.diagonalObjPullbackFstIso_inv_snd_snd
-/
mathlib commit https://github.com/leanprover-community/mathlib/commit/917c3c072e487b3cccdbfeff17e75b40e45f66cb
@@ -443,10 +443,7 @@ theorem diagonalObjPullbackFstIso_inv_snd_snd {X Y Z : C} (f : X ⟶ Z) (g : Y
-/
/- warning: category_theory.limits.diagonal_pullback_fst -> CategoryTheory.Limits.diagonal_pullback_fst is a dubious translation:
-lean 3 declaration is
- forall {C : Type.{u1}} [_inst_1 : CategoryTheory.Category.{u2, u1} C] [_inst_2 : CategoryTheory.Limits.HasPullbacks.{u2, u1} C _inst_1] {X : C} {Y : C} {Z : C} (f : Quiver.Hom.{succ u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1)) X Z) (g : Quiver.Hom.{succ u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1)) Y Z), 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.pullback.{u2, u1} C _inst_1 X Y Z f g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 X Y Z f g))) (CategoryTheory.Limits.pullback.diagonalObj.{u1, u2} C _inst_1 (CategoryTheory.Limits.pullback.{u2, u1} C _inst_1 X Y Z f g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 X Y Z f g))) X (CategoryTheory.Limits.pullback.fst.{u2, u1} C _inst_1 X Y Z f g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 X Y Z f g))) (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 (CategoryTheory.Limits.pullback.{u2, u1} C _inst_1 X Y Z f g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 X Y Z f g))) (CategoryTheory.Limits.pullback.{u2, u1} C _inst_1 X Y Z f g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 X Y Z f g))) X (CategoryTheory.Limits.pullback.fst.{u2, u1} C _inst_1 X Y Z f g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 X Y Z f g))) (CategoryTheory.Limits.pullback.fst.{u2, u1} C _inst_1 X Y Z f g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 X Y Z f g))))))) (CategoryTheory.Limits.pullback.diagonal.{u1, u2} C _inst_1 (CategoryTheory.Limits.pullback.{u2, u1} C _inst_1 X Y Z f g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 X Y Z f g))) X (CategoryTheory.Limits.pullback.fst.{u2, u1} C _inst_1 X Y Z f g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 X Y Z f g))) (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 (CategoryTheory.Limits.pullback.{u2, u1} C _inst_1 X Y Z f g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 X Y Z f g))) (CategoryTheory.Limits.pullback.{u2, u1} C _inst_1 X Y Z f g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 X Y Z f g))) X (CategoryTheory.Limits.pullback.fst.{u2, u1} C _inst_1 X Y Z f g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 X Y Z f g))) (CategoryTheory.Limits.pullback.fst.{u2, u1} C _inst_1 X Y Z f g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 X Y Z f g)))))) (CategoryTheory.CategoryStruct.comp.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1) (CategoryTheory.Limits.pullback.{u2, u1} C _inst_1 X Y Z f g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 X Y Z f g))) (CategoryTheory.Limits.pullback.{u2, u1} C _inst_1 Y X Z g f (CategoryTheory.Limits.hasPullback_symmetry.{u2, u1} C _inst_1 X Y Z f g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 X Y Z f g)))) (CategoryTheory.Limits.pullback.diagonalObj.{u1, u2} C _inst_1 (CategoryTheory.Limits.pullback.{u2, u1} C _inst_1 X Y Z f g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 X Y Z f g))) X (CategoryTheory.Limits.pullback.fst.{u2, u1} C _inst_1 X Y Z f g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 X Y Z f g))) (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 (CategoryTheory.Limits.pullback.{u2, u1} C _inst_1 X Y Z f g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 X Y Z f g))) (CategoryTheory.Limits.pullback.{u2, u1} C _inst_1 X Y Z f g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 X Y Z f g))) X (CategoryTheory.Limits.pullback.fst.{u2, u1} C _inst_1 X Y Z f g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 X Y Z f g))) (CategoryTheory.Limits.pullback.fst.{u2, u1} C _inst_1 X Y Z f g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 X Y Z f g)))))) (CategoryTheory.Iso.hom.{u2, u1} C _inst_1 (CategoryTheory.Limits.pullback.{u2, u1} C _inst_1 X Y Z f g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 X Y Z f g))) (CategoryTheory.Limits.pullback.{u2, u1} C _inst_1 Y X Z g f (CategoryTheory.Limits.hasPullback_symmetry.{u2, u1} C _inst_1 X Y Z f g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 X Y Z f g)))) (CategoryTheory.Limits.pullbackSymmetry.{u2, u1} C _inst_1 X Y Z f g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 X Y Z f g)))) (CategoryTheory.CategoryStruct.comp.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1) (CategoryTheory.Limits.pullback.{u2, u1} C _inst_1 Y X Z g f (CategoryTheory.Limits.hasPullback_symmetry.{u2, u1} C _inst_1 X Y Z f g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 X Y Z f g)))) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 X) (CategoryTheory.Functor.obj.{u2, u2, max u1 u2, max u1 u2} (CategoryTheory.Over.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.category.{u1, u2} C _inst_1 Z) (CategoryTheory.Over.{u2, u1} C _inst_1 X) (CategoryTheory.Over.category.{u1, u2} C _inst_1 X) (CategoryTheory.Limits.baseChange.{u2, u1} C _inst_1 _inst_2 X Z f) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z (CategoryTheory.Limits.pullback.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Y Z g g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Z g g))) (CategoryTheory.CategoryStruct.comp.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1) (CategoryTheory.Limits.pullback.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Y Z g g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Z g g))) Y Z (CategoryTheory.Limits.pullback.snd.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Y Z g g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Z g g))) g)))) (CategoryTheory.Limits.pullback.diagonalObj.{u1, u2} C _inst_1 (CategoryTheory.Limits.pullback.{u2, u1} C _inst_1 X Y Z f g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 X Y Z f g))) X (CategoryTheory.Limits.pullback.fst.{u2, u1} C _inst_1 X Y Z f g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 X Y Z f g))) (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 (CategoryTheory.Limits.pullback.{u2, u1} C _inst_1 X Y Z f g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 X Y Z f g))) (CategoryTheory.Limits.pullback.{u2, u1} C _inst_1 X Y Z f g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 X Y Z f g))) X (CategoryTheory.Limits.pullback.fst.{u2, u1} C _inst_1 X Y Z f g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 X Y Z f g))) (CategoryTheory.Limits.pullback.fst.{u2, u1} C _inst_1 X Y Z f g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 X Y Z f g)))))) (CategoryTheory.CommaMorphism.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 X) (CategoryTheory.Functor.obj.{u2, u2, max u1 u2, max u1 u2} (CategoryTheory.Over.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.category.{u1, u2} C _inst_1 Z) (CategoryTheory.Over.{u2, u1} C _inst_1 X) (CategoryTheory.Over.category.{u1, u2} C _inst_1 X) (CategoryTheory.Limits.baseChange.{u2, u1} C _inst_1 _inst_2 X Z f) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) (CategoryTheory.Functor.obj.{u2, u2, max u1 u2, max u1 u2} (CategoryTheory.Over.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.category.{u1, u2} C _inst_1 Z) (CategoryTheory.Over.{u2, u1} C _inst_1 X) (CategoryTheory.Over.category.{u1, u2} C _inst_1 X) (CategoryTheory.Limits.baseChange.{u2, u1} C _inst_1 _inst_2 X Z f) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z (CategoryTheory.Limits.pullback.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Y Z g g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Z g g))) (CategoryTheory.CategoryStruct.comp.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1) (CategoryTheory.Limits.pullback.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Y Z g g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Z g g))) Y Z (CategoryTheory.Limits.pullback.snd.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Y Z g g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Z g g))) g))) (CategoryTheory.Functor.map.{u2, u2, max u1 u2, max u1 u2} (CategoryTheory.Over.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.category.{u1, u2} C _inst_1 Z) (CategoryTheory.Over.{u2, u1} C _inst_1 X) (CategoryTheory.Over.category.{u1, u2} C _inst_1 X) (CategoryTheory.Limits.baseChange.{u2, u1} C _inst_1 _inst_2 X Z f) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z (CategoryTheory.Limits.pullback.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Y Z g g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Z g g))) (CategoryTheory.CategoryStruct.comp.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1) (CategoryTheory.Limits.pullback.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Y Z g g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Z g g))) Y Z (CategoryTheory.Limits.pullback.snd.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Y Z g g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Z g g))) g)) (CategoryTheory.Over.homMk.{u2, u1} C _inst_1 Z (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z (CategoryTheory.Limits.pullback.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Y Z g g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Z g g))) (CategoryTheory.CategoryStruct.comp.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1) (CategoryTheory.Limits.pullback.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Y Z g g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Z g g))) Y Z (CategoryTheory.Limits.pullback.snd.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Y Z g g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Z g g))) g)) (CategoryTheory.Limits.pullback.diagonal.{u1, u2} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Z g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Z g g))) (Eq.mpr.{0} (autoParamₓ.{0} (Eq.{succ u2} (Quiver.Hom.{succ u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1)) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) (CategoryTheory.Functor.obj.{u2, u2, u2, u1} (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Comma.right.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z (CategoryTheory.Limits.pullback.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Y Z g g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Z g g))) (CategoryTheory.CategoryStruct.comp.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1) (CategoryTheory.Limits.pullback.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Y Z g g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Z g g))) Y Z (CategoryTheory.Limits.pullback.snd.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Y Z g g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Z g g))) g))))) (CategoryTheory.CategoryStruct.comp.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z (CategoryTheory.Limits.pullback.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Y Z g g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Z g g))) (CategoryTheory.CategoryStruct.comp.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1) (CategoryTheory.Limits.pullback.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Y Z g g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Z g g))) Y Z (CategoryTheory.Limits.pullback.snd.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Y Z g g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Z g g))) g))) (CategoryTheory.Functor.obj.{u2, u2, u2, u1} (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Comma.right.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z (CategoryTheory.Limits.pullback.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Y Z g g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Z g g))) (CategoryTheory.CategoryStruct.comp.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1) (CategoryTheory.Limits.pullback.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Y Z g g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Z g g))) Y Z (CategoryTheory.Limits.pullback.snd.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Y Z g g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Z g g))) g)))) (CategoryTheory.Limits.pullback.diagonal.{u1, u2} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Z g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Z g g))) (CategoryTheory.Comma.hom.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z (CategoryTheory.Limits.pullback.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Y Z g g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Z g g))) (CategoryTheory.CategoryStruct.comp.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1) (CategoryTheory.Limits.pullback.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Y Z g g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Z g g))) Y Z (CategoryTheory.Limits.pullback.snd.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Y Z g g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Z g g))) g)))) (CategoryTheory.Comma.hom.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g))) (Name.mk_string (String.str (String.str (String.str (String.str (String.str (String.str (String.str (String.str (String.str String.empty (Char.ofNat (OfNat.ofNat.{0} Nat 111 (OfNat.mk.{0} Nat 111 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (bit1.{0} Nat Nat.hasOne Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))))))) (Char.ofNat (OfNat.ofNat.{0} Nat 98 (OfNat.mk.{0} Nat 98 (bit0.{0} Nat Nat.hasAdd (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (bit1.{0} Nat Nat.hasOne Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))))))) (Char.ofNat (OfNat.ofNat.{0} Nat 118 (OfNat.mk.{0} Nat 118 (bit0.{0} Nat Nat.hasAdd (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit1.{0} Nat Nat.hasOne Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))))))) (Char.ofNat (OfNat.ofNat.{0} Nat 105 (OfNat.mk.{0} Nat 105 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (bit1.{0} Nat Nat.hasOne Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))))))) (Char.ofNat (OfNat.ofNat.{0} Nat 111 (OfNat.mk.{0} Nat 111 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (bit1.{0} Nat Nat.hasOne Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))))))) (Char.ofNat (OfNat.ofNat.{0} Nat 117 (OfNat.mk.{0} Nat 117 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit1.{0} Nat Nat.hasOne Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))))))) (Char.ofNat (OfNat.ofNat.{0} Nat 115 (OfNat.mk.{0} Nat 115 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit1.{0} Nat Nat.hasOne Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))))))) (Char.ofNat (OfNat.ofNat.{0} Nat 108 (OfNat.mk.{0} Nat 108 (bit0.{0} Nat Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (bit1.{0} Nat Nat.hasOne Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))))))) (Char.ofNat (OfNat.ofNat.{0} Nat 121 (OfNat.mk.{0} Nat 121 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit1.{0} Nat Nat.hasOne Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))))))) Name.anonymous)) True (id_tag Tactic.IdTag.simp (Eq.{1} Prop (autoParamₓ.{0} (Eq.{succ u2} (Quiver.Hom.{succ u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1)) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) (CategoryTheory.Functor.obj.{u2, u2, u2, u1} (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Comma.right.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z (CategoryTheory.Limits.pullback.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Y Z g g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Z g g))) (CategoryTheory.CategoryStruct.comp.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1) (CategoryTheory.Limits.pullback.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Y Z g g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Z g g))) Y Z (CategoryTheory.Limits.pullback.snd.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Y Z g g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Z g g))) g))))) (CategoryTheory.CategoryStruct.comp.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z (CategoryTheory.Limits.pullback.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Y Z g g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Z g g))) (CategoryTheory.CategoryStruct.comp.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1) (CategoryTheory.Limits.pullback.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Y Z g g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Z g g))) Y Z (CategoryTheory.Limits.pullback.snd.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Y Z g g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Z g g))) g))) (CategoryTheory.Functor.obj.{u2, u2, u2, u1} (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Comma.right.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z (CategoryTheory.Limits.pullback.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Y Z g g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Z g g))) (CategoryTheory.CategoryStruct.comp.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1) (CategoryTheory.Limits.pullback.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Y Z g g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Z g g))) Y Z (CategoryTheory.Limits.pullback.snd.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Y Z g g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Z g g))) g)))) (CategoryTheory.Limits.pullback.diagonal.{u1, u2} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Z g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Z g g))) (CategoryTheory.Comma.hom.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z (CategoryTheory.Limits.pullback.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Y Z g g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Z g g))) (CategoryTheory.CategoryStruct.comp.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1) (CategoryTheory.Limits.pullback.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Y Z g g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Z g g))) Y Z (CategoryTheory.Limits.pullback.snd.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Y Z g g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Z g g))) g)))) (CategoryTheory.Comma.hom.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g))) (Name.mk_string (String.str (String.str (String.str (String.str (String.str (String.str (String.str (String.str (String.str String.empty (Char.ofNat (OfNat.ofNat.{0} Nat 111 (OfNat.mk.{0} Nat 111 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (bit1.{0} Nat Nat.hasOne Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))))))) (Char.ofNat (OfNat.ofNat.{0} Nat 98 (OfNat.mk.{0} Nat 98 (bit0.{0} Nat Nat.hasAdd (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (bit1.{0} Nat Nat.hasOne Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))))))) (Char.ofNat (OfNat.ofNat.{0} Nat 118 (OfNat.mk.{0} Nat 118 (bit0.{0} Nat Nat.hasAdd (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit1.{0} Nat Nat.hasOne Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))))))) (Char.ofNat (OfNat.ofNat.{0} Nat 105 (OfNat.mk.{0} Nat 105 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (bit1.{0} Nat Nat.hasOne Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))))))) (Char.ofNat (OfNat.ofNat.{0} Nat 111 (OfNat.mk.{0} Nat 111 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (bit1.{0} Nat Nat.hasOne Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))))))) (Char.ofNat (OfNat.ofNat.{0} Nat 117 (OfNat.mk.{0} Nat 117 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit1.{0} Nat Nat.hasOne Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))))))) (Char.ofNat (OfNat.ofNat.{0} Nat 115 (OfNat.mk.{0} Nat 115 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit1.{0} Nat Nat.hasOne Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))))))) (Char.ofNat (OfNat.ofNat.{0} Nat 108 (OfNat.mk.{0} Nat 108 (bit0.{0} Nat Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (bit1.{0} Nat Nat.hasOne Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))))))) (Char.ofNat (OfNat.ofNat.{0} Nat 121 (OfNat.mk.{0} Nat 121 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit1.{0} Nat Nat.hasOne Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))))))) Name.anonymous)) True) (Eq.trans.{1} Prop (autoParamₓ.{0} (Eq.{succ u2} (Quiver.Hom.{succ u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1)) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) (CategoryTheory.Functor.obj.{u2, u2, u2, u1} (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Comma.right.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z (CategoryTheory.Limits.pullback.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Y Z g g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Z g g))) (CategoryTheory.CategoryStruct.comp.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1) (CategoryTheory.Limits.pullback.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Y Z g g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Z g g))) Y Z (CategoryTheory.Limits.pullback.snd.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Y Z g g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Z g g))) g))))) (CategoryTheory.CategoryStruct.comp.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z (CategoryTheory.Limits.pullback.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Y Z g g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Z g g))) (CategoryTheory.CategoryStruct.comp.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1) (CategoryTheory.Limits.pullback.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Y Z g g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Z g g))) Y Z (CategoryTheory.Limits.pullback.snd.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Y Z g g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Z g g))) g))) (CategoryTheory.Functor.obj.{u2, u2, u2, u1} (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Comma.right.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z (CategoryTheory.Limits.pullback.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Y Z g g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Z g g))) (CategoryTheory.CategoryStruct.comp.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1) (CategoryTheory.Limits.pullback.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Y Z g g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Z g g))) Y Z (CategoryTheory.Limits.pullback.snd.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Y Z g g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Z g g))) g)))) (CategoryTheory.Limits.pullback.diagonal.{u1, u2} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Z g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Z g g))) (CategoryTheory.Comma.hom.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z (CategoryTheory.Limits.pullback.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Y Z g g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Z g g))) (CategoryTheory.CategoryStruct.comp.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1) (CategoryTheory.Limits.pullback.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Y Z g g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Z g g))) Y Z (CategoryTheory.Limits.pullback.snd.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Y Z g g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Z g g))) g)))) (CategoryTheory.Comma.hom.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g))) (Name.mk_string (String.str (String.str (String.str (String.str (String.str (String.str (String.str (String.str (String.str String.empty (Char.ofNat (OfNat.ofNat.{0} Nat 111 (OfNat.mk.{0} Nat 111 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (bit1.{0} Nat Nat.hasOne Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))))))) (Char.ofNat (OfNat.ofNat.{0} Nat 98 (OfNat.mk.{0} Nat 98 (bit0.{0} Nat Nat.hasAdd (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (bit1.{0} Nat Nat.hasOne Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))))))) (Char.ofNat (OfNat.ofNat.{0} Nat 118 (OfNat.mk.{0} Nat 118 (bit0.{0} Nat Nat.hasAdd (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit1.{0} Nat Nat.hasOne Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))))))) (Char.ofNat (OfNat.ofNat.{0} Nat 105 (OfNat.mk.{0} Nat 105 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (bit1.{0} Nat Nat.hasOne Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))))))) (Char.ofNat (OfNat.ofNat.{0} Nat 111 (OfNat.mk.{0} Nat 111 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (bit1.{0} Nat Nat.hasOne Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))))))) (Char.ofNat (OfNat.ofNat.{0} Nat 117 (OfNat.mk.{0} Nat 117 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit1.{0} Nat Nat.hasOne Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))))))) (Char.ofNat (OfNat.ofNat.{0} Nat 115 (OfNat.mk.{0} Nat 115 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit1.{0} Nat Nat.hasOne Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))))))) (Char.ofNat (OfNat.ofNat.{0} Nat 108 (OfNat.mk.{0} Nat 108 (bit0.{0} Nat Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (bit1.{0} Nat Nat.hasOne Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))))))) (Char.ofNat (OfNat.ofNat.{0} Nat 121 (OfNat.mk.{0} Nat 121 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit1.{0} Nat Nat.hasOne Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))))))) Name.anonymous)) (autoParamₓ.{0} True (Name.mk_string (String.str (String.str (String.str (String.str (String.str (String.str (String.str (String.str (String.str String.empty (Char.ofNat (OfNat.ofNat.{0} Nat 111 (OfNat.mk.{0} Nat 111 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (bit1.{0} Nat Nat.hasOne Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))))))) (Char.ofNat (OfNat.ofNat.{0} Nat 98 (OfNat.mk.{0} Nat 98 (bit0.{0} Nat Nat.hasAdd (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (bit1.{0} Nat Nat.hasOne Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))))))) (Char.ofNat (OfNat.ofNat.{0} Nat 118 (OfNat.mk.{0} Nat 118 (bit0.{0} Nat Nat.hasAdd (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit1.{0} Nat Nat.hasOne Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))))))) (Char.ofNat (OfNat.ofNat.{0} Nat 105 (OfNat.mk.{0} Nat 105 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (bit1.{0} Nat Nat.hasOne Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))))))) (Char.ofNat (OfNat.ofNat.{0} Nat 111 (OfNat.mk.{0} Nat 111 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (bit1.{0} Nat Nat.hasOne Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))))))) (Char.ofNat (OfNat.ofNat.{0} Nat 117 (OfNat.mk.{0} Nat 117 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit1.{0} Nat Nat.hasOne Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))))))) (Char.ofNat (OfNat.ofNat.{0} Nat 115 (OfNat.mk.{0} Nat 115 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit1.{0} Nat Nat.hasOne Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))))))) (Char.ofNat (OfNat.ofNat.{0} Nat 108 (OfNat.mk.{0} Nat 108 (bit0.{0} Nat Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (bit1.{0} Nat Nat.hasOne Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))))))) (Char.ofNat (OfNat.ofNat.{0} Nat 121 (OfNat.mk.{0} Nat 121 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit1.{0} Nat Nat.hasOne Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))))))) Name.anonymous)) True ((fun (α : Prop) (α_1 : Prop) (e_1 : Eq.{1} Prop α α_1) (tac_name : Name) (tac_name_1 : Name) (e_2 : Eq.{1} Name tac_name tac_name_1) => congr.{1, 1} Name Prop (autoParamₓ.{0} α) (autoParamₓ.{0} α_1) tac_name tac_name_1 (congr_arg.{1, 1} Prop (Name -> Prop) α α_1 autoParamₓ.{0} e_1) e_2) (Eq.{succ u2} (Quiver.Hom.{succ u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1)) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) (CategoryTheory.Functor.obj.{u2, u2, u2, u1} (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Comma.right.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z (CategoryTheory.Limits.pullback.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Y Z g g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Z g g))) (CategoryTheory.CategoryStruct.comp.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1) (CategoryTheory.Limits.pullback.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Y Z g g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Z g g))) Y Z (CategoryTheory.Limits.pullback.snd.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Y Z g g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Z g g))) g))))) (CategoryTheory.CategoryStruct.comp.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z (CategoryTheory.Limits.pullback.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Y Z g g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Z g g))) (CategoryTheory.CategoryStruct.comp.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1) (CategoryTheory.Limits.pullback.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Y Z g g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Z g g))) Y Z (CategoryTheory.Limits.pullback.snd.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Y Z g g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Z g g))) g))) (CategoryTheory.Functor.obj.{u2, u2, u2, u1} (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Comma.right.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z (CategoryTheory.Limits.pullback.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Y Z g g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Z g g))) (CategoryTheory.CategoryStruct.comp.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1) (CategoryTheory.Limits.pullback.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Y Z g g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Z g g))) Y Z (CategoryTheory.Limits.pullback.snd.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Y Z g g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Z g g))) g)))) (CategoryTheory.Limits.pullback.diagonal.{u1, u2} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Z g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Z g g))) (CategoryTheory.Comma.hom.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z (CategoryTheory.Limits.pullback.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Y Z g g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Z g g))) (CategoryTheory.CategoryStruct.comp.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1) (CategoryTheory.Limits.pullback.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Y Z g g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Z g g))) Y Z (CategoryTheory.Limits.pullback.snd.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Y Z g g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Z g g))) g)))) (CategoryTheory.Comma.hom.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g))) True (Eq.trans.{1} Prop (Eq.{succ u2} (Quiver.Hom.{succ u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1)) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) (CategoryTheory.Functor.obj.{u2, u2, u2, u1} (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Comma.right.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z (CategoryTheory.Limits.pullback.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Y Z g g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Z g g))) (CategoryTheory.CategoryStruct.comp.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1) (CategoryTheory.Limits.pullback.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Y Z g g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Z g g))) Y Z (CategoryTheory.Limits.pullback.snd.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Y Z g g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Z g g))) g))))) (CategoryTheory.CategoryStruct.comp.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z (CategoryTheory.Limits.pullback.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Y Z g g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Z g g))) (CategoryTheory.CategoryStruct.comp.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1) (CategoryTheory.Limits.pullback.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Y Z g g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Z g g))) Y Z (CategoryTheory.Limits.pullback.snd.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Y Z g g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Z g g))) g))) (CategoryTheory.Functor.obj.{u2, u2, u2, u1} (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Comma.right.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z (CategoryTheory.Limits.pullback.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Y Z g g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Z g g))) (CategoryTheory.CategoryStruct.comp.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1) (CategoryTheory.Limits.pullback.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Y Z g g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Z g g))) Y Z (CategoryTheory.Limits.pullback.snd.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Y Z g g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Z g g))) g)))) (CategoryTheory.Limits.pullback.diagonal.{u1, u2} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Z g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Z g g))) (CategoryTheory.Comma.hom.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z (CategoryTheory.Limits.pullback.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Y Z g g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Z g g))) (CategoryTheory.CategoryStruct.comp.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1) (CategoryTheory.Limits.pullback.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Y Z g g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Z g g))) Y Z (CategoryTheory.Limits.pullback.snd.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Y Z g g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Z g g))) g)))) (CategoryTheory.Comma.hom.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g))) (Eq.{succ u2} (Quiver.Hom.{succ u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1)) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) (CategoryTheory.Functor.obj.{u2, u2, u2, u1} (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Comma.right.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z (CategoryTheory.Limits.pullback.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Y Z g g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Z g g))) (CategoryTheory.CategoryStruct.comp.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1) (CategoryTheory.Limits.pullback.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Y Z g g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Z g g))) Y Z (CategoryTheory.Limits.pullback.snd.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Y Z g g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Z g g))) g))))) g g) True ((fun (a : Quiver.Hom.{succ u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1)) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) (CategoryTheory.Functor.obj.{u2, u2, u2, u1} (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Comma.right.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z (CategoryTheory.Limits.pullback.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Y Z g g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Z g g))) (CategoryTheory.CategoryStruct.comp.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1) (CategoryTheory.Limits.pullback.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Y Z g g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Z g g))) Y Z (CategoryTheory.Limits.pullback.snd.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Y Z g g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Z g g))) g))))) (a_1 : Quiver.Hom.{succ u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1)) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) (CategoryTheory.Functor.obj.{u2, u2, u2, u1} (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Comma.right.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z (CategoryTheory.Limits.pullback.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Y Z g g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Z g g))) (CategoryTheory.CategoryStruct.comp.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1) (CategoryTheory.Limits.pullback.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Y Z g g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Z g g))) Y Z (CategoryTheory.Limits.pullback.snd.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Y Z g g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Z g g))) g))))) (e_1 : Eq.{succ u2} (Quiver.Hom.{succ u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1)) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) (CategoryTheory.Functor.obj.{u2, u2, u2, u1} (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Comma.right.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z (CategoryTheory.Limits.pullback.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Y Z g g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Z g g))) (CategoryTheory.CategoryStruct.comp.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1) (CategoryTheory.Limits.pullback.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Y Z g g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Z g g))) Y Z (CategoryTheory.Limits.pullback.snd.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Y Z g g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Z g g))) g))))) a a_1) (ᾰ : Quiver.Hom.{succ u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1)) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) (CategoryTheory.Functor.obj.{u2, u2, u2, u1} (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Comma.right.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z (CategoryTheory.Limits.pullback.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Y Z g g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Z g g))) (CategoryTheory.CategoryStruct.comp.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1) (CategoryTheory.Limits.pullback.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Y Z g g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Z g g))) Y Z (CategoryTheory.Limits.pullback.snd.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Y Z g g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Z g g))) g))))) (ᾰ_1 : Quiver.Hom.{succ u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1)) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) (CategoryTheory.Functor.obj.{u2, u2, u2, u1} (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Comma.right.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z (CategoryTheory.Limits.pullback.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Y Z g g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Z g g))) (CategoryTheory.CategoryStruct.comp.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1) (CategoryTheory.Limits.pullback.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Y Z g g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Z g g))) Y Z (CategoryTheory.Limits.pullback.snd.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Y Z g g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Z g g))) g))))) (e_2 : Eq.{succ u2} (Quiver.Hom.{succ u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1)) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) (CategoryTheory.Functor.obj.{u2, u2, u2, u1} (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Comma.right.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z (CategoryTheory.Limits.pullback.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Y Z g g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Z g g))) (CategoryTheory.CategoryStruct.comp.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1) (CategoryTheory.Limits.pullback.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Y Z g g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Z g g))) Y Z (CategoryTheory.Limits.pullback.snd.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Y Z g g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Z g g))) g))))) ᾰ ᾰ_1) => congr.{succ u2, 1} (Quiver.Hom.{succ u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1)) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) (CategoryTheory.Functor.obj.{u2, u2, u2, u1} (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Comma.right.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z (CategoryTheory.Limits.pullback.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Y Z g g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Z g g))) (CategoryTheory.CategoryStruct.comp.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1) (CategoryTheory.Limits.pullback.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Y Z g g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Z g g))) Y Z (CategoryTheory.Limits.pullback.snd.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Y Z g g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Z g g))) g))))) Prop (Eq.{succ u2} (Quiver.Hom.{succ u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1)) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) (CategoryTheory.Functor.obj.{u2, u2, u2, u1} (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Comma.right.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z (CategoryTheory.Limits.pullback.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Y Z g g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Z g g))) (CategoryTheory.CategoryStruct.comp.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1) (CategoryTheory.Limits.pullback.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Y Z g g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Z g g))) Y Z (CategoryTheory.Limits.pullback.snd.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Y Z g g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Z g g))) g))))) a) (Eq.{succ u2} (Quiver.Hom.{succ u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1)) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) (CategoryTheory.Functor.obj.{u2, u2, u2, u1} (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Comma.right.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z (CategoryTheory.Limits.pullback.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Y Z g g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Z g g))) (CategoryTheory.CategoryStruct.comp.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1) (CategoryTheory.Limits.pullback.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Y Z g g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Z g g))) Y Z (CategoryTheory.Limits.pullback.snd.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Y Z g g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Z g g))) g))))) a_1) ᾰ ᾰ_1 (congr_arg.{succ u2, succ u2} (Quiver.Hom.{succ u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1)) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) (CategoryTheory.Functor.obj.{u2, u2, u2, u1} (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Comma.right.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z (CategoryTheory.Limits.pullback.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Y Z g g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Z g g))) (CategoryTheory.CategoryStruct.comp.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1) (CategoryTheory.Limits.pullback.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Y Z g g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Z g g))) Y Z (CategoryTheory.Limits.pullback.snd.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Y Z g g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Z g g))) g))))) ((Quiver.Hom.{succ u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1)) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) (CategoryTheory.Functor.obj.{u2, u2, u2, u1} (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Comma.right.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z (CategoryTheory.Limits.pullback.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Y Z g g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Z g g))) (CategoryTheory.CategoryStruct.comp.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1) (CategoryTheory.Limits.pullback.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Y Z g g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Z g g))) Y Z (CategoryTheory.Limits.pullback.snd.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Y Z g g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Z g g))) g))))) -> Prop) a a_1 (Eq.{succ u2} (Quiver.Hom.{succ u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1)) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) (CategoryTheory.Functor.obj.{u2, u2, u2, u1} (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Comma.right.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z (CategoryTheory.Limits.pullback.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Y Z g g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Z g g))) (CategoryTheory.CategoryStruct.comp.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1) (CategoryTheory.Limits.pullback.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Y Z g g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Z g g))) Y Z (CategoryTheory.Limits.pullback.snd.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Y Z g g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Z g g))) g)))))) e_1) e_2) (CategoryTheory.CategoryStruct.comp.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z (CategoryTheory.Limits.pullback.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Y Z g g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Z g g))) (CategoryTheory.CategoryStruct.comp.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1) (CategoryTheory.Limits.pullback.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Y Z g g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Z g g))) Y Z (CategoryTheory.Limits.pullback.snd.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Y Z g g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Z g g))) g))) (CategoryTheory.Functor.obj.{u2, u2, u2, u1} (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Comma.right.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z (CategoryTheory.Limits.pullback.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Y Z g g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Z g g))) (CategoryTheory.CategoryStruct.comp.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1) (CategoryTheory.Limits.pullback.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Y Z g g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Z g g))) Y Z (CategoryTheory.Limits.pullback.snd.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Y Z g g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Z g g))) g)))) (CategoryTheory.Limits.pullback.diagonal.{u1, u2} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Z g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Z g g))) (CategoryTheory.Comma.hom.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z (CategoryTheory.Limits.pullback.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Y Z g g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Z g g))) (CategoryTheory.CategoryStruct.comp.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1) (CategoryTheory.Limits.pullback.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Y Z g g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Z g g))) Y Z (CategoryTheory.Limits.pullback.snd.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Y Z g g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Z g g))) g)))) g (Eq.trans.{succ u2} (Quiver.Hom.{succ u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1)) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) (CategoryTheory.Functor.obj.{u2, u2, u2, u1} (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Comma.right.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z (CategoryTheory.Limits.pullback.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Y Z g g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Z g g))) (CategoryTheory.CategoryStruct.comp.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1) (CategoryTheory.Limits.pullback.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Y Z g g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Z g g))) Y Z (CategoryTheory.Limits.pullback.snd.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Y Z g g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Z g g))) g))))) (CategoryTheory.CategoryStruct.comp.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z (CategoryTheory.Limits.pullback.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Y Z g g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Z g g))) (CategoryTheory.CategoryStruct.comp.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1) (CategoryTheory.Limits.pullback.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Y Z g g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Z g g))) Y Z (CategoryTheory.Limits.pullback.snd.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Y Z g g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Z g g))) g))) (CategoryTheory.Functor.obj.{u2, u2, u2, u1} (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Comma.right.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z (CategoryTheory.Limits.pullback.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Y Z g g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Z g g))) (CategoryTheory.CategoryStruct.comp.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1) (CategoryTheory.Limits.pullback.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Y Z g g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Z g g))) Y Z (CategoryTheory.Limits.pullback.snd.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Y Z g g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Z g g))) g)))) (CategoryTheory.Limits.pullback.diagonal.{u1, u2} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Z g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Z g g))) (CategoryTheory.Comma.hom.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z (CategoryTheory.Limits.pullback.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Y Z g g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Z g g))) (CategoryTheory.CategoryStruct.comp.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1) (CategoryTheory.Limits.pullback.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Y Z g g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Z g g))) Y Z (CategoryTheory.Limits.pullback.snd.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Y Z g g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Z g g))) g)))) (CategoryTheory.CategoryStruct.comp.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z (CategoryTheory.Limits.pullback.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Y Z g g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Z g g))) (CategoryTheory.CategoryStruct.comp.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1) (CategoryTheory.Limits.pullback.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Y Z g g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Z g g))) Y Z (CategoryTheory.Limits.pullback.snd.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Y Z g g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Z g g))) g))) (CategoryTheory.Functor.obj.{u2, u2, u2, u1} (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Comma.right.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z (CategoryTheory.Limits.pullback.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Y Z g g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Z g g))) (CategoryTheory.CategoryStruct.comp.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1) (CategoryTheory.Limits.pullback.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Y Z g g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Z g g))) Y Z (CategoryTheory.Limits.pullback.snd.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Y Z g g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Z g g))) g)))) (CategoryTheory.Limits.pullback.diagonal.{u1, u2} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Z g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Z g g))) (CategoryTheory.CategoryStruct.comp.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1) (CategoryTheory.Limits.pullback.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Y Z g g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Z g g))) Y Z (CategoryTheory.Limits.pullback.snd.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Y Z g g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Z g g))) g)) g ((fun (ᾰ : Quiver.Hom.{succ u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1)) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z (CategoryTheory.Limits.pullback.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Y Z g g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Z g g))) (CategoryTheory.CategoryStruct.comp.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1) (CategoryTheory.Limits.pullback.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Y Z g g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Z g g))) Y Z (CategoryTheory.Limits.pullback.snd.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Y Z g g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Z g g))) g)))) (ᾰ_1 : Quiver.Hom.{succ u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1)) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z (CategoryTheory.Limits.pullback.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Y Z g g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Z g g))) (CategoryTheory.CategoryStruct.comp.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1) (CategoryTheory.Limits.pullback.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Y Z g g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Z g g))) Y Z (CategoryTheory.Limits.pullback.snd.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Y Z g g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Z g g))) g)))) (e_1 : Eq.{succ u2} (Quiver.Hom.{succ u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1)) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z (CategoryTheory.Limits.pullback.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Y Z g g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Z g g))) (CategoryTheory.CategoryStruct.comp.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1) (CategoryTheory.Limits.pullback.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Y Z g g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Z g g))) Y Z (CategoryTheory.Limits.pullback.snd.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Y Z g g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Z g g))) g)))) ᾰ ᾰ_1) (ᾰ_2 : Quiver.Hom.{succ u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1)) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z (CategoryTheory.Limits.pullback.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Y Z g g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Z g g))) (CategoryTheory.CategoryStruct.comp.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1) (CategoryTheory.Limits.pullback.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Y Z g g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Z g g))) Y Z (CategoryTheory.Limits.pullback.snd.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Y Z g g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Z g g))) g))) (CategoryTheory.Functor.obj.{u2, u2, u2, u1} (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Comma.right.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z (CategoryTheory.Limits.pullback.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Y Z g g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Z g g))) (CategoryTheory.CategoryStruct.comp.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1) (CategoryTheory.Limits.pullback.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Y Z g g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Z g g))) Y Z (CategoryTheory.Limits.pullback.snd.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Y Z g g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Z g g))) g))))) (ᾰ_3 : Quiver.Hom.{succ u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1)) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z (CategoryTheory.Limits.pullback.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Y Z g g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Z g g))) (CategoryTheory.CategoryStruct.comp.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1) (CategoryTheory.Limits.pullback.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Y Z g g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Z g g))) Y Z (CategoryTheory.Limits.pullback.snd.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Y Z g g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Z g g))) g))) (CategoryTheory.Functor.obj.{u2, u2, u2, u1} (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Comma.right.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z (CategoryTheory.Limits.pullback.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Y Z g g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Z g g))) (CategoryTheory.CategoryStruct.comp.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1) (CategoryTheory.Limits.pullback.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Y Z g g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Z g g))) Y Z (CategoryTheory.Limits.pullback.snd.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Y Z g g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Z g g))) g))))) (e_2 : Eq.{succ u2} (Quiver.Hom.{succ u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1)) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z (CategoryTheory.Limits.pullback.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Y Z g g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Z g g))) (CategoryTheory.CategoryStruct.comp.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1) (CategoryTheory.Limits.pullback.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Y Z g g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Z g g))) Y Z (CategoryTheory.Limits.pullback.snd.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Y Z g g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Z g g))) g))) (CategoryTheory.Functor.obj.{u2, u2, u2, u1} (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Comma.right.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z (CategoryTheory.Limits.pullback.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Y Z g g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Z g g))) (CategoryTheory.CategoryStruct.comp.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1) (CategoryTheory.Limits.pullback.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Y Z g g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Z g g))) Y Z (CategoryTheory.Limits.pullback.snd.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Y Z g g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Z g g))) g))))) ᾰ_2 ᾰ_3) => congr.{succ u2, succ u2} (Quiver.Hom.{succ u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1)) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z (CategoryTheory.Limits.pullback.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Y Z g g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Z g g))) (CategoryTheory.CategoryStruct.comp.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1) (CategoryTheory.Limits.pullback.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Y Z g g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Z g g))) Y Z (CategoryTheory.Limits.pullback.snd.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Y Z g g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Z g g))) g))) (CategoryTheory.Functor.obj.{u2, u2, u2, u1} (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Comma.right.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z (CategoryTheory.Limits.pullback.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Y Z g g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Z g g))) (CategoryTheory.CategoryStruct.comp.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1) (CategoryTheory.Limits.pullback.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Y Z g g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Z g g))) Y Z (CategoryTheory.Limits.pullback.snd.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Y Z g g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Z g g))) g))))) (Quiver.Hom.{succ u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1)) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) (CategoryTheory.Functor.obj.{u2, u2, u2, u1} (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Comma.right.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z (CategoryTheory.Limits.pullback.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Y Z g g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Z g g))) (CategoryTheory.CategoryStruct.comp.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1) (CategoryTheory.Limits.pullback.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Y Z g g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Z g g))) Y Z (CategoryTheory.Limits.pullback.snd.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Y Z g g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Z g g))) g))))) (CategoryTheory.CategoryStruct.comp.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z (CategoryTheory.Limits.pullback.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Y Z g g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Z g g))) (CategoryTheory.CategoryStruct.comp.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1) (CategoryTheory.Limits.pullback.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Y Z g g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Z g g))) Y Z (CategoryTheory.Limits.pullback.snd.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Y Z g g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Z g g))) g))) (CategoryTheory.Functor.obj.{u2, u2, u2, u1} (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Comma.right.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z (CategoryTheory.Limits.pullback.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Y Z g g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Z g g))) (CategoryTheory.CategoryStruct.comp.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1) (CategoryTheory.Limits.pullback.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Y Z g g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Z g g))) Y Z (CategoryTheory.Limits.pullback.snd.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Y Z g g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Z g g))) g)))) ᾰ) (CategoryTheory.CategoryStruct.comp.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z (CategoryTheory.Limits.pullback.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Y Z g g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Z g g))) (CategoryTheory.CategoryStruct.comp.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1) (CategoryTheory.Limits.pullback.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Y Z g g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Z g g))) Y Z (CategoryTheory.Limits.pullback.snd.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Y Z g g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Z g g))) g))) (CategoryTheory.Functor.obj.{u2, u2, u2, u1} (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Comma.right.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z (CategoryTheory.Limits.pullback.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Y Z g g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Z g g))) (CategoryTheory.CategoryStruct.comp.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1) (CategoryTheory.Limits.pullback.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Y Z g g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Z g g))) Y Z (CategoryTheory.Limits.pullback.snd.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Y Z g g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Z g g))) g)))) ᾰ_1) ᾰ_2 ᾰ_3 (congr_arg.{succ u2, succ u2} (Quiver.Hom.{succ u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1)) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z (CategoryTheory.Limits.pullback.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Y Z g g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Z g g))) (CategoryTheory.CategoryStruct.comp.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1) (CategoryTheory.Limits.pullback.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Y Z g g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Z g g))) Y Z (CategoryTheory.Limits.pullback.snd.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Y Z g g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Z g g))) g)))) ((Quiver.Hom.{succ u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1)) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z (CategoryTheory.Limits.pullback.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Y Z g g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Z g g))) (CategoryTheory.CategoryStruct.comp.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1) (CategoryTheory.Limits.pullback.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Y Z g g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Z g g))) Y Z (CategoryTheory.Limits.pullback.snd.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Y Z g g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Z g g))) g))) (CategoryTheory.Functor.obj.{u2, u2, u2, u1} (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Comma.right.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z (CategoryTheory.Limits.pullback.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Y Z g g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Z g g))) (CategoryTheory.CategoryStruct.comp.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1) (CategoryTheory.Limits.pullback.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Y Z g g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Z g g))) Y Z (CategoryTheory.Limits.pullback.snd.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Y Z g g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Z g g))) g))))) -> (Quiver.Hom.{succ u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1)) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) (CategoryTheory.Functor.obj.{u2, u2, u2, u1} (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Comma.right.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z (CategoryTheory.Limits.pullback.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Y Z g g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Z g g))) (CategoryTheory.CategoryStruct.comp.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1) (CategoryTheory.Limits.pullback.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Y Z g g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Z g g))) Y Z (CategoryTheory.Limits.pullback.snd.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Y Z g g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Z g g))) g)))))) ᾰ ᾰ_1 (CategoryTheory.CategoryStruct.comp.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z (CategoryTheory.Limits.pullback.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Y Z g g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Z g g))) (CategoryTheory.CategoryStruct.comp.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1) (CategoryTheory.Limits.pullback.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Y Z g g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Z g g))) Y Z (CategoryTheory.Limits.pullback.snd.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Y Z g g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Z g g))) g))) (CategoryTheory.Functor.obj.{u2, u2, u2, u1} (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Comma.right.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z (CategoryTheory.Limits.pullback.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Y Z g g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Z g g))) (CategoryTheory.CategoryStruct.comp.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1) (CategoryTheory.Limits.pullback.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Y Z g g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Z g g))) Y Z (CategoryTheory.Limits.pullback.snd.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Y Z g g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Z g g))) g))))) e_1) e_2) (CategoryTheory.Limits.pullback.diagonal.{u1, u2} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Z g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Z g g))) (CategoryTheory.Limits.pullback.diagonal.{u1, u2} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Z g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Z g g))) (rfl.{succ u2} (Quiver.Hom.{succ u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1)) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) (CategoryTheory.Limits.pullback.diagonalObj.{u1, u2} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Z g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Z g g)))) (CategoryTheory.Limits.pullback.diagonal.{u1, u2} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Z g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Z g g)))) (CategoryTheory.Comma.hom.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z (CategoryTheory.Limits.pullback.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Y Z g g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Z g g))) (CategoryTheory.CategoryStruct.comp.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1) (CategoryTheory.Limits.pullback.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Y Z g g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Z g g))) Y Z (CategoryTheory.Limits.pullback.snd.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Y Z g g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Z g g))) g))) (CategoryTheory.CategoryStruct.comp.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1) (CategoryTheory.Limits.pullback.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Y Z g g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Z g g))) Y Z (CategoryTheory.Limits.pullback.snd.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Y Z g g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Z g g))) g) (CategoryTheory.Over.mk_hom.{u2, u1} C _inst_1 Z (CategoryTheory.Limits.pullback.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Y Z g g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Z g g))) (CategoryTheory.CategoryStruct.comp.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1) (CategoryTheory.Limits.pullback.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Y Z g g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Z g g))) Y Z (CategoryTheory.Limits.pullback.snd.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Y Z g g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Z g g))) g))) (CategoryTheory.Limits.pullback.diagonal_snd_assoc.{u1, u2} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Z g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Z g g)) (CategoryTheory.Functor.obj.{u2, u2, u2, u1} (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Comma.right.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z (CategoryTheory.Limits.pullback.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Y Z g g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Z g g))) (CategoryTheory.CategoryStruct.comp.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1) (CategoryTheory.Limits.pullback.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Y Z g g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Z g g))) Y Z (CategoryTheory.Limits.pullback.snd.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Y Z g g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Z g g))) g)))) g)) (CategoryTheory.Comma.hom.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) g (CategoryTheory.Over.mk_hom.{u2, u1} C _inst_1 Z Y g)) (propext (Eq.{succ u2} (Quiver.Hom.{succ u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1)) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) (CategoryTheory.Functor.obj.{u2, u2, u2, u1} (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Comma.right.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z (CategoryTheory.Limits.pullback.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Y Z g g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Z g g))) (CategoryTheory.CategoryStruct.comp.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1) (CategoryTheory.Limits.pullback.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Y Z g g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Z g g))) Y Z (CategoryTheory.Limits.pullback.snd.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Y Z g g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Z g g))) g))))) g g) True (eq_self_iff_true.{succ u2} (Quiver.Hom.{succ u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1)) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) (CategoryTheory.Functor.obj.{u2, u2, u2, u1} (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Comma.right.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z (CategoryTheory.Limits.pullback.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Y Z g g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Z g g))) (CategoryTheory.CategoryStruct.comp.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1) (CategoryTheory.Limits.pullback.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Y Z g g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Z g g))) Y Z (CategoryTheory.Limits.pullback.snd.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Y Z g g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Z g g))) g))))) g))) (Name.mk_string (String.str (String.str (String.str (String.str (String.str (String.str (String.str (String.str (String.str String.empty (Char.ofNat (OfNat.ofNat.{0} Nat 111 (OfNat.mk.{0} Nat 111 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (bit1.{0} Nat Nat.hasOne Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))))))) (Char.ofNat (OfNat.ofNat.{0} Nat 98 (OfNat.mk.{0} Nat 98 (bit0.{0} Nat Nat.hasAdd (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (bit1.{0} Nat Nat.hasOne Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))))))) (Char.ofNat (OfNat.ofNat.{0} Nat 118 (OfNat.mk.{0} Nat 118 (bit0.{0} Nat Nat.hasAdd (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit1.{0} Nat Nat.hasOne Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))))))) (Char.ofNat (OfNat.ofNat.{0} Nat 105 (OfNat.mk.{0} Nat 105 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (bit1.{0} Nat Nat.hasOne Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))))))) (Char.ofNat (OfNat.ofNat.{0} Nat 111 (OfNat.mk.{0} Nat 111 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (bit1.{0} Nat Nat.hasOne Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))))))) (Char.ofNat (OfNat.ofNat.{0} Nat 117 (OfNat.mk.{0} Nat 117 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit1.{0} Nat Nat.hasOne Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))))))) (Char.ofNat (OfNat.ofNat.{0} Nat 115 (OfNat.mk.{0} Nat 115 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit1.{0} Nat Nat.hasOne Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))))))) (Char.ofNat (OfNat.ofNat.{0} Nat 108 (OfNat.mk.{0} Nat 108 (bit0.{0} Nat Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (bit1.{0} Nat Nat.hasOne Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))))))) (Char.ofNat (OfNat.ofNat.{0} Nat 121 (OfNat.mk.{0} Nat 121 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit1.{0} Nat Nat.hasOne Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))))))) Name.anonymous) (Name.mk_string (String.str (String.str (String.str (String.str (String.str (String.str (String.str (String.str (String.str String.empty (Char.ofNat (OfNat.ofNat.{0} Nat 111 (OfNat.mk.{0} Nat 111 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (bit1.{0} Nat Nat.hasOne Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))))))) (Char.ofNat (OfNat.ofNat.{0} Nat 98 (OfNat.mk.{0} Nat 98 (bit0.{0} Nat Nat.hasAdd (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (bit1.{0} Nat Nat.hasOne Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))))))) (Char.ofNat (OfNat.ofNat.{0} Nat 118 (OfNat.mk.{0} Nat 118 (bit0.{0} Nat Nat.hasAdd (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit1.{0} Nat Nat.hasOne Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))))))) (Char.ofNat (OfNat.ofNat.{0} Nat 105 (OfNat.mk.{0} Nat 105 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (bit1.{0} Nat Nat.hasOne Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))))))) (Char.ofNat (OfNat.ofNat.{0} Nat 111 (OfNat.mk.{0} Nat 111 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (bit1.{0} Nat Nat.hasOne Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))))))) (Char.ofNat (OfNat.ofNat.{0} Nat 117 (OfNat.mk.{0} Nat 117 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit1.{0} Nat Nat.hasOne Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))))))) (Char.ofNat (OfNat.ofNat.{0} Nat 115 (OfNat.mk.{0} Nat 115 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit1.{0} Nat Nat.hasOne Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))))))) (Char.ofNat (OfNat.ofNat.{0} Nat 108 (OfNat.mk.{0} Nat 108 (bit0.{0} Nat Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (bit1.{0} Nat Nat.hasOne Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))))))) (Char.ofNat (OfNat.ofNat.{0} Nat 121 (OfNat.mk.{0} Nat 121 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit1.{0} Nat Nat.hasOne Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))))))) Name.anonymous) (rfl.{1} Name (Name.mk_string (String.str (String.str (String.str (String.str (String.str (String.str (String.str (String.str (String.str String.empty (Char.ofNat (OfNat.ofNat.{0} Nat 111 (OfNat.mk.{0} Nat 111 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (bit1.{0} Nat Nat.hasOne Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))))))) (Char.ofNat (OfNat.ofNat.{0} Nat 98 (OfNat.mk.{0} Nat 98 (bit0.{0} Nat Nat.hasAdd (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (bit1.{0} Nat Nat.hasOne Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))))))) (Char.ofNat (OfNat.ofNat.{0} Nat 118 (OfNat.mk.{0} Nat 118 (bit0.{0} Nat Nat.hasAdd (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit1.{0} Nat Nat.hasOne Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))))))) (Char.ofNat (OfNat.ofNat.{0} Nat 105 (OfNat.mk.{0} Nat 105 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (bit1.{0} Nat Nat.hasOne Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))))))) (Char.ofNat (OfNat.ofNat.{0} Nat 111 (OfNat.mk.{0} Nat 111 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (bit1.{0} Nat Nat.hasOne Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))))))) (Char.ofNat (OfNat.ofNat.{0} Nat 117 (OfNat.mk.{0} Nat 117 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit1.{0} Nat Nat.hasOne Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))))))) (Char.ofNat (OfNat.ofNat.{0} Nat 115 (OfNat.mk.{0} Nat 115 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit1.{0} Nat Nat.hasOne Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))))))) (Char.ofNat (OfNat.ofNat.{0} Nat 108 (OfNat.mk.{0} Nat 108 (bit0.{0} Nat Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (bit1.{0} Nat Nat.hasOne Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))))))) (Char.ofNat (OfNat.ofNat.{0} Nat 121 (OfNat.mk.{0} Nat 121 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit1.{0} Nat Nat.hasOne Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))))))) Name.anonymous))) (autoParamₓ_eq.{0} True (Name.mk_string (String.str (String.str (String.str (String.str (String.str (String.str (String.str (String.str (String.str String.empty (Char.ofNat (OfNat.ofNat.{0} Nat 111 (OfNat.mk.{0} Nat 111 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (bit1.{0} Nat Nat.hasOne Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))))))) (Char.ofNat (OfNat.ofNat.{0} Nat 98 (OfNat.mk.{0} Nat 98 (bit0.{0} Nat Nat.hasAdd (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (bit1.{0} Nat Nat.hasOne Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))))))) (Char.ofNat (OfNat.ofNat.{0} Nat 118 (OfNat.mk.{0} Nat 118 (bit0.{0} Nat Nat.hasAdd (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit1.{0} Nat Nat.hasOne Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))))))) (Char.ofNat (OfNat.ofNat.{0} Nat 105 (OfNat.mk.{0} Nat 105 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (bit1.{0} Nat Nat.hasOne Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))))))) (Char.ofNat (OfNat.ofNat.{0} Nat 111 (OfNat.mk.{0} Nat 111 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (bit1.{0} Nat Nat.hasOne Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))))))) (Char.ofNat (OfNat.ofNat.{0} Nat 117 (OfNat.mk.{0} Nat 117 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit1.{0} Nat Nat.hasOne Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))))))) (Char.ofNat (OfNat.ofNat.{0} Nat 115 (OfNat.mk.{0} Nat 115 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit1.{0} Nat Nat.hasOne Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))))))) (Char.ofNat (OfNat.ofNat.{0} Nat 108 (OfNat.mk.{0} Nat 108 (bit0.{0} Nat Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (bit1.{0} Nat Nat.hasOne Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))))))) (Char.ofNat (OfNat.ofNat.{0} Nat 121 (OfNat.mk.{0} Nat 121 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit1.{0} Nat Nat.hasOne Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))))))) Name.anonymous)))) trivial)))) (CategoryTheory.Iso.inv.{u2, u1} C _inst_1 (CategoryTheory.Limits.pullback.diagonalObj.{u1, u2} C _inst_1 (CategoryTheory.Limits.pullback.{u2, u1} C _inst_1 X Y Z f g (CategoryTheory.Limits.diagonalObjPullbackFstIso._proof_1.{u1, u2} C _inst_1 _inst_2 X Y Z f g)) X (CategoryTheory.Limits.pullback.fst.{u2, u1} C _inst_1 X Y Z f g (CategoryTheory.Limits.diagonalObjPullbackFstIso._proof_2.{u1, u2} C _inst_1 _inst_2 X Y Z f g)) (CategoryTheory.Limits.diagonalObjPullbackFstIso._proof_3.{u1, u2} C _inst_1 _inst_2 X Y Z f g)) (CategoryTheory.Limits.pullback.{u2, u1} C _inst_1 (CategoryTheory.Limits.pullback.diagonalObj.{u1, u2} C _inst_1 Y Z g (CategoryTheory.Limits.diagonalObjPullbackFstIso._proof_4.{u1, u2} C _inst_1 _inst_2 Y Z g)) X Z (CategoryTheory.CategoryStruct.comp.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1) (CategoryTheory.Limits.pullback.diagonalObj.{u1, u2} C _inst_1 Y Z g (CategoryTheory.Limits.diagonalObjPullbackFstIso._proof_4.{u1, u2} C _inst_1 _inst_2 Y Z g)) Y Z (CategoryTheory.Limits.pullback.snd.{u2, u1} C _inst_1 Y Y Z g g (CategoryTheory.Limits.diagonalObjPullbackFstIso._proof_5.{u1, u2} C _inst_1 _inst_2 Y Z g)) g) f (CategoryTheory.Limits.diagonalObjPullbackFstIso._proof_6.{u1, u2} C _inst_1 _inst_2 X Y Z f g)) (CategoryTheory.Limits.diagonalObjPullbackFstIso.{u1, u2} C _inst_1 _inst_2 X Y Z f g))))
-but is expected to have type
- forall {C : Type.{u1}} [_inst_1 : CategoryTheory.Category.{u2, u1} C] [_inst_2 : CategoryTheory.Limits.HasPullbacks.{u2, u1} C _inst_1] {X : C} {Y : C} {Z : C} (f : Quiver.Hom.{succ u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1)) X Z) (g : Quiver.Hom.{succ u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1)) Y Z), 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.pullback.{u2, u1} C _inst_1 X Y Z f g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 X Y Z f g))) (CategoryTheory.Limits.pullback.diagonalObj.{u1, u2} C _inst_1 (CategoryTheory.Limits.pullback.{u2, u1} C _inst_1 X Y Z f g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 X Y Z f g))) X (CategoryTheory.Limits.pullback.fst.{u2, u1} C _inst_1 X Y Z f g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 X Y Z f g))) (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 (CategoryTheory.Limits.pullback.{u2, u1} C _inst_1 X Y Z f g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 X Y Z f g))) (CategoryTheory.Limits.pullback.{u2, u1} C _inst_1 X Y Z f g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 X Y Z f g))) X (CategoryTheory.Limits.pullback.fst.{u2, u1} C _inst_1 X Y Z f g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 X Y Z f g))) (CategoryTheory.Limits.pullback.fst.{u2, u1} C _inst_1 X Y Z f g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 X Y Z f g))))))) (CategoryTheory.Limits.pullback.diagonal.{u1, u2} C _inst_1 (CategoryTheory.Limits.pullback.{u2, u1} C _inst_1 X Y Z f g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 X Y Z f g))) X (CategoryTheory.Limits.pullback.fst.{u2, u1} C _inst_1 X Y Z f g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 X Y Z f g))) (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 (CategoryTheory.Limits.pullback.{u2, u1} C _inst_1 X Y Z f g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 X Y Z f g))) (CategoryTheory.Limits.pullback.{u2, u1} C _inst_1 X Y Z f g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 X Y Z f g))) X (CategoryTheory.Limits.pullback.fst.{u2, u1} C _inst_1 X Y Z f g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 X Y Z f g))) (CategoryTheory.Limits.pullback.fst.{u2, u1} C _inst_1 X Y Z f g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 X Y Z f g)))))) (CategoryTheory.CategoryStruct.comp.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1) (CategoryTheory.Limits.pullback.{u2, u1} C _inst_1 X (Prefunctor.obj.{succ u2, succ u2, u1, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1)) C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u2, u2, u1, u1} C _inst_1 C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1)) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g))) (Prefunctor.obj.{succ u2, succ u2, u2, u1} (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.CategoryStruct.toQuiver.{u2, u2} (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.Category.toCategoryStruct.{u2, u2} (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}))) C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u2, u2, u2, u1} (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z)) (CategoryTheory.Comma.right.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g))) f (CategoryTheory.Comma.hom.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 X (Prefunctor.obj.{succ u2, succ u2, u1, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1)) C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u2, u2, u1, u1} C _inst_1 C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1)) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g))) (Prefunctor.obj.{succ u2, succ u2, u2, u1} (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.CategoryStruct.toQuiver.{u2, u2} (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.Category.toCategoryStruct.{u2, u2} (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}))) C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u2, u2, u2, u1} (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z)) (CategoryTheory.Comma.right.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g))) f (CategoryTheory.Comma.hom.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g))))) (CategoryTheory.Limits.pullback.{u2, u1} C _inst_1 (Prefunctor.obj.{succ u2, succ u2, u1, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1)) C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u2, u2, u1, u1} C _inst_1 C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1)) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g))) X (Prefunctor.obj.{succ u2, succ u2, u2, u1} (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.CategoryStruct.toQuiver.{u2, u2} (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.Category.toCategoryStruct.{u2, u2} (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}))) C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u2, u2, u2, u1} (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z)) (CategoryTheory.Comma.right.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g))) (CategoryTheory.Comma.hom.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) f (CategoryTheory.Limits.hasPullback_symmetry.{u2, u1} C _inst_1 X (Prefunctor.obj.{succ u2, succ u2, u1, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1)) C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u2, u2, u1, u1} C _inst_1 C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1)) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g))) (Prefunctor.obj.{succ u2, succ u2, u2, u1} (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.CategoryStruct.toQuiver.{u2, u2} (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.Category.toCategoryStruct.{u2, u2} (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}))) C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u2, u2, u2, u1} (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z)) (CategoryTheory.Comma.right.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g))) f (CategoryTheory.Comma.hom.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 X (Prefunctor.obj.{succ u2, succ u2, u1, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1)) C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u2, u2, u1, u1} C _inst_1 C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1)) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g))) (Prefunctor.obj.{succ u2, succ u2, u2, u1} (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.CategoryStruct.toQuiver.{u2, u2} (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.Category.toCategoryStruct.{u2, u2} (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}))) C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u2, u2, u2, u1} (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z)) (CategoryTheory.Comma.right.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g))) f (CategoryTheory.Comma.hom.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)))))) (CategoryTheory.Limits.pullback.diagonalObj.{u1, u2} C _inst_1 (CategoryTheory.Limits.pullback.{u2, u1} C _inst_1 X Y Z f g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 X Y Z f g))) X (CategoryTheory.Limits.pullback.fst.{u2, u1} C _inst_1 X Y Z f g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 X Y Z f g))) (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 (CategoryTheory.Limits.pullback.{u2, u1} C _inst_1 X Y Z f g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 X Y Z f g))) (CategoryTheory.Limits.pullback.{u2, u1} C _inst_1 X Y Z f g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 X Y Z f g))) X (CategoryTheory.Limits.pullback.fst.{u2, u1} C _inst_1 X Y Z f g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 X Y Z f g))) (CategoryTheory.Limits.pullback.fst.{u2, u1} C _inst_1 X Y Z f g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 X Y Z f g)))))) (CategoryTheory.Iso.hom.{u2, u1} C _inst_1 (CategoryTheory.Limits.pullback.{u2, u1} C _inst_1 X (Prefunctor.obj.{succ u2, succ u2, u1, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1)) C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u2, u2, u1, u1} C _inst_1 C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1)) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g))) (Prefunctor.obj.{succ u2, succ u2, u2, u1} (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.CategoryStruct.toQuiver.{u2, u2} (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.Category.toCategoryStruct.{u2, u2} (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}))) C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u2, u2, u2, u1} (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z)) (CategoryTheory.Comma.right.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g))) f (CategoryTheory.Comma.hom.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 X (Prefunctor.obj.{succ u2, succ u2, u1, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1)) C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u2, u2, u1, u1} C _inst_1 C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1)) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g))) (Prefunctor.obj.{succ u2, succ u2, u2, u1} (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.CategoryStruct.toQuiver.{u2, u2} (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.Category.toCategoryStruct.{u2, u2} (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}))) C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u2, u2, u2, u1} (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z)) (CategoryTheory.Comma.right.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g))) f (CategoryTheory.Comma.hom.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g))))) (CategoryTheory.Limits.pullback.{u2, u1} C _inst_1 (Prefunctor.obj.{succ u2, succ u2, u1, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1)) C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u2, u2, u1, u1} C _inst_1 C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1)) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g))) X (Prefunctor.obj.{succ u2, succ u2, u2, u1} (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.CategoryStruct.toQuiver.{u2, u2} (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.Category.toCategoryStruct.{u2, u2} (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}))) C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u2, u2, u2, u1} (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z)) (CategoryTheory.Comma.right.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g))) (CategoryTheory.Comma.hom.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) f (CategoryTheory.Limits.hasPullback_symmetry.{u2, u1} C _inst_1 X (Prefunctor.obj.{succ u2, succ u2, u1, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1)) C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u2, u2, u1, u1} C _inst_1 C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1)) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g))) (Prefunctor.obj.{succ u2, succ u2, u2, u1} (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.CategoryStruct.toQuiver.{u2, u2} (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.Category.toCategoryStruct.{u2, u2} (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}))) C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u2, u2, u2, u1} (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z)) (CategoryTheory.Comma.right.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g))) f (CategoryTheory.Comma.hom.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 X (Prefunctor.obj.{succ u2, succ u2, u1, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1)) C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u2, u2, u1, u1} C _inst_1 C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1)) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g))) (Prefunctor.obj.{succ u2, succ u2, u2, u1} (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.CategoryStruct.toQuiver.{u2, u2} (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.Category.toCategoryStruct.{u2, u2} (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}))) C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u2, u2, u2, u1} (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z)) (CategoryTheory.Comma.right.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g))) f (CategoryTheory.Comma.hom.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)))))) (CategoryTheory.Limits.pullbackSymmetry.{u2, u1} C _inst_1 X (Prefunctor.obj.{succ u2, succ u2, u1, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1)) C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u2, u2, u1, u1} C _inst_1 C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1)) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g))) (Prefunctor.obj.{succ u2, succ u2, u2, u1} (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.CategoryStruct.toQuiver.{u2, u2} (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.Category.toCategoryStruct.{u2, u2} (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}))) C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u2, u2, u2, u1} (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z)) (CategoryTheory.Comma.right.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g))) f (CategoryTheory.Comma.hom.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 X (Prefunctor.obj.{succ u2, succ u2, u1, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1)) C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u2, u2, u1, u1} C _inst_1 C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1)) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g))) (Prefunctor.obj.{succ u2, succ u2, u2, u1} (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.CategoryStruct.toQuiver.{u2, u2} (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.Category.toCategoryStruct.{u2, u2} (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}))) C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u2, u2, u2, u1} (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z)) (CategoryTheory.Comma.right.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g))) f (CategoryTheory.Comma.hom.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)))))) (CategoryTheory.CategoryStruct.comp.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1) (CategoryTheory.Limits.pullback.{u2, u1} C _inst_1 (Prefunctor.obj.{succ u2, succ u2, u1, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1)) C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u2, u2, u1, u1} C _inst_1 C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1)) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g))) X (Prefunctor.obj.{succ u2, succ u2, u2, u1} (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.CategoryStruct.toQuiver.{u2, u2} (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.Category.toCategoryStruct.{u2, u2} (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}))) C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u2, u2, u2, u1} (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z)) (CategoryTheory.Comma.right.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g))) (CategoryTheory.Comma.hom.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) f (CategoryTheory.Limits.hasPullback_symmetry.{u2, u1} C _inst_1 X (Prefunctor.obj.{succ u2, succ u2, u1, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1)) C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u2, u2, u1, u1} C _inst_1 C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1)) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g))) (Prefunctor.obj.{succ u2, succ u2, u2, u1} (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.CategoryStruct.toQuiver.{u2, u2} (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.Category.toCategoryStruct.{u2, u2} (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}))) C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u2, u2, u2, u1} (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z)) (CategoryTheory.Comma.right.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g))) f (CategoryTheory.Comma.hom.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 X (Prefunctor.obj.{succ u2, succ u2, u1, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1)) C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u2, u2, u1, u1} C _inst_1 C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1)) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g))) (Prefunctor.obj.{succ u2, succ u2, u2, u1} (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.CategoryStruct.toQuiver.{u2, u2} (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.Category.toCategoryStruct.{u2, u2} (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}))) C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u2, u2, u2, u1} (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z)) (CategoryTheory.Comma.right.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g))) f (CategoryTheory.Comma.hom.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)))))) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 X) (Prefunctor.obj.{succ u2, succ u2, max u1 u2, max u1 u2} (CategoryTheory.Over.{u2, u1} C _inst_1 Z) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u1 u2} (CategoryTheory.Over.{u2, u1} C _inst_1 Z) (CategoryTheory.Category.toCategoryStruct.{u2, max u1 u2} (CategoryTheory.Over.{u2, u1} C _inst_1 Z) (CategoryTheory.instCategoryOver.{u2, u1} C _inst_1 Z))) (CategoryTheory.Over.{u2, u1} C _inst_1 X) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u1 u2} (CategoryTheory.Over.{u2, u1} C _inst_1 X) (CategoryTheory.Category.toCategoryStruct.{u2, max u1 u2} (CategoryTheory.Over.{u2, u1} C _inst_1 X) (CategoryTheory.instCategoryOver.{u2, u1} C _inst_1 X))) (CategoryTheory.Functor.toPrefunctor.{u2, u2, max u1 u2, max u1 u2} (CategoryTheory.Over.{u2, u1} C _inst_1 Z) (CategoryTheory.instCategoryOver.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.{u2, u1} C _inst_1 X) (CategoryTheory.instCategoryOver.{u2, u1} C _inst_1 X) (CategoryTheory.Limits.baseChange.{u2, u1} C _inst_1 _inst_2 X Z f)) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z (CategoryTheory.Limits.pullback.{u2, u1} C _inst_1 Y Y Z g g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 Y Y Z g g))) (CategoryTheory.CategoryStruct.comp.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1) (CategoryTheory.Limits.pullback.{u2, u1} C _inst_1 Y Y Z g g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 Y Y Z g g))) Y Z (CategoryTheory.Limits.pullback.snd.{u2, u1} C _inst_1 Y Y Z g g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 Y Y Z g g))) g)))) (CategoryTheory.Limits.pullback.diagonalObj.{u1, u2} C _inst_1 (CategoryTheory.Limits.pullback.{u2, u1} C _inst_1 X Y Z f g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 X Y Z f g))) X (CategoryTheory.Limits.pullback.fst.{u2, u1} C _inst_1 X Y Z f g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 X Y Z f g))) (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 (CategoryTheory.Limits.pullback.{u2, u1} C _inst_1 X Y Z f g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 X Y Z f g))) (CategoryTheory.Limits.pullback.{u2, u1} C _inst_1 X Y Z f g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 X Y Z f g))) X (CategoryTheory.Limits.pullback.fst.{u2, u1} C _inst_1 X Y Z f g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 X Y Z f g))) (CategoryTheory.Limits.pullback.fst.{u2, u1} C _inst_1 X Y Z f g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 X Y Z f g)))))) (CategoryTheory.CommaMorphism.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 X) (Prefunctor.obj.{succ u2, succ u2, max u1 u2, max u1 u2} (CategoryTheory.Over.{u2, u1} C _inst_1 Z) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u1 u2} (CategoryTheory.Over.{u2, u1} C _inst_1 Z) (CategoryTheory.Category.toCategoryStruct.{u2, max u1 u2} (CategoryTheory.Over.{u2, u1} C _inst_1 Z) (CategoryTheory.instCategoryOver.{u2, u1} C _inst_1 Z))) (CategoryTheory.Over.{u2, u1} C _inst_1 X) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u1 u2} (CategoryTheory.Over.{u2, u1} C _inst_1 X) (CategoryTheory.Category.toCategoryStruct.{u2, max u1 u2} (CategoryTheory.Over.{u2, u1} C _inst_1 X) (CategoryTheory.instCategoryOver.{u2, u1} C _inst_1 X))) (CategoryTheory.Functor.toPrefunctor.{u2, u2, max u1 u2, max u1 u2} (CategoryTheory.Over.{u2, u1} C _inst_1 Z) (CategoryTheory.instCategoryOver.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.{u2, u1} C _inst_1 X) (CategoryTheory.instCategoryOver.{u2, u1} C _inst_1 X) (CategoryTheory.Limits.baseChange.{u2, u1} C _inst_1 _inst_2 X Z f)) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) (Prefunctor.obj.{succ u2, succ u2, max u1 u2, max u1 u2} (CategoryTheory.Over.{u2, u1} C _inst_1 Z) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u1 u2} (CategoryTheory.Over.{u2, u1} C _inst_1 Z) (CategoryTheory.Category.toCategoryStruct.{u2, max u1 u2} (CategoryTheory.Over.{u2, u1} C _inst_1 Z) (CategoryTheory.instCategoryOver.{u2, u1} C _inst_1 Z))) (CategoryTheory.Over.{u2, u1} C _inst_1 X) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u1 u2} (CategoryTheory.Over.{u2, u1} C _inst_1 X) (CategoryTheory.Category.toCategoryStruct.{u2, max u1 u2} (CategoryTheory.Over.{u2, u1} C _inst_1 X) (CategoryTheory.instCategoryOver.{u2, u1} C _inst_1 X))) (CategoryTheory.Functor.toPrefunctor.{u2, u2, max u1 u2, max u1 u2} (CategoryTheory.Over.{u2, u1} C _inst_1 Z) (CategoryTheory.instCategoryOver.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.{u2, u1} C _inst_1 X) (CategoryTheory.instCategoryOver.{u2, u1} C _inst_1 X) (CategoryTheory.Limits.baseChange.{u2, u1} C _inst_1 _inst_2 X Z f)) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z (CategoryTheory.Limits.pullback.{u2, u1} C _inst_1 Y Y Z g g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 Y Y Z g g))) (CategoryTheory.CategoryStruct.comp.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1) (CategoryTheory.Limits.pullback.{u2, u1} C _inst_1 Y Y Z g g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 Y Y Z g g))) Y Z (CategoryTheory.Limits.pullback.snd.{u2, u1} C _inst_1 Y Y Z g g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 Y Y Z g g))) g))) (Prefunctor.map.{succ u2, succ u2, max u1 u2, max u1 u2} (CategoryTheory.Over.{u2, u1} C _inst_1 Z) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u1 u2} (CategoryTheory.Over.{u2, u1} C _inst_1 Z) (CategoryTheory.Category.toCategoryStruct.{u2, max u1 u2} (CategoryTheory.Over.{u2, u1} C _inst_1 Z) (CategoryTheory.instCategoryOver.{u2, u1} C _inst_1 Z))) (CategoryTheory.Over.{u2, u1} C _inst_1 X) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u1 u2} (CategoryTheory.Over.{u2, u1} C _inst_1 X) (CategoryTheory.Category.toCategoryStruct.{u2, max u1 u2} (CategoryTheory.Over.{u2, u1} C _inst_1 X) (CategoryTheory.instCategoryOver.{u2, u1} C _inst_1 X))) (CategoryTheory.Functor.toPrefunctor.{u2, u2, max u1 u2, max u1 u2} (CategoryTheory.Over.{u2, u1} C _inst_1 Z) (CategoryTheory.instCategoryOver.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.{u2, u1} C _inst_1 X) (CategoryTheory.instCategoryOver.{u2, u1} C _inst_1 X) (CategoryTheory.Limits.baseChange.{u2, u1} C _inst_1 _inst_2 X Z f)) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z (CategoryTheory.Limits.pullback.{u2, u1} C _inst_1 Y Y Z g g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 Y Y Z g g))) (CategoryTheory.CategoryStruct.comp.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1) (CategoryTheory.Limits.pullback.{u2, u1} C _inst_1 Y Y Z g g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 Y Y Z g g))) Y Z (CategoryTheory.Limits.pullback.snd.{u2, u1} C _inst_1 Y Y Z g g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 Y Y Z g g))) g)) (CategoryTheory.Over.homMk.{u2, u1} C _inst_1 Z (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z (CategoryTheory.Limits.pullback.{u2, u1} C _inst_1 Y Y Z g g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 Y Y Z g g))) (CategoryTheory.CategoryStruct.comp.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1) (CategoryTheory.Limits.pullback.{u2, u1} C _inst_1 Y Y Z g g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 Y Y Z g g))) Y Z (CategoryTheory.Limits.pullback.snd.{u2, u1} C _inst_1 Y Y Z g g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 Y Y Z g g))) g)) (CategoryTheory.Limits.pullback.diagonal.{u1, u2} C _inst_1 Y Z g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 Y Y Z g g))) (of_eq_true (Eq.{succ u2} (Quiver.Hom.{succ u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1)) Y Z) (CategoryTheory.CategoryStruct.comp.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1) Y (CategoryTheory.Limits.pullback.diagonalObj.{u1, u2} C _inst_1 Y Z g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 Y Y Z g g))) Z (CategoryTheory.Limits.pullback.diagonal.{u1, u2} C _inst_1 Y Z g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 Y Y Z g g))) (CategoryTheory.CategoryStruct.comp.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1) (CategoryTheory.Limits.pullback.diagonalObj.{u1, u2} C _inst_1 Y Z g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 Y Y Z g g))) Y Z (CategoryTheory.Limits.pullback.snd.{u2, u1} C _inst_1 Y Y Z g g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 Y Y Z g g))) g)) g) (Eq.trans.{1} Prop (Eq.{succ u2} (Quiver.Hom.{succ u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1)) Y Z) (CategoryTheory.CategoryStruct.comp.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1) Y (CategoryTheory.Limits.pullback.diagonalObj.{u1, u2} C _inst_1 Y Z g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 Y Y Z g g))) Z (CategoryTheory.Limits.pullback.diagonal.{u1, u2} C _inst_1 Y Z g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 Y Y Z g g))) (CategoryTheory.CategoryStruct.comp.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1) (CategoryTheory.Limits.pullback.diagonalObj.{u1, u2} C _inst_1 Y Z g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 Y Y Z g g))) Y Z (CategoryTheory.Limits.pullback.snd.{u2, u1} C _inst_1 Y Y Z g g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 Y Y Z g g))) g)) g) (Eq.{succ u2} (Quiver.Hom.{succ u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1)) Y Z) g g) True (congrFun.{succ u2, 1} (Quiver.Hom.{succ u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1)) Y Z) (fun (a._@.Init.Prelude._hyg.170 : Quiver.Hom.{succ u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1)) Y Z) => Prop) (Eq.{succ u2} (Quiver.Hom.{succ u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1)) Y Z) (CategoryTheory.CategoryStruct.comp.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1) Y (CategoryTheory.Limits.pullback.diagonalObj.{u1, u2} C _inst_1 Y Z g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 Y Y Z g g))) Z (CategoryTheory.Limits.pullback.diagonal.{u1, u2} C _inst_1 Y Z g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 Y Y Z g g))) (CategoryTheory.CategoryStruct.comp.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1) (CategoryTheory.Limits.pullback.diagonalObj.{u1, u2} C _inst_1 Y Z g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 Y Y Z g g))) Y Z (CategoryTheory.Limits.pullback.snd.{u2, u1} C _inst_1 Y Y Z g g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 Y Y Z g g))) g))) (Eq.{succ u2} (Quiver.Hom.{succ u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1)) Y Z) g) (congrArg.{succ u2, succ u2} (Quiver.Hom.{succ u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1)) Y Z) ((Quiver.Hom.{succ u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1)) Y Z) -> Prop) (CategoryTheory.CategoryStruct.comp.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1) Y (CategoryTheory.Limits.pullback.diagonalObj.{u1, u2} C _inst_1 Y Z g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 Y Y Z g g))) Z (CategoryTheory.Limits.pullback.diagonal.{u1, u2} C _inst_1 Y Z g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 Y Y Z g g))) (CategoryTheory.CategoryStruct.comp.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1) (CategoryTheory.Limits.pullback.diagonalObj.{u1, u2} C _inst_1 Y Z g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 Y Y Z g g))) Y Z (CategoryTheory.Limits.pullback.snd.{u2, u1} C _inst_1 Y Y Z g g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 Y Y Z g g))) g)) g (Eq.{succ u2} (Quiver.Hom.{succ u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1)) Y Z)) (CategoryTheory.Limits.pullback.diagonal_snd_assoc.{u1, u2} C _inst_1 Y Z g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 Y Y Z g g)) Z g)) g) (eq_self.{succ u2} (Quiver.Hom.{succ u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1)) Y Z) g)))))) (CategoryTheory.Iso.inv.{u2, u1} C _inst_1 (CategoryTheory.Limits.pullback.diagonalObj.{u1, u2} C _inst_1 (CategoryTheory.Limits.pullback.{u2, u1} C _inst_1 X Y Z f g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 X Y Z f g))) X (CategoryTheory.Limits.pullback.fst.{u2, u1} C _inst_1 X Y Z f g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 X Y Z f g))) (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 (CategoryTheory.Limits.pullback.{u2, u1} C _inst_1 X Y Z f g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 X Y Z f g))) (CategoryTheory.Limits.pullback.{u2, u1} C _inst_1 X Y Z f g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 X Y Z f g))) X (CategoryTheory.Limits.pullback.fst.{u2, u1} C _inst_1 X Y Z f g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 X Y Z f g))) (CategoryTheory.Limits.pullback.fst.{u2, u1} C _inst_1 X Y Z f g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 X Y Z f g)))))) (CategoryTheory.Limits.pullback.{u2, u1} C _inst_1 (CategoryTheory.Limits.pullback.diagonalObj.{u1, u2} C _inst_1 Y Z g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 Y Y Z g g))) X Z (CategoryTheory.CategoryStruct.comp.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1) (CategoryTheory.Limits.pullback.diagonalObj.{u1, u2} C _inst_1 Y Z g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 Y Y Z g g))) Y Z (CategoryTheory.Limits.pullback.snd.{u2, u1} C _inst_1 Y Y Z g g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 Y Y Z g g))) g) f (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 (CategoryTheory.Limits.pullback.diagonalObj.{u1, u2} C _inst_1 Y Z g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 Y Y Z g g))) X Z (CategoryTheory.CategoryStruct.comp.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1) (CategoryTheory.Limits.pullback.diagonalObj.{u1, u2} C _inst_1 Y Z g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 Y Y Z g g))) Y Z (CategoryTheory.Limits.pullback.snd.{u2, u1} C _inst_1 Y Y Z g g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 Y Y Z g g))) g) f))) (CategoryTheory.Limits.diagonalObjPullbackFstIso.{u1, u2} C _inst_1 _inst_2 X Y Z f g))))
+<too large>
Case conversion may be inaccurate. Consider using '#align category_theory.limits.diagonal_pullback_fst CategoryTheory.Limits.diagonal_pullback_fstₓ'. -/
theorem diagonal_pullback_fst {X Y Z : C} (f : X ⟶ Z) (g : Y ⟶ Z) :
diagonal (pullback.fst : pullback f g ⟶ _) =
mathlib commit https://github.com/leanprover-community/mathlib/commit/75e7fca56381d056096ce5d05e938f63a6567828
@@ -53,14 +53,14 @@ def diagonal : X ⟶ diagonalObj f :=
-/
#print CategoryTheory.Limits.pullback.diagonal_fst /-
-@[simp, reassoc.1]
+@[simp, reassoc]
theorem diagonal_fst : diagonal f ≫ pullback.fst = 𝟙 _ :=
pullback.lift_fst _ _ _
#align category_theory.limits.pullback.diagonal_fst CategoryTheory.Limits.pullback.diagonal_fst
-/
#print CategoryTheory.Limits.pullback.diagonal_snd /-
-@[simp, reassoc.1]
+@[simp, reassoc]
theorem diagonal_snd : diagonal f ≫ pullback.snd = 𝟙 _ :=
pullback.lift_snd _ _ _
#align category_theory.limits.pullback.diagonal_snd CategoryTheory.Limits.pullback.diagonal_snd
@@ -102,7 +102,7 @@ variable {U V₁ V₂ : C} (f : X ⟶ Y) (i : U ⟶ Y)
variable (i₁ : V₁ ⟶ pullback f i) (i₂ : V₂ ⟶ pullback f i)
#print CategoryTheory.Limits.pullback_diagonal_map_snd_fst_fst /-
-@[simp, reassoc.1]
+@[simp, reassoc]
theorem pullback_diagonal_map_snd_fst_fst :
(pullback.snd :
pullback (diagonal f)
@@ -118,7 +118,7 @@ theorem pullback_diagonal_map_snd_fst_fst :
-/
#print CategoryTheory.Limits.pullback_diagonal_map_snd_snd_fst /-
-@[simp, reassoc.1]
+@[simp, reassoc]
theorem pullback_diagonal_map_snd_snd_fst :
(pullback.snd :
pullback (diagonal f)
@@ -177,7 +177,7 @@ def pullbackDiagonalMapIso :
-/
#print CategoryTheory.Limits.pullbackDiagonalMapIso_hom_fst /-
-@[simp, reassoc.1]
+@[simp, reassoc]
theorem pullbackDiagonalMapIso_hom_fst :
(pullbackDiagonalMapIso f i i₁ i₂).Hom ≫ pullback.fst = pullback.snd ≫ pullback.fst :=
by
@@ -187,7 +187,7 @@ theorem pullbackDiagonalMapIso_hom_fst :
-/
#print CategoryTheory.Limits.pullbackDiagonalMapIso_hom_snd /-
-@[simp, reassoc.1]
+@[simp, reassoc]
theorem pullbackDiagonalMapIso_hom_snd :
(pullbackDiagonalMapIso f i i₁ i₂).Hom ≫ pullback.snd = pullback.snd ≫ pullback.snd :=
by
@@ -197,7 +197,7 @@ theorem pullbackDiagonalMapIso_hom_snd :
-/
#print CategoryTheory.Limits.pullbackDiagonalMapIso_inv_fst /-
-@[simp, reassoc.1]
+@[simp, reassoc]
theorem pullbackDiagonalMapIso_inv_fst :
(pullbackDiagonalMapIso f i i₁ i₂).inv ≫ pullback.fst = pullback.fst ≫ i₁ ≫ pullback.fst :=
by
@@ -207,7 +207,7 @@ theorem pullbackDiagonalMapIso_inv_fst :
-/
#print CategoryTheory.Limits.pullbackDiagonalMapIso_inv_snd_fst /-
-@[simp, reassoc.1]
+@[simp, reassoc]
theorem pullbackDiagonalMapIso_inv_snd_fst :
(pullbackDiagonalMapIso f i i₁ i₂).inv ≫ pullback.snd ≫ pullback.fst = pullback.fst :=
by
@@ -217,7 +217,7 @@ theorem pullbackDiagonalMapIso_inv_snd_fst :
-/
#print CategoryTheory.Limits.pullbackDiagonalMapIso_inv_snd_snd /-
-@[simp, reassoc.1]
+@[simp, reassoc]
theorem pullbackDiagonalMapIso_inv_snd_snd :
(pullbackDiagonalMapIso f i i₁ i₂).inv ≫ pullback.snd ≫ pullback.snd = pullback.snd :=
by
@@ -285,7 +285,7 @@ def pullbackDiagonalMapIdIso :
-/
#print CategoryTheory.Limits.pullbackDiagonalMapIdIso_hom_fst /-
-@[simp, reassoc.1]
+@[simp, reassoc]
theorem pullbackDiagonalMapIdIso_hom_fst :
(pullbackDiagonalMapIdIso f g i).Hom ≫ pullback.fst = pullback.snd ≫ pullback.fst :=
by
@@ -295,7 +295,7 @@ theorem pullbackDiagonalMapIdIso_hom_fst :
-/
#print CategoryTheory.Limits.pullbackDiagonalMapIdIso_hom_snd /-
-@[simp, reassoc.1]
+@[simp, reassoc]
theorem pullbackDiagonalMapIdIso_hom_snd :
(pullbackDiagonalMapIdIso f g i).Hom ≫ pullback.snd = pullback.snd ≫ pullback.snd :=
by
@@ -305,7 +305,7 @@ theorem pullbackDiagonalMapIdIso_hom_snd :
-/
#print CategoryTheory.Limits.pullbackDiagonalMapIdIso_inv_fst /-
-@[simp, reassoc.1]
+@[simp, reassoc]
theorem pullbackDiagonalMapIdIso_inv_fst :
(pullbackDiagonalMapIdIso f g i).inv ≫ pullback.fst = pullback.fst ≫ f :=
by
@@ -315,7 +315,7 @@ theorem pullbackDiagonalMapIdIso_inv_fst :
-/
#print CategoryTheory.Limits.pullbackDiagonalMapIdIso_inv_snd_fst /-
-@[simp, reassoc.1]
+@[simp, reassoc]
theorem pullbackDiagonalMapIdIso_inv_snd_fst :
(pullbackDiagonalMapIdIso f g i).inv ≫ pullback.snd ≫ pullback.fst = pullback.fst :=
by
@@ -325,7 +325,7 @@ theorem pullbackDiagonalMapIdIso_inv_snd_fst :
-/
#print CategoryTheory.Limits.pullbackDiagonalMapIdIso_inv_snd_snd /-
-@[simp, reassoc.1]
+@[simp, reassoc]
theorem pullbackDiagonalMapIdIso_inv_snd_snd :
(pullbackDiagonalMapIdIso f g i).inv ≫ pullback.snd ≫ pullback.snd = pullback.snd :=
by
@@ -369,7 +369,7 @@ def diagonalObjPullbackFstIso {X Y Z : C} (f : X ⟶ Z) (g : Y ⟶ Z) :
-/
#print CategoryTheory.Limits.diagonalObjPullbackFstIso_hom_fst_fst /-
-@[simp, reassoc.1]
+@[simp, reassoc]
theorem diagonalObjPullbackFstIso_hom_fst_fst {X Y Z : C} (f : X ⟶ Z) (g : Y ⟶ Z) :
(diagonalObjPullbackFstIso f g).Hom ≫ pullback.fst ≫ pullback.fst =
pullback.fst ≫ pullback.snd :=
@@ -380,7 +380,7 @@ theorem diagonalObjPullbackFstIso_hom_fst_fst {X Y Z : C} (f : X ⟶ Z) (g : Y
-/
#print CategoryTheory.Limits.diagonalObjPullbackFstIso_hom_fst_snd /-
-@[simp, reassoc.1]
+@[simp, reassoc]
theorem diagonalObjPullbackFstIso_hom_fst_snd {X Y Z : C} (f : X ⟶ Z) (g : Y ⟶ Z) :
(diagonalObjPullbackFstIso f g).Hom ≫ pullback.fst ≫ pullback.snd =
pullback.snd ≫ pullback.snd :=
@@ -391,7 +391,7 @@ theorem diagonalObjPullbackFstIso_hom_fst_snd {X Y Z : C} (f : X ⟶ Z) (g : Y
-/
#print CategoryTheory.Limits.diagonalObjPullbackFstIso_hom_snd /-
-@[simp, reassoc.1]
+@[simp, reassoc]
theorem diagonalObjPullbackFstIso_hom_snd {X Y Z : C} (f : X ⟶ Z) (g : Y ⟶ Z) :
(diagonalObjPullbackFstIso f g).Hom ≫ pullback.snd = pullback.fst ≫ pullback.fst :=
by
@@ -401,7 +401,7 @@ theorem diagonalObjPullbackFstIso_hom_snd {X Y Z : C} (f : X ⟶ Z) (g : Y ⟶ Z
-/
#print CategoryTheory.Limits.diagonalObjPullbackFstIso_inv_fst_fst /-
-@[simp, reassoc.1]
+@[simp, reassoc]
theorem diagonalObjPullbackFstIso_inv_fst_fst {X Y Z : C} (f : X ⟶ Z) (g : Y ⟶ Z) :
(diagonalObjPullbackFstIso f g).inv ≫ pullback.fst ≫ pullback.fst = pullback.snd :=
by
@@ -411,7 +411,7 @@ theorem diagonalObjPullbackFstIso_inv_fst_fst {X Y Z : C} (f : X ⟶ Z) (g : Y
-/
#print CategoryTheory.Limits.diagonalObjPullbackFstIso_inv_fst_snd /-
-@[simp, reassoc.1]
+@[simp, reassoc]
theorem diagonalObjPullbackFstIso_inv_fst_snd {X Y Z : C} (f : X ⟶ Z) (g : Y ⟶ Z) :
(diagonalObjPullbackFstIso f g).inv ≫ pullback.fst ≫ pullback.snd =
pullback.fst ≫ pullback.fst :=
@@ -422,7 +422,7 @@ theorem diagonalObjPullbackFstIso_inv_fst_snd {X Y Z : C} (f : X ⟶ Z) (g : Y
-/
#print CategoryTheory.Limits.diagonalObjPullbackFstIso_inv_snd_fst /-
-@[simp, reassoc.1]
+@[simp, reassoc]
theorem diagonalObjPullbackFstIso_inv_snd_fst {X Y Z : C} (f : X ⟶ Z) (g : Y ⟶ Z) :
(diagonalObjPullbackFstIso f g).inv ≫ pullback.snd ≫ pullback.fst = pullback.snd :=
by
@@ -432,7 +432,7 @@ theorem diagonalObjPullbackFstIso_inv_snd_fst {X Y Z : C} (f : X ⟶ Z) (g : Y
-/
#print CategoryTheory.Limits.diagonalObjPullbackFstIso_inv_snd_snd /-
-@[simp, reassoc.1]
+@[simp, reassoc]
theorem diagonalObjPullbackFstIso_inv_snd_snd {X Y Z : C} (f : X ⟶ Z) (g : Y ⟶ Z) :
(diagonalObjPullbackFstIso f g).inv ≫ pullback.snd ≫ pullback.snd =
pullback.fst ≫ pullback.snd :=
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: Andrew Yang
! This file was ported from Lean 3 source module category_theory.limits.shapes.diagonal
-! leanprover-community/mathlib commit f6bab67886fb92c3e2f539cc90a83815f69a189d
+! leanprover-community/mathlib commit cb3ceec8485239a61ed51d944cb9a95b68c6bafc
! Please do not edit these lines, except to modify the commit id
! if you have ported upstream changes.
-/
@@ -15,6 +15,9 @@ import Mathbin.CategoryTheory.Limits.Shapes.CommSq
/-!
# The diagonal object of a morphism.
+> THIS FILE IS SYNCHRONIZED WITH MATHLIB4.
+> Any changes to this file require a corresponding PR to mathlib4.
+
We provide various API and isomorphisms considering the diagonal object `Δ_{Y/X} := pullback f f`
of a morphism `f : X ⟶ Y`.
mathlib commit https://github.com/leanprover-community/mathlib/commit/b19481deb571022990f1baa9cbf9172e6757a479
@@ -35,25 +35,33 @@ section Diagonal
variable (f : X ⟶ Y) [HasPullback f f]
+#print CategoryTheory.Limits.pullback.diagonalObj /-
/-- The diagonal object of a morphism `f : X ⟶ Y` is `Δ_{X/Y} := pullback f f`. -/
abbrev diagonalObj : C :=
pullback f f
#align category_theory.limits.pullback.diagonal_obj CategoryTheory.Limits.pullback.diagonalObj
+-/
+#print CategoryTheory.Limits.pullback.diagonal /-
/-- The diagonal morphism `X ⟶ Δ_{X/Y}` for a morphism `f : X ⟶ Y`. -/
def diagonal : X ⟶ diagonalObj f :=
pullback.lift (𝟙 _) (𝟙 _) rfl
#align category_theory.limits.pullback.diagonal CategoryTheory.Limits.pullback.diagonal
+-/
+#print CategoryTheory.Limits.pullback.diagonal_fst /-
@[simp, reassoc.1]
theorem diagonal_fst : diagonal f ≫ pullback.fst = 𝟙 _ :=
pullback.lift_fst _ _ _
#align category_theory.limits.pullback.diagonal_fst CategoryTheory.Limits.pullback.diagonal_fst
+-/
+#print CategoryTheory.Limits.pullback.diagonal_snd /-
@[simp, reassoc.1]
theorem diagonal_snd : diagonal f ≫ pullback.snd = 𝟙 _ :=
pullback.lift_snd _ _ _
#align category_theory.limits.pullback.diagonal_snd CategoryTheory.Limits.pullback.diagonal_snd
+-/
instance : IsSplitMono (diagonal f) :=
⟨⟨⟨pullback.fst, diagonal_fst f⟩⟩⟩
@@ -69,10 +77,12 @@ instance [Mono f] : IsIso (diagonal f) :=
rw [(is_iso.inv_eq_of_inv_hom_id (diagonal_fst f)).symm]
infer_instance
+#print CategoryTheory.Limits.pullback.diagonal_isKernelPair /-
/-- The two projections `Δ_{X/Y} ⟶ X` form a kernel pair for `f : X ⟶ Y`. -/
theorem diagonal_isKernelPair : IsKernelPair f (pullback.fst : diagonalObj f ⟶ _) pullback.snd :=
IsPullback.of_hasPullback f f
#align category_theory.limits.pullback.diagonal_is_kernel_pair CategoryTheory.Limits.pullback.diagonal_isKernelPair
+-/
end Diagonal
@@ -88,6 +98,7 @@ variable {U V₁ V₂ : C} (f : X ⟶ Y) (i : U ⟶ Y)
variable (i₁ : V₁ ⟶ pullback f i) (i₂ : V₂ ⟶ pullback f i)
+#print CategoryTheory.Limits.pullback_diagonal_map_snd_fst_fst /-
@[simp, reassoc.1]
theorem pullback_diagonal_map_snd_fst_fst :
(pullback.snd :
@@ -101,7 +112,9 @@ theorem pullback_diagonal_map_snd_fst_fst :
conv_rhs => rw [← category.comp_id pullback.fst]
rw [← diagonal_fst f, pullback.condition_assoc, pullback.lift_fst]
#align category_theory.limits.pullback_diagonal_map_snd_fst_fst CategoryTheory.Limits.pullback_diagonal_map_snd_fst_fst
+-/
+#print CategoryTheory.Limits.pullback_diagonal_map_snd_snd_fst /-
@[simp, reassoc.1]
theorem pullback_diagonal_map_snd_snd_fst :
(pullback.snd :
@@ -115,9 +128,11 @@ theorem pullback_diagonal_map_snd_snd_fst :
conv_rhs => rw [← category.comp_id pullback.fst]
rw [← diagonal_snd f, pullback.condition_assoc, pullback.lift_snd]
#align category_theory.limits.pullback_diagonal_map_snd_snd_fst CategoryTheory.Limits.pullback_diagonal_map_snd_snd_fst
+-/
variable [HasPullback i₁ i₂]
+#print CategoryTheory.Limits.pullbackDiagonalMapIso /-
/-- This iso witnesses the fact that
given `f : X ⟶ Y`, `i : U ⟶ Y`, and `i₁ : V₁ ⟶ X ×[Y] U`, `i₂ : V₂ ⟶ X ×[Y] U`, the diagram
@@ -156,7 +171,9 @@ def pullbackDiagonalMapIso :
pullback_diagonal_map_snd_fst_fst, lift_fst, lift_snd, category.comp_id]
inv_hom_id' := by ext <;> simp
#align category_theory.limits.pullback_diagonal_map_iso CategoryTheory.Limits.pullbackDiagonalMapIso
+-/
+#print CategoryTheory.Limits.pullbackDiagonalMapIso_hom_fst /-
@[simp, reassoc.1]
theorem pullbackDiagonalMapIso_hom_fst :
(pullbackDiagonalMapIso f i i₁ i₂).Hom ≫ pullback.fst = pullback.snd ≫ pullback.fst :=
@@ -164,7 +181,9 @@ theorem pullbackDiagonalMapIso_hom_fst :
delta pullback_diagonal_map_iso
simp
#align category_theory.limits.pullback_diagonal_map_iso_hom_fst CategoryTheory.Limits.pullbackDiagonalMapIso_hom_fst
+-/
+#print CategoryTheory.Limits.pullbackDiagonalMapIso_hom_snd /-
@[simp, reassoc.1]
theorem pullbackDiagonalMapIso_hom_snd :
(pullbackDiagonalMapIso f i i₁ i₂).Hom ≫ pullback.snd = pullback.snd ≫ pullback.snd :=
@@ -172,7 +191,9 @@ theorem pullbackDiagonalMapIso_hom_snd :
delta pullback_diagonal_map_iso
simp
#align category_theory.limits.pullback_diagonal_map_iso_hom_snd CategoryTheory.Limits.pullbackDiagonalMapIso_hom_snd
+-/
+#print CategoryTheory.Limits.pullbackDiagonalMapIso_inv_fst /-
@[simp, reassoc.1]
theorem pullbackDiagonalMapIso_inv_fst :
(pullbackDiagonalMapIso f i i₁ i₂).inv ≫ pullback.fst = pullback.fst ≫ i₁ ≫ pullback.fst :=
@@ -180,7 +201,9 @@ theorem pullbackDiagonalMapIso_inv_fst :
delta pullback_diagonal_map_iso
simp
#align category_theory.limits.pullback_diagonal_map_iso_inv_fst CategoryTheory.Limits.pullbackDiagonalMapIso_inv_fst
+-/
+#print CategoryTheory.Limits.pullbackDiagonalMapIso_inv_snd_fst /-
@[simp, reassoc.1]
theorem pullbackDiagonalMapIso_inv_snd_fst :
(pullbackDiagonalMapIso f i i₁ i₂).inv ≫ pullback.snd ≫ pullback.fst = pullback.fst :=
@@ -188,7 +211,9 @@ theorem pullbackDiagonalMapIso_inv_snd_fst :
delta pullback_diagonal_map_iso
simp
#align category_theory.limits.pullback_diagonal_map_iso_inv_snd_fst CategoryTheory.Limits.pullbackDiagonalMapIso_inv_snd_fst
+-/
+#print CategoryTheory.Limits.pullbackDiagonalMapIso_inv_snd_snd /-
@[simp, reassoc.1]
theorem pullbackDiagonalMapIso_inv_snd_snd :
(pullbackDiagonalMapIso f i i₁ i₂).inv ≫ pullback.snd ≫ pullback.snd = pullback.snd :=
@@ -196,7 +221,9 @@ theorem pullbackDiagonalMapIso_inv_snd_snd :
delta pullback_diagonal_map_iso
simp
#align category_theory.limits.pullback_diagonal_map_iso_inv_snd_snd CategoryTheory.Limits.pullbackDiagonalMapIso_inv_snd_snd
+-/
+#print CategoryTheory.Limits.pullback_fst_map_snd_isPullback /-
theorem pullback_fst_map_snd_isPullback :
IsPullback (fst ≫ i₁ ≫ fst)
(map i₁ i₂ (i₁ ≫ snd) (i₂ ≫ snd) _ _ _ (Category.id_comp _).symm (Category.id_comp _).symm)
@@ -207,6 +234,7 @@ theorem pullback_fst_map_snd_isPullback :
(pullbackDiagonalMapIso f i i₁ i₂).symm (pullbackDiagonalMapIso_inv_fst f i i₁ i₂)
(by ext1 <;> simp)
#align category_theory.limits.pullback_fst_map_snd_is_pullback CategoryTheory.Limits.pullback_fst_map_snd_isPullback
+-/
end
@@ -220,6 +248,7 @@ variable
[HasPullback (diagonal i)
(pullback.map (f ≫ i) (g ≫ i) i i f g (𝟙 _) (Category.comp_id _) (Category.comp_id _))]
+#print CategoryTheory.Limits.pullbackDiagonalMapIdIso /-
/-- This iso witnesses the fact that
given `f : X ⟶ T`, `g : Y ⟶ T`, and `i : T ⟶ S`, the diagram
@@ -250,7 +279,9 @@ def pullbackDiagonalMapIdIso :
· rw [category.assoc, category.id_comp, is_iso.inv_hom_id, category.comp_id]
· infer_instance
#align category_theory.limits.pullback_diagonal_map_id_iso CategoryTheory.Limits.pullbackDiagonalMapIdIso
+-/
+#print CategoryTheory.Limits.pullbackDiagonalMapIdIso_hom_fst /-
@[simp, reassoc.1]
theorem pullbackDiagonalMapIdIso_hom_fst :
(pullbackDiagonalMapIdIso f g i).Hom ≫ pullback.fst = pullback.snd ≫ pullback.fst :=
@@ -258,7 +289,9 @@ theorem pullbackDiagonalMapIdIso_hom_fst :
delta pullback_diagonal_map_id_iso
simp
#align category_theory.limits.pullback_diagonal_map_id_iso_hom_fst CategoryTheory.Limits.pullbackDiagonalMapIdIso_hom_fst
+-/
+#print CategoryTheory.Limits.pullbackDiagonalMapIdIso_hom_snd /-
@[simp, reassoc.1]
theorem pullbackDiagonalMapIdIso_hom_snd :
(pullbackDiagonalMapIdIso f g i).Hom ≫ pullback.snd = pullback.snd ≫ pullback.snd :=
@@ -266,7 +299,9 @@ theorem pullbackDiagonalMapIdIso_hom_snd :
delta pullback_diagonal_map_id_iso
simp
#align category_theory.limits.pullback_diagonal_map_id_iso_hom_snd CategoryTheory.Limits.pullbackDiagonalMapIdIso_hom_snd
+-/
+#print CategoryTheory.Limits.pullbackDiagonalMapIdIso_inv_fst /-
@[simp, reassoc.1]
theorem pullbackDiagonalMapIdIso_inv_fst :
(pullbackDiagonalMapIdIso f g i).inv ≫ pullback.fst = pullback.fst ≫ f :=
@@ -274,7 +309,9 @@ theorem pullbackDiagonalMapIdIso_inv_fst :
rw [iso.inv_comp_eq, ← category.comp_id pullback.fst, ← diagonal_fst i, pullback.condition_assoc]
simp
#align category_theory.limits.pullback_diagonal_map_id_iso_inv_fst CategoryTheory.Limits.pullbackDiagonalMapIdIso_inv_fst
+-/
+#print CategoryTheory.Limits.pullbackDiagonalMapIdIso_inv_snd_fst /-
@[simp, reassoc.1]
theorem pullbackDiagonalMapIdIso_inv_snd_fst :
(pullbackDiagonalMapIdIso f g i).inv ≫ pullback.snd ≫ pullback.fst = pullback.fst :=
@@ -282,7 +319,9 @@ theorem pullbackDiagonalMapIdIso_inv_snd_fst :
rw [iso.inv_comp_eq]
simp
#align category_theory.limits.pullback_diagonal_map_id_iso_inv_snd_fst CategoryTheory.Limits.pullbackDiagonalMapIdIso_inv_snd_fst
+-/
+#print CategoryTheory.Limits.pullbackDiagonalMapIdIso_inv_snd_snd /-
@[simp, reassoc.1]
theorem pullbackDiagonalMapIdIso_inv_snd_snd :
(pullbackDiagonalMapIdIso f g i).inv ≫ pullback.snd ≫ pullback.snd = pullback.snd :=
@@ -290,13 +329,17 @@ theorem pullbackDiagonalMapIdIso_inv_snd_snd :
rw [iso.inv_comp_eq]
simp
#align category_theory.limits.pullback_diagonal_map_id_iso_inv_snd_snd CategoryTheory.Limits.pullbackDiagonalMapIdIso_inv_snd_snd
+-/
+#print CategoryTheory.Limits.pullback.diagonal_comp /-
theorem pullback.diagonal_comp (f : X ⟶ Y) (g : Y ⟶ Z) [HasPullback f f] [HasPullback g g]
[HasPullback (f ≫ g) (f ≫ g)] :
diagonal (f ≫ g) = diagonal f ≫ (pullbackDiagonalMapIdIso f f g).inv ≫ pullback.snd := by
ext <;> simp
#align category_theory.limits.pullback.diagonal_comp CategoryTheory.Limits.pullback.diagonal_comp
+-/
+#print CategoryTheory.Limits.pullback_map_diagonal_isPullback /-
theorem pullback_map_diagonal_isPullback :
IsPullback (pullback.fst ≫ f)
(pullback.map f g (f ≫ i) (g ≫ i) _ _ i (Category.id_comp _).symm (Category.id_comp _).symm)
@@ -309,7 +352,9 @@ theorem pullback_map_diagonal_isPullback :
· constructor
ext <;> simp [condition]
#align category_theory.limits.pullback_map_diagonal_is_pullback CategoryTheory.Limits.pullback_map_diagonal_isPullback
+-/
+#print CategoryTheory.Limits.diagonalObjPullbackFstIso /-
/-- The diagonal object of `X ×[Z] Y ⟶ X` is isomorphic to `Δ_{Y/Z} ×[Z] X`. -/
def diagonalObjPullbackFstIso {X Y Z : C} (f : X ⟶ Z) (g : Y ⟶ Z) :
diagonalObj (pullback.fst : pullback f g ⟶ X) ≅
@@ -318,7 +363,9 @@ def diagonalObjPullbackFstIso {X Y Z : C} (f : X ⟶ Z) (g : Y ⟶ Z) :
pullback.congrHom pullback.condition rfl ≪≫
pullbackAssoc _ _ _ _ ≪≫ pullbackSymmetry _ _ ≪≫ pullback.congrHom pullback.condition rfl
#align category_theory.limits.diagonal_obj_pullback_fst_iso CategoryTheory.Limits.diagonalObjPullbackFstIso
+-/
+#print CategoryTheory.Limits.diagonalObjPullbackFstIso_hom_fst_fst /-
@[simp, reassoc.1]
theorem diagonalObjPullbackFstIso_hom_fst_fst {X Y Z : C} (f : X ⟶ Z) (g : Y ⟶ Z) :
(diagonalObjPullbackFstIso f g).Hom ≫ pullback.fst ≫ pullback.fst =
@@ -327,7 +374,9 @@ theorem diagonalObjPullbackFstIso_hom_fst_fst {X Y Z : C} (f : X ⟶ Z) (g : Y
delta diagonal_obj_pullback_fst_iso
simp
#align category_theory.limits.diagonal_obj_pullback_fst_iso_hom_fst_fst CategoryTheory.Limits.diagonalObjPullbackFstIso_hom_fst_fst
+-/
+#print CategoryTheory.Limits.diagonalObjPullbackFstIso_hom_fst_snd /-
@[simp, reassoc.1]
theorem diagonalObjPullbackFstIso_hom_fst_snd {X Y Z : C} (f : X ⟶ Z) (g : Y ⟶ Z) :
(diagonalObjPullbackFstIso f g).Hom ≫ pullback.fst ≫ pullback.snd =
@@ -336,7 +385,9 @@ theorem diagonalObjPullbackFstIso_hom_fst_snd {X Y Z : C} (f : X ⟶ Z) (g : Y
delta diagonal_obj_pullback_fst_iso
simp
#align category_theory.limits.diagonal_obj_pullback_fst_iso_hom_fst_snd CategoryTheory.Limits.diagonalObjPullbackFstIso_hom_fst_snd
+-/
+#print CategoryTheory.Limits.diagonalObjPullbackFstIso_hom_snd /-
@[simp, reassoc.1]
theorem diagonalObjPullbackFstIso_hom_snd {X Y Z : C} (f : X ⟶ Z) (g : Y ⟶ Z) :
(diagonalObjPullbackFstIso f g).Hom ≫ pullback.snd = pullback.fst ≫ pullback.fst :=
@@ -344,7 +395,9 @@ theorem diagonalObjPullbackFstIso_hom_snd {X Y Z : C} (f : X ⟶ Z) (g : Y ⟶ Z
delta diagonal_obj_pullback_fst_iso
simp
#align category_theory.limits.diagonal_obj_pullback_fst_iso_hom_snd CategoryTheory.Limits.diagonalObjPullbackFstIso_hom_snd
+-/
+#print CategoryTheory.Limits.diagonalObjPullbackFstIso_inv_fst_fst /-
@[simp, reassoc.1]
theorem diagonalObjPullbackFstIso_inv_fst_fst {X Y Z : C} (f : X ⟶ Z) (g : Y ⟶ Z) :
(diagonalObjPullbackFstIso f g).inv ≫ pullback.fst ≫ pullback.fst = pullback.snd :=
@@ -352,7 +405,9 @@ theorem diagonalObjPullbackFstIso_inv_fst_fst {X Y Z : C} (f : X ⟶ Z) (g : Y
delta diagonal_obj_pullback_fst_iso
simp
#align category_theory.limits.diagonal_obj_pullback_fst_iso_inv_fst_fst CategoryTheory.Limits.diagonalObjPullbackFstIso_inv_fst_fst
+-/
+#print CategoryTheory.Limits.diagonalObjPullbackFstIso_inv_fst_snd /-
@[simp, reassoc.1]
theorem diagonalObjPullbackFstIso_inv_fst_snd {X Y Z : C} (f : X ⟶ Z) (g : Y ⟶ Z) :
(diagonalObjPullbackFstIso f g).inv ≫ pullback.fst ≫ pullback.snd =
@@ -361,7 +416,9 @@ theorem diagonalObjPullbackFstIso_inv_fst_snd {X Y Z : C} (f : X ⟶ Z) (g : Y
delta diagonal_obj_pullback_fst_iso
simp
#align category_theory.limits.diagonal_obj_pullback_fst_iso_inv_fst_snd CategoryTheory.Limits.diagonalObjPullbackFstIso_inv_fst_snd
+-/
+#print CategoryTheory.Limits.diagonalObjPullbackFstIso_inv_snd_fst /-
@[simp, reassoc.1]
theorem diagonalObjPullbackFstIso_inv_snd_fst {X Y Z : C} (f : X ⟶ Z) (g : Y ⟶ Z) :
(diagonalObjPullbackFstIso f g).inv ≫ pullback.snd ≫ pullback.fst = pullback.snd :=
@@ -369,7 +426,9 @@ theorem diagonalObjPullbackFstIso_inv_snd_fst {X Y Z : C} (f : X ⟶ Z) (g : Y
delta diagonal_obj_pullback_fst_iso
simp
#align category_theory.limits.diagonal_obj_pullback_fst_iso_inv_snd_fst CategoryTheory.Limits.diagonalObjPullbackFstIso_inv_snd_fst
+-/
+#print CategoryTheory.Limits.diagonalObjPullbackFstIso_inv_snd_snd /-
@[simp, reassoc.1]
theorem diagonalObjPullbackFstIso_inv_snd_snd {X Y Z : C} (f : X ⟶ Z) (g : Y ⟶ Z) :
(diagonalObjPullbackFstIso f g).inv ≫ pullback.snd ≫ pullback.snd =
@@ -378,7 +437,14 @@ theorem diagonalObjPullbackFstIso_inv_snd_snd {X Y Z : C} (f : X ⟶ Z) (g : Y
delta diagonal_obj_pullback_fst_iso
simp
#align category_theory.limits.diagonal_obj_pullback_fst_iso_inv_snd_snd CategoryTheory.Limits.diagonalObjPullbackFstIso_inv_snd_snd
+-/
+/- warning: category_theory.limits.diagonal_pullback_fst -> CategoryTheory.Limits.diagonal_pullback_fst is a dubious translation:
+lean 3 declaration is
+ forall {C : Type.{u1}} [_inst_1 : CategoryTheory.Category.{u2, u1} C] [_inst_2 : CategoryTheory.Limits.HasPullbacks.{u2, u1} C _inst_1] {X : C} {Y : C} {Z : C} (f : Quiver.Hom.{succ u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1)) X Z) (g : Quiver.Hom.{succ u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1)) Y Z), 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.pullback.{u2, u1} C _inst_1 X Y Z f g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 X Y Z f g))) (CategoryTheory.Limits.pullback.diagonalObj.{u1, u2} C _inst_1 (CategoryTheory.Limits.pullback.{u2, u1} C _inst_1 X Y Z f g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 X Y Z f g))) X (CategoryTheory.Limits.pullback.fst.{u2, u1} C _inst_1 X Y Z f g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 X Y Z f g))) (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 (CategoryTheory.Limits.pullback.{u2, u1} C _inst_1 X Y Z f g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 X Y Z f g))) (CategoryTheory.Limits.pullback.{u2, u1} C _inst_1 X Y Z f g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 X Y Z f g))) X (CategoryTheory.Limits.pullback.fst.{u2, u1} C _inst_1 X Y Z f g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 X Y Z f g))) (CategoryTheory.Limits.pullback.fst.{u2, u1} C _inst_1 X Y Z f g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 X Y Z f g))))))) (CategoryTheory.Limits.pullback.diagonal.{u1, u2} C _inst_1 (CategoryTheory.Limits.pullback.{u2, u1} C _inst_1 X Y Z f g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 X Y Z f g))) X (CategoryTheory.Limits.pullback.fst.{u2, u1} C _inst_1 X Y Z f g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 X Y Z f g))) (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 (CategoryTheory.Limits.pullback.{u2, u1} C _inst_1 X Y Z f g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 X Y Z f g))) (CategoryTheory.Limits.pullback.{u2, u1} C _inst_1 X Y Z f g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 X Y Z f g))) X (CategoryTheory.Limits.pullback.fst.{u2, u1} C _inst_1 X Y Z f g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 X Y Z f g))) (CategoryTheory.Limits.pullback.fst.{u2, u1} C _inst_1 X Y Z f g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 X Y Z f g)))))) (CategoryTheory.CategoryStruct.comp.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1) (CategoryTheory.Limits.pullback.{u2, u1} C _inst_1 X Y Z f g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 X Y Z f g))) (CategoryTheory.Limits.pullback.{u2, u1} C _inst_1 Y X Z g f (CategoryTheory.Limits.hasPullback_symmetry.{u2, u1} C _inst_1 X Y Z f g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 X Y Z f g)))) (CategoryTheory.Limits.pullback.diagonalObj.{u1, u2} C _inst_1 (CategoryTheory.Limits.pullback.{u2, u1} C _inst_1 X Y Z f g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 X Y Z f g))) X (CategoryTheory.Limits.pullback.fst.{u2, u1} C _inst_1 X Y Z f g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 X Y Z f g))) (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 (CategoryTheory.Limits.pullback.{u2, u1} C _inst_1 X Y Z f g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 X Y Z f g))) (CategoryTheory.Limits.pullback.{u2, u1} C _inst_1 X Y Z f g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 X Y Z f g))) X (CategoryTheory.Limits.pullback.fst.{u2, u1} C _inst_1 X Y Z f g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 X Y Z f g))) (CategoryTheory.Limits.pullback.fst.{u2, u1} C _inst_1 X Y Z f g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 X Y Z f g)))))) (CategoryTheory.Iso.hom.{u2, u1} C _inst_1 (CategoryTheory.Limits.pullback.{u2, u1} C _inst_1 X Y Z f g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 X Y Z f g))) (CategoryTheory.Limits.pullback.{u2, u1} C _inst_1 Y X Z g f (CategoryTheory.Limits.hasPullback_symmetry.{u2, u1} C _inst_1 X Y Z f g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 X Y Z f g)))) (CategoryTheory.Limits.pullbackSymmetry.{u2, u1} C _inst_1 X Y Z f g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 X Y Z f g)))) (CategoryTheory.CategoryStruct.comp.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1) (CategoryTheory.Limits.pullback.{u2, u1} C _inst_1 Y X Z g f (CategoryTheory.Limits.hasPullback_symmetry.{u2, u1} C _inst_1 X Y Z f g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 X Y Z f g)))) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 X) (CategoryTheory.Functor.obj.{u2, u2, max u1 u2, max u1 u2} (CategoryTheory.Over.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.category.{u1, u2} C _inst_1 Z) (CategoryTheory.Over.{u2, u1} C _inst_1 X) (CategoryTheory.Over.category.{u1, u2} C _inst_1 X) (CategoryTheory.Limits.baseChange.{u2, u1} C _inst_1 _inst_2 X Z f) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z (CategoryTheory.Limits.pullback.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Y Z g g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Z g g))) (CategoryTheory.CategoryStruct.comp.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1) (CategoryTheory.Limits.pullback.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Y Z g g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Z g g))) Y Z (CategoryTheory.Limits.pullback.snd.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Y Z g g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Z g g))) g)))) (CategoryTheory.Limits.pullback.diagonalObj.{u1, u2} C _inst_1 (CategoryTheory.Limits.pullback.{u2, u1} C _inst_1 X Y Z f g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 X Y Z f g))) X (CategoryTheory.Limits.pullback.fst.{u2, u1} C _inst_1 X Y Z f g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 X Y Z f g))) (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 (CategoryTheory.Limits.pullback.{u2, u1} C _inst_1 X Y Z f g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 X Y Z f g))) (CategoryTheory.Limits.pullback.{u2, u1} C _inst_1 X Y Z f g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 X Y Z f g))) X (CategoryTheory.Limits.pullback.fst.{u2, u1} C _inst_1 X Y Z f g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 X Y Z f g))) (CategoryTheory.Limits.pullback.fst.{u2, u1} C _inst_1 X Y Z f g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 X Y Z f g)))))) (CategoryTheory.CommaMorphism.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 X) (CategoryTheory.Functor.obj.{u2, u2, max u1 u2, max u1 u2} (CategoryTheory.Over.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.category.{u1, u2} C _inst_1 Z) (CategoryTheory.Over.{u2, u1} C _inst_1 X) (CategoryTheory.Over.category.{u1, u2} C _inst_1 X) (CategoryTheory.Limits.baseChange.{u2, u1} C _inst_1 _inst_2 X Z f) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) (CategoryTheory.Functor.obj.{u2, u2, max u1 u2, max u1 u2} (CategoryTheory.Over.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.category.{u1, u2} C _inst_1 Z) (CategoryTheory.Over.{u2, u1} C _inst_1 X) (CategoryTheory.Over.category.{u1, u2} C _inst_1 X) (CategoryTheory.Limits.baseChange.{u2, u1} C _inst_1 _inst_2 X Z f) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z (CategoryTheory.Limits.pullback.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Y Z g g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Z g g))) (CategoryTheory.CategoryStruct.comp.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1) (CategoryTheory.Limits.pullback.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Y Z g g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Z g g))) Y Z (CategoryTheory.Limits.pullback.snd.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Y Z g g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Z g g))) g))) (CategoryTheory.Functor.map.{u2, u2, max u1 u2, max u1 u2} (CategoryTheory.Over.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.category.{u1, u2} C _inst_1 Z) (CategoryTheory.Over.{u2, u1} C _inst_1 X) (CategoryTheory.Over.category.{u1, u2} C _inst_1 X) (CategoryTheory.Limits.baseChange.{u2, u1} C _inst_1 _inst_2 X Z f) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z (CategoryTheory.Limits.pullback.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Y Z g g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Z g g))) (CategoryTheory.CategoryStruct.comp.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1) (CategoryTheory.Limits.pullback.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Y Z g g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Z g g))) Y Z (CategoryTheory.Limits.pullback.snd.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Y Z g g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Z g g))) g)) (CategoryTheory.Over.homMk.{u2, u1} C _inst_1 Z (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z (CategoryTheory.Limits.pullback.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Y Z g g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Z g g))) (CategoryTheory.CategoryStruct.comp.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1) (CategoryTheory.Limits.pullback.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Y Z g g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Z g g))) Y Z (CategoryTheory.Limits.pullback.snd.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Y Z g g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Z g g))) g)) (CategoryTheory.Limits.pullback.diagonal.{u1, u2} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Z g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Z g g))) (Eq.mpr.{0} (autoParamₓ.{0} (Eq.{succ u2} (Quiver.Hom.{succ u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1)) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) (CategoryTheory.Functor.obj.{u2, u2, u2, u1} (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Comma.right.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z (CategoryTheory.Limits.pullback.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Y Z g g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Z g g))) (CategoryTheory.CategoryStruct.comp.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1) (CategoryTheory.Limits.pullback.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Y Z g g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Z g g))) Y Z (CategoryTheory.Limits.pullback.snd.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Y Z g g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Z g g))) g))))) (CategoryTheory.CategoryStruct.comp.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z (CategoryTheory.Limits.pullback.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Y Z g g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Z g g))) (CategoryTheory.CategoryStruct.comp.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1) (CategoryTheory.Limits.pullback.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Y Z g g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Z g g))) Y Z (CategoryTheory.Limits.pullback.snd.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Y Z g g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Z g g))) g))) (CategoryTheory.Functor.obj.{u2, u2, u2, u1} (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Comma.right.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z (CategoryTheory.Limits.pullback.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Y Z g g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Z g g))) (CategoryTheory.CategoryStruct.comp.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1) (CategoryTheory.Limits.pullback.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Y Z g g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Z g g))) Y Z (CategoryTheory.Limits.pullback.snd.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Y Z g g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Z g g))) g)))) (CategoryTheory.Limits.pullback.diagonal.{u1, u2} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Z g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Z g g))) (CategoryTheory.Comma.hom.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z (CategoryTheory.Limits.pullback.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Y Z g g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Z g g))) (CategoryTheory.CategoryStruct.comp.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1) (CategoryTheory.Limits.pullback.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Y Z g g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Z g g))) Y Z (CategoryTheory.Limits.pullback.snd.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Y Z g g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Z g g))) g)))) (CategoryTheory.Comma.hom.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g))) (Name.mk_string (String.str (String.str (String.str (String.str (String.str (String.str (String.str (String.str (String.str String.empty (Char.ofNat (OfNat.ofNat.{0} Nat 111 (OfNat.mk.{0} Nat 111 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (bit1.{0} Nat Nat.hasOne Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))))))) (Char.ofNat (OfNat.ofNat.{0} Nat 98 (OfNat.mk.{0} Nat 98 (bit0.{0} Nat Nat.hasAdd (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (bit1.{0} Nat Nat.hasOne Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))))))) (Char.ofNat (OfNat.ofNat.{0} Nat 118 (OfNat.mk.{0} Nat 118 (bit0.{0} Nat Nat.hasAdd (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit1.{0} Nat Nat.hasOne Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))))))) (Char.ofNat (OfNat.ofNat.{0} Nat 105 (OfNat.mk.{0} Nat 105 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (bit1.{0} Nat Nat.hasOne Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))))))) (Char.ofNat (OfNat.ofNat.{0} Nat 111 (OfNat.mk.{0} Nat 111 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (bit1.{0} Nat Nat.hasOne Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))))))) (Char.ofNat (OfNat.ofNat.{0} Nat 117 (OfNat.mk.{0} Nat 117 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit1.{0} Nat Nat.hasOne Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))))))) (Char.ofNat (OfNat.ofNat.{0} Nat 115 (OfNat.mk.{0} Nat 115 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit1.{0} Nat Nat.hasOne Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))))))) (Char.ofNat (OfNat.ofNat.{0} Nat 108 (OfNat.mk.{0} Nat 108 (bit0.{0} Nat Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (bit1.{0} Nat Nat.hasOne Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))))))) (Char.ofNat (OfNat.ofNat.{0} Nat 121 (OfNat.mk.{0} Nat 121 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit1.{0} Nat Nat.hasOne Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))))))) Name.anonymous)) True (id_tag Tactic.IdTag.simp (Eq.{1} Prop (autoParamₓ.{0} (Eq.{succ u2} (Quiver.Hom.{succ u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1)) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) (CategoryTheory.Functor.obj.{u2, u2, u2, u1} (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Comma.right.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z (CategoryTheory.Limits.pullback.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Y Z g g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Z g g))) (CategoryTheory.CategoryStruct.comp.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1) (CategoryTheory.Limits.pullback.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Y Z g g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Z g g))) Y Z (CategoryTheory.Limits.pullback.snd.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Y Z g g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Z g g))) g))))) (CategoryTheory.CategoryStruct.comp.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z (CategoryTheory.Limits.pullback.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Y Z g g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Z g g))) (CategoryTheory.CategoryStruct.comp.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1) (CategoryTheory.Limits.pullback.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Y Z g g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Z g g))) Y Z (CategoryTheory.Limits.pullback.snd.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Y Z g g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Z g g))) g))) (CategoryTheory.Functor.obj.{u2, u2, u2, u1} (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Comma.right.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z (CategoryTheory.Limits.pullback.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Y Z g g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Z g g))) (CategoryTheory.CategoryStruct.comp.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1) (CategoryTheory.Limits.pullback.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Y Z g g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Z g g))) Y Z (CategoryTheory.Limits.pullback.snd.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Y Z g g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Z g g))) g)))) (CategoryTheory.Limits.pullback.diagonal.{u1, u2} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Z g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Z g g))) (CategoryTheory.Comma.hom.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z (CategoryTheory.Limits.pullback.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Y Z g g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Z g g))) (CategoryTheory.CategoryStruct.comp.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1) (CategoryTheory.Limits.pullback.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Y Z g g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Z g g))) Y Z (CategoryTheory.Limits.pullback.snd.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Y Z g g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Z g g))) g)))) (CategoryTheory.Comma.hom.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g))) (Name.mk_string (String.str (String.str (String.str (String.str (String.str (String.str (String.str (String.str (String.str String.empty (Char.ofNat (OfNat.ofNat.{0} Nat 111 (OfNat.mk.{0} Nat 111 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (bit1.{0} Nat Nat.hasOne Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))))))) (Char.ofNat (OfNat.ofNat.{0} Nat 98 (OfNat.mk.{0} Nat 98 (bit0.{0} Nat Nat.hasAdd (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (bit1.{0} Nat Nat.hasOne Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))))))) (Char.ofNat (OfNat.ofNat.{0} Nat 118 (OfNat.mk.{0} Nat 118 (bit0.{0} Nat Nat.hasAdd (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit1.{0} Nat Nat.hasOne Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))))))) (Char.ofNat (OfNat.ofNat.{0} Nat 105 (OfNat.mk.{0} Nat 105 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (bit1.{0} Nat Nat.hasOne Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))))))) (Char.ofNat (OfNat.ofNat.{0} Nat 111 (OfNat.mk.{0} Nat 111 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (bit1.{0} Nat Nat.hasOne Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))))))) (Char.ofNat (OfNat.ofNat.{0} Nat 117 (OfNat.mk.{0} Nat 117 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit1.{0} Nat Nat.hasOne Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))))))) (Char.ofNat (OfNat.ofNat.{0} Nat 115 (OfNat.mk.{0} Nat 115 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit1.{0} Nat Nat.hasOne Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))))))) (Char.ofNat (OfNat.ofNat.{0} Nat 108 (OfNat.mk.{0} Nat 108 (bit0.{0} Nat Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (bit1.{0} Nat Nat.hasOne Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))))))) (Char.ofNat (OfNat.ofNat.{0} Nat 121 (OfNat.mk.{0} Nat 121 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit1.{0} Nat Nat.hasOne Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))))))) Name.anonymous)) True) (Eq.trans.{1} Prop (autoParamₓ.{0} (Eq.{succ u2} (Quiver.Hom.{succ u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1)) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) (CategoryTheory.Functor.obj.{u2, u2, u2, u1} (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Comma.right.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z (CategoryTheory.Limits.pullback.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Y Z g g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Z g g))) (CategoryTheory.CategoryStruct.comp.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1) (CategoryTheory.Limits.pullback.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Y Z g g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Z g g))) Y Z (CategoryTheory.Limits.pullback.snd.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Y Z g g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Z g g))) g))))) (CategoryTheory.CategoryStruct.comp.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z (CategoryTheory.Limits.pullback.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Y Z g g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Z g g))) (CategoryTheory.CategoryStruct.comp.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1) (CategoryTheory.Limits.pullback.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Y Z g g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Z g g))) Y Z (CategoryTheory.Limits.pullback.snd.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Y Z g g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Z g g))) g))) (CategoryTheory.Functor.obj.{u2, u2, u2, u1} (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Comma.right.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z (CategoryTheory.Limits.pullback.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Y Z g g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Z g g))) (CategoryTheory.CategoryStruct.comp.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1) (CategoryTheory.Limits.pullback.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Y Z g g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Z g g))) Y Z (CategoryTheory.Limits.pullback.snd.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Y Z g g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Z g g))) g)))) (CategoryTheory.Limits.pullback.diagonal.{u1, u2} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Z g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Z g g))) (CategoryTheory.Comma.hom.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z (CategoryTheory.Limits.pullback.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Y Z g g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Z g g))) (CategoryTheory.CategoryStruct.comp.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1) (CategoryTheory.Limits.pullback.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Y Z g g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Z g g))) Y Z (CategoryTheory.Limits.pullback.snd.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Y Z g g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Z g g))) g)))) (CategoryTheory.Comma.hom.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g))) (Name.mk_string (String.str (String.str (String.str (String.str (String.str (String.str (String.str (String.str (String.str String.empty (Char.ofNat (OfNat.ofNat.{0} Nat 111 (OfNat.mk.{0} Nat 111 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (bit1.{0} Nat Nat.hasOne Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))))))) (Char.ofNat (OfNat.ofNat.{0} Nat 98 (OfNat.mk.{0} Nat 98 (bit0.{0} Nat Nat.hasAdd (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (bit1.{0} Nat Nat.hasOne Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))))))) (Char.ofNat (OfNat.ofNat.{0} Nat 118 (OfNat.mk.{0} Nat 118 (bit0.{0} Nat Nat.hasAdd (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit1.{0} Nat Nat.hasOne Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))))))) (Char.ofNat (OfNat.ofNat.{0} Nat 105 (OfNat.mk.{0} Nat 105 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (bit1.{0} Nat Nat.hasOne Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))))))) (Char.ofNat (OfNat.ofNat.{0} Nat 111 (OfNat.mk.{0} Nat 111 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (bit1.{0} Nat Nat.hasOne Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))))))) (Char.ofNat (OfNat.ofNat.{0} Nat 117 (OfNat.mk.{0} Nat 117 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit1.{0} Nat Nat.hasOne Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))))))) (Char.ofNat (OfNat.ofNat.{0} Nat 115 (OfNat.mk.{0} Nat 115 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit1.{0} Nat Nat.hasOne Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))))))) (Char.ofNat (OfNat.ofNat.{0} Nat 108 (OfNat.mk.{0} Nat 108 (bit0.{0} Nat Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (bit1.{0} Nat Nat.hasOne Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))))))) (Char.ofNat (OfNat.ofNat.{0} Nat 121 (OfNat.mk.{0} Nat 121 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit1.{0} Nat Nat.hasOne Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))))))) Name.anonymous)) (autoParamₓ.{0} True (Name.mk_string (String.str (String.str (String.str (String.str (String.str (String.str (String.str (String.str (String.str String.empty (Char.ofNat (OfNat.ofNat.{0} Nat 111 (OfNat.mk.{0} Nat 111 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (bit1.{0} Nat Nat.hasOne Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))))))) (Char.ofNat (OfNat.ofNat.{0} Nat 98 (OfNat.mk.{0} Nat 98 (bit0.{0} Nat Nat.hasAdd (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (bit1.{0} Nat Nat.hasOne Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))))))) (Char.ofNat (OfNat.ofNat.{0} Nat 118 (OfNat.mk.{0} Nat 118 (bit0.{0} Nat Nat.hasAdd (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit1.{0} Nat Nat.hasOne Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))))))) (Char.ofNat (OfNat.ofNat.{0} Nat 105 (OfNat.mk.{0} Nat 105 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (bit1.{0} Nat Nat.hasOne Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))))))) (Char.ofNat (OfNat.ofNat.{0} Nat 111 (OfNat.mk.{0} Nat 111 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (bit1.{0} Nat Nat.hasOne Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))))))) (Char.ofNat (OfNat.ofNat.{0} Nat 117 (OfNat.mk.{0} Nat 117 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit1.{0} Nat Nat.hasOne Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))))))) (Char.ofNat (OfNat.ofNat.{0} Nat 115 (OfNat.mk.{0} Nat 115 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit1.{0} Nat Nat.hasOne Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))))))) (Char.ofNat (OfNat.ofNat.{0} Nat 108 (OfNat.mk.{0} Nat 108 (bit0.{0} Nat Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (bit1.{0} Nat Nat.hasOne Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))))))) (Char.ofNat (OfNat.ofNat.{0} Nat 121 (OfNat.mk.{0} Nat 121 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit1.{0} Nat Nat.hasOne Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))))))) Name.anonymous)) True ((fun (α : Prop) (α_1 : Prop) (e_1 : Eq.{1} Prop α α_1) (tac_name : Name) (tac_name_1 : Name) (e_2 : Eq.{1} Name tac_name tac_name_1) => congr.{1, 1} Name Prop (autoParamₓ.{0} α) (autoParamₓ.{0} α_1) tac_name tac_name_1 (congr_arg.{1, 1} Prop (Name -> Prop) α α_1 autoParamₓ.{0} e_1) e_2) (Eq.{succ u2} (Quiver.Hom.{succ u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1)) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) (CategoryTheory.Functor.obj.{u2, u2, u2, u1} (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Comma.right.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z (CategoryTheory.Limits.pullback.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Y Z g g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Z g g))) (CategoryTheory.CategoryStruct.comp.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1) (CategoryTheory.Limits.pullback.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Y Z g g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Z g g))) Y Z (CategoryTheory.Limits.pullback.snd.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Y Z g g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Z g g))) g))))) (CategoryTheory.CategoryStruct.comp.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z (CategoryTheory.Limits.pullback.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Y Z g g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Z g g))) (CategoryTheory.CategoryStruct.comp.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1) (CategoryTheory.Limits.pullback.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Y Z g g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Z g g))) Y Z (CategoryTheory.Limits.pullback.snd.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Y Z g g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Z g g))) g))) (CategoryTheory.Functor.obj.{u2, u2, u2, u1} (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Comma.right.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z (CategoryTheory.Limits.pullback.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Y Z g g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Z g g))) (CategoryTheory.CategoryStruct.comp.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1) (CategoryTheory.Limits.pullback.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Y Z g g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Z g g))) Y Z (CategoryTheory.Limits.pullback.snd.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Y Z g g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Z g g))) g)))) (CategoryTheory.Limits.pullback.diagonal.{u1, u2} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Z g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Z g g))) (CategoryTheory.Comma.hom.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z (CategoryTheory.Limits.pullback.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Y Z g g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Z g g))) (CategoryTheory.CategoryStruct.comp.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1) (CategoryTheory.Limits.pullback.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Y Z g g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Z g g))) Y Z (CategoryTheory.Limits.pullback.snd.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Y Z g g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Z g g))) g)))) (CategoryTheory.Comma.hom.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g))) True (Eq.trans.{1} Prop (Eq.{succ u2} (Quiver.Hom.{succ u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1)) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) (CategoryTheory.Functor.obj.{u2, u2, u2, u1} (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Comma.right.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z (CategoryTheory.Limits.pullback.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Y Z g g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Z g g))) (CategoryTheory.CategoryStruct.comp.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1) (CategoryTheory.Limits.pullback.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Y Z g g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Z g g))) Y Z (CategoryTheory.Limits.pullback.snd.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Y Z g g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Z g g))) g))))) (CategoryTheory.CategoryStruct.comp.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z (CategoryTheory.Limits.pullback.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Y Z g g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Z g g))) (CategoryTheory.CategoryStruct.comp.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1) (CategoryTheory.Limits.pullback.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Y Z g g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Z g g))) Y Z (CategoryTheory.Limits.pullback.snd.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Y Z g g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Z g g))) g))) (CategoryTheory.Functor.obj.{u2, u2, u2, u1} (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Comma.right.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z (CategoryTheory.Limits.pullback.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Y Z g g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Z g g))) (CategoryTheory.CategoryStruct.comp.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1) (CategoryTheory.Limits.pullback.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Y Z g g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Z g g))) Y Z (CategoryTheory.Limits.pullback.snd.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Y Z g g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Z g g))) g)))) (CategoryTheory.Limits.pullback.diagonal.{u1, u2} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Z g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Z g g))) (CategoryTheory.Comma.hom.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z (CategoryTheory.Limits.pullback.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Y Z g g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Z g g))) (CategoryTheory.CategoryStruct.comp.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1) (CategoryTheory.Limits.pullback.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Y Z g g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Z g g))) Y Z (CategoryTheory.Limits.pullback.snd.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Y Z g g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Z g g))) g)))) (CategoryTheory.Comma.hom.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g))) (Eq.{succ u2} (Quiver.Hom.{succ u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1)) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) (CategoryTheory.Functor.obj.{u2, u2, u2, u1} (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Comma.right.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z (CategoryTheory.Limits.pullback.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Y Z g g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Z g g))) (CategoryTheory.CategoryStruct.comp.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1) (CategoryTheory.Limits.pullback.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Y Z g g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Z g g))) Y Z (CategoryTheory.Limits.pullback.snd.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Y Z g g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Z g g))) g))))) g g) True ((fun (a : Quiver.Hom.{succ u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1)) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) (CategoryTheory.Functor.obj.{u2, u2, u2, u1} (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Comma.right.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z (CategoryTheory.Limits.pullback.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Y Z g g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Z g g))) (CategoryTheory.CategoryStruct.comp.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1) (CategoryTheory.Limits.pullback.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Y Z g g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Z g g))) Y Z (CategoryTheory.Limits.pullback.snd.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Y Z g g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Z g g))) g))))) (a_1 : Quiver.Hom.{succ u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1)) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) (CategoryTheory.Functor.obj.{u2, u2, u2, u1} (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Comma.right.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z (CategoryTheory.Limits.pullback.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Y Z g g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Z g g))) (CategoryTheory.CategoryStruct.comp.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1) (CategoryTheory.Limits.pullback.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Y Z g g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Z g g))) Y Z (CategoryTheory.Limits.pullback.snd.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Y Z g g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Z g g))) g))))) (e_1 : Eq.{succ u2} (Quiver.Hom.{succ u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1)) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) (CategoryTheory.Functor.obj.{u2, u2, u2, u1} (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Comma.right.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z (CategoryTheory.Limits.pullback.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Y Z g g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Z g g))) (CategoryTheory.CategoryStruct.comp.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1) (CategoryTheory.Limits.pullback.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Y Z g g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Z g g))) Y Z (CategoryTheory.Limits.pullback.snd.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Y Z g g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Z g g))) g))))) a a_1) (ᾰ : Quiver.Hom.{succ u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1)) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) (CategoryTheory.Functor.obj.{u2, u2, u2, u1} (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Comma.right.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z (CategoryTheory.Limits.pullback.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Y Z g g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Z g g))) (CategoryTheory.CategoryStruct.comp.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1) (CategoryTheory.Limits.pullback.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Y Z g g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Z g g))) Y Z (CategoryTheory.Limits.pullback.snd.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Y Z g g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Z g g))) g))))) (ᾰ_1 : Quiver.Hom.{succ u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1)) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) (CategoryTheory.Functor.obj.{u2, u2, u2, u1} (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Comma.right.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z (CategoryTheory.Limits.pullback.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Y Z g g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Z g g))) (CategoryTheory.CategoryStruct.comp.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1) (CategoryTheory.Limits.pullback.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Y Z g g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Z g g))) Y Z (CategoryTheory.Limits.pullback.snd.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Y Z g g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Z g g))) g))))) (e_2 : Eq.{succ u2} (Quiver.Hom.{succ u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1)) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) (CategoryTheory.Functor.obj.{u2, u2, u2, u1} (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Comma.right.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z (CategoryTheory.Limits.pullback.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Y Z g g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Z g g))) (CategoryTheory.CategoryStruct.comp.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1) (CategoryTheory.Limits.pullback.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Y Z g g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Z g g))) Y Z (CategoryTheory.Limits.pullback.snd.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Y Z g g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Z g g))) g))))) ᾰ ᾰ_1) => congr.{succ u2, 1} (Quiver.Hom.{succ u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1)) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) (CategoryTheory.Functor.obj.{u2, u2, u2, u1} (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Comma.right.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z (CategoryTheory.Limits.pullback.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Y Z g g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Z g g))) (CategoryTheory.CategoryStruct.comp.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1) (CategoryTheory.Limits.pullback.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Y Z g g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Z g g))) Y Z (CategoryTheory.Limits.pullback.snd.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Y Z g g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Z g g))) g))))) Prop (Eq.{succ u2} (Quiver.Hom.{succ u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1)) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) (CategoryTheory.Functor.obj.{u2, u2, u2, u1} (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Comma.right.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z (CategoryTheory.Limits.pullback.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Y Z g g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Z g g))) (CategoryTheory.CategoryStruct.comp.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1) (CategoryTheory.Limits.pullback.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Y Z g g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Z g g))) Y Z (CategoryTheory.Limits.pullback.snd.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Y Z g g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Z g g))) g))))) a) (Eq.{succ u2} (Quiver.Hom.{succ u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1)) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) (CategoryTheory.Functor.obj.{u2, u2, u2, u1} (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Comma.right.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z (CategoryTheory.Limits.pullback.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Y Z g g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Z g g))) (CategoryTheory.CategoryStruct.comp.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1) (CategoryTheory.Limits.pullback.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Y Z g g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Z g g))) Y Z (CategoryTheory.Limits.pullback.snd.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Y Z g g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Z g g))) g))))) a_1) ᾰ ᾰ_1 (congr_arg.{succ u2, succ u2} (Quiver.Hom.{succ u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1)) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) (CategoryTheory.Functor.obj.{u2, u2, u2, u1} (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Comma.right.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z (CategoryTheory.Limits.pullback.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Y Z g g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Z g g))) (CategoryTheory.CategoryStruct.comp.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1) (CategoryTheory.Limits.pullback.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Y Z g g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Z g g))) Y Z (CategoryTheory.Limits.pullback.snd.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Y Z g g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Z g g))) g))))) ((Quiver.Hom.{succ u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1)) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) (CategoryTheory.Functor.obj.{u2, u2, u2, u1} (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Comma.right.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z (CategoryTheory.Limits.pullback.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Y Z g g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Z g g))) (CategoryTheory.CategoryStruct.comp.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1) (CategoryTheory.Limits.pullback.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Y Z g g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Z g g))) Y Z (CategoryTheory.Limits.pullback.snd.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Y Z g g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Z g g))) g))))) -> Prop) a a_1 (Eq.{succ u2} (Quiver.Hom.{succ u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1)) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) (CategoryTheory.Functor.obj.{u2, u2, u2, u1} (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Comma.right.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z (CategoryTheory.Limits.pullback.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Y Z g g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Z g g))) (CategoryTheory.CategoryStruct.comp.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1) (CategoryTheory.Limits.pullback.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Y Z g g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Z g g))) Y Z (CategoryTheory.Limits.pullback.snd.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Y Z g g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Z g g))) g)))))) e_1) e_2) (CategoryTheory.CategoryStruct.comp.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z (CategoryTheory.Limits.pullback.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Y Z g g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Z g g))) (CategoryTheory.CategoryStruct.comp.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1) (CategoryTheory.Limits.pullback.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Y Z g g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Z g g))) Y Z (CategoryTheory.Limits.pullback.snd.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Y Z g g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Z g g))) g))) (CategoryTheory.Functor.obj.{u2, u2, u2, u1} (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Comma.right.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z (CategoryTheory.Limits.pullback.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Y Z g g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Z g g))) (CategoryTheory.CategoryStruct.comp.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1) (CategoryTheory.Limits.pullback.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Y Z g g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Z g g))) Y Z (CategoryTheory.Limits.pullback.snd.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Y Z g g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Z g g))) g)))) (CategoryTheory.Limits.pullback.diagonal.{u1, u2} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Z g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Z g g))) (CategoryTheory.Comma.hom.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z (CategoryTheory.Limits.pullback.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Y Z g g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Z g g))) (CategoryTheory.CategoryStruct.comp.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1) (CategoryTheory.Limits.pullback.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Y Z g g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Z g g))) Y Z (CategoryTheory.Limits.pullback.snd.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Y Z g g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Z g g))) g)))) g (Eq.trans.{succ u2} (Quiver.Hom.{succ u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1)) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) (CategoryTheory.Functor.obj.{u2, u2, u2, u1} (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Comma.right.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z (CategoryTheory.Limits.pullback.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Y Z g g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Z g g))) (CategoryTheory.CategoryStruct.comp.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1) (CategoryTheory.Limits.pullback.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Y Z g g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Z g g))) Y Z (CategoryTheory.Limits.pullback.snd.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Y Z g g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Z g g))) g))))) (CategoryTheory.CategoryStruct.comp.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z (CategoryTheory.Limits.pullback.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Y Z g g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Z g g))) (CategoryTheory.CategoryStruct.comp.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1) (CategoryTheory.Limits.pullback.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Y Z g g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Z g g))) Y Z (CategoryTheory.Limits.pullback.snd.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Y Z g g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Z g g))) g))) (CategoryTheory.Functor.obj.{u2, u2, u2, u1} (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Comma.right.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z (CategoryTheory.Limits.pullback.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Y Z g g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Z g g))) (CategoryTheory.CategoryStruct.comp.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1) (CategoryTheory.Limits.pullback.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Y Z g g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Z g g))) Y Z (CategoryTheory.Limits.pullback.snd.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Y Z g g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Z g g))) g)))) (CategoryTheory.Limits.pullback.diagonal.{u1, u2} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Z g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Z g g))) (CategoryTheory.Comma.hom.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z (CategoryTheory.Limits.pullback.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Y Z g g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Z g g))) (CategoryTheory.CategoryStruct.comp.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1) (CategoryTheory.Limits.pullback.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Y Z g g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Z g g))) Y Z (CategoryTheory.Limits.pullback.snd.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Y Z g g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Z g g))) g)))) (CategoryTheory.CategoryStruct.comp.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z (CategoryTheory.Limits.pullback.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Y Z g g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Z g g))) (CategoryTheory.CategoryStruct.comp.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1) (CategoryTheory.Limits.pullback.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Y Z g g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Z g g))) Y Z (CategoryTheory.Limits.pullback.snd.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Y Z g g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Z g g))) g))) (CategoryTheory.Functor.obj.{u2, u2, u2, u1} (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Comma.right.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z (CategoryTheory.Limits.pullback.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Y Z g g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Z g g))) (CategoryTheory.CategoryStruct.comp.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1) (CategoryTheory.Limits.pullback.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Y Z g g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Z g g))) Y Z (CategoryTheory.Limits.pullback.snd.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Y Z g g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Z g g))) g)))) (CategoryTheory.Limits.pullback.diagonal.{u1, u2} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Z g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Z g g))) (CategoryTheory.CategoryStruct.comp.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1) (CategoryTheory.Limits.pullback.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Y Z g g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Z g g))) Y Z (CategoryTheory.Limits.pullback.snd.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Y Z g g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Z g g))) g)) g ((fun (ᾰ : Quiver.Hom.{succ u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1)) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z (CategoryTheory.Limits.pullback.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Y Z g g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Z g g))) (CategoryTheory.CategoryStruct.comp.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1) (CategoryTheory.Limits.pullback.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Y Z g g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Z g g))) Y Z (CategoryTheory.Limits.pullback.snd.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Y Z g g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Z g g))) g)))) (ᾰ_1 : Quiver.Hom.{succ u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1)) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z (CategoryTheory.Limits.pullback.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Y Z g g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Z g g))) (CategoryTheory.CategoryStruct.comp.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1) (CategoryTheory.Limits.pullback.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Y Z g g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Z g g))) Y Z (CategoryTheory.Limits.pullback.snd.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Y Z g g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Z g g))) g)))) (e_1 : Eq.{succ u2} (Quiver.Hom.{succ u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1)) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z (CategoryTheory.Limits.pullback.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Y Z g g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Z g g))) (CategoryTheory.CategoryStruct.comp.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1) (CategoryTheory.Limits.pullback.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Y Z g g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Z g g))) Y Z (CategoryTheory.Limits.pullback.snd.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Y Z g g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Z g g))) g)))) ᾰ ᾰ_1) (ᾰ_2 : Quiver.Hom.{succ u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1)) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z (CategoryTheory.Limits.pullback.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Y Z g g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Z g g))) (CategoryTheory.CategoryStruct.comp.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1) (CategoryTheory.Limits.pullback.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Y Z g g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Z g g))) Y Z (CategoryTheory.Limits.pullback.snd.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Y Z g g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Z g g))) g))) (CategoryTheory.Functor.obj.{u2, u2, u2, u1} (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Comma.right.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z (CategoryTheory.Limits.pullback.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Y Z g g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Z g g))) (CategoryTheory.CategoryStruct.comp.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1) (CategoryTheory.Limits.pullback.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Y Z g g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Z g g))) Y Z (CategoryTheory.Limits.pullback.snd.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Y Z g g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Z g g))) g))))) (ᾰ_3 : Quiver.Hom.{succ u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1)) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z (CategoryTheory.Limits.pullback.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Y Z g g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Z g g))) (CategoryTheory.CategoryStruct.comp.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1) (CategoryTheory.Limits.pullback.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Y Z g g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Z g g))) Y Z (CategoryTheory.Limits.pullback.snd.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Y Z g g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Z g g))) g))) (CategoryTheory.Functor.obj.{u2, u2, u2, u1} (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Comma.right.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z (CategoryTheory.Limits.pullback.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Y Z g g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Z g g))) (CategoryTheory.CategoryStruct.comp.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1) (CategoryTheory.Limits.pullback.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Y Z g g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Z g g))) Y Z (CategoryTheory.Limits.pullback.snd.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Y Z g g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Z g g))) g))))) (e_2 : Eq.{succ u2} (Quiver.Hom.{succ u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1)) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z (CategoryTheory.Limits.pullback.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Y Z g g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Z g g))) (CategoryTheory.CategoryStruct.comp.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1) (CategoryTheory.Limits.pullback.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Y Z g g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Z g g))) Y Z (CategoryTheory.Limits.pullback.snd.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Y Z g g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Z g g))) g))) (CategoryTheory.Functor.obj.{u2, u2, u2, u1} (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Comma.right.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z (CategoryTheory.Limits.pullback.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Y Z g g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Z g g))) (CategoryTheory.CategoryStruct.comp.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1) (CategoryTheory.Limits.pullback.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Y Z g g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Z g g))) Y Z (CategoryTheory.Limits.pullback.snd.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Y Z g g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Z g g))) g))))) ᾰ_2 ᾰ_3) => congr.{succ u2, succ u2} (Quiver.Hom.{succ u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1)) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z (CategoryTheory.Limits.pullback.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Y Z g g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Z g g))) (CategoryTheory.CategoryStruct.comp.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1) (CategoryTheory.Limits.pullback.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Y Z g g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Z g g))) Y Z (CategoryTheory.Limits.pullback.snd.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Y Z g g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Z g g))) g))) (CategoryTheory.Functor.obj.{u2, u2, u2, u1} (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Comma.right.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z (CategoryTheory.Limits.pullback.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Y Z g g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Z g g))) (CategoryTheory.CategoryStruct.comp.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1) (CategoryTheory.Limits.pullback.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Y Z g g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Z g g))) Y Z (CategoryTheory.Limits.pullback.snd.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Y Z g g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Z g g))) g))))) (Quiver.Hom.{succ u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1)) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) (CategoryTheory.Functor.obj.{u2, u2, u2, u1} (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Comma.right.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z (CategoryTheory.Limits.pullback.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Y Z g g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Z g g))) (CategoryTheory.CategoryStruct.comp.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1) (CategoryTheory.Limits.pullback.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Y Z g g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Z g g))) Y Z (CategoryTheory.Limits.pullback.snd.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Y Z g g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Z g g))) g))))) (CategoryTheory.CategoryStruct.comp.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z (CategoryTheory.Limits.pullback.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Y Z g g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Z g g))) (CategoryTheory.CategoryStruct.comp.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1) (CategoryTheory.Limits.pullback.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Y Z g g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Z g g))) Y Z (CategoryTheory.Limits.pullback.snd.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Y Z g g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Z g g))) g))) (CategoryTheory.Functor.obj.{u2, u2, u2, u1} (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Comma.right.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z (CategoryTheory.Limits.pullback.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Y Z g g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Z g g))) (CategoryTheory.CategoryStruct.comp.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1) (CategoryTheory.Limits.pullback.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Y Z g g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Z g g))) Y Z (CategoryTheory.Limits.pullback.snd.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Y Z g g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Z g g))) g)))) ᾰ) (CategoryTheory.CategoryStruct.comp.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z (CategoryTheory.Limits.pullback.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Y Z g g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Z g g))) (CategoryTheory.CategoryStruct.comp.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1) (CategoryTheory.Limits.pullback.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Y Z g g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Z g g))) Y Z (CategoryTheory.Limits.pullback.snd.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Y Z g g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Z g g))) g))) (CategoryTheory.Functor.obj.{u2, u2, u2, u1} (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Comma.right.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z (CategoryTheory.Limits.pullback.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Y Z g g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Z g g))) (CategoryTheory.CategoryStruct.comp.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1) (CategoryTheory.Limits.pullback.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Y Z g g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Z g g))) Y Z (CategoryTheory.Limits.pullback.snd.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Y Z g g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Z g g))) g)))) ᾰ_1) ᾰ_2 ᾰ_3 (congr_arg.{succ u2, succ u2} (Quiver.Hom.{succ u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1)) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z (CategoryTheory.Limits.pullback.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Y Z g g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Z g g))) (CategoryTheory.CategoryStruct.comp.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1) (CategoryTheory.Limits.pullback.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Y Z g g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Z g g))) Y Z (CategoryTheory.Limits.pullback.snd.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Y Z g g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Z g g))) g)))) ((Quiver.Hom.{succ u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1)) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z (CategoryTheory.Limits.pullback.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Y Z g g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Z g g))) (CategoryTheory.CategoryStruct.comp.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1) (CategoryTheory.Limits.pullback.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Y Z g g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Z g g))) Y Z (CategoryTheory.Limits.pullback.snd.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Y Z g g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Z g g))) g))) (CategoryTheory.Functor.obj.{u2, u2, u2, u1} (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Comma.right.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z (CategoryTheory.Limits.pullback.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Y Z g g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Z g g))) (CategoryTheory.CategoryStruct.comp.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1) (CategoryTheory.Limits.pullback.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Y Z g g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Z g g))) Y Z (CategoryTheory.Limits.pullback.snd.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Y Z g g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Z g g))) g))))) -> (Quiver.Hom.{succ u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1)) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) (CategoryTheory.Functor.obj.{u2, u2, u2, u1} (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Comma.right.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z (CategoryTheory.Limits.pullback.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Y Z g g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Z g g))) (CategoryTheory.CategoryStruct.comp.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1) (CategoryTheory.Limits.pullback.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Y Z g g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Z g g))) Y Z (CategoryTheory.Limits.pullback.snd.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Y Z g g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Z g g))) g)))))) ᾰ ᾰ_1 (CategoryTheory.CategoryStruct.comp.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z (CategoryTheory.Limits.pullback.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Y Z g g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Z g g))) (CategoryTheory.CategoryStruct.comp.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1) (CategoryTheory.Limits.pullback.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Y Z g g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Z g g))) Y Z (CategoryTheory.Limits.pullback.snd.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Y Z g g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Z g g))) g))) (CategoryTheory.Functor.obj.{u2, u2, u2, u1} (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Comma.right.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z (CategoryTheory.Limits.pullback.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Y Z g g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Z g g))) (CategoryTheory.CategoryStruct.comp.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1) (CategoryTheory.Limits.pullback.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Y Z g g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Z g g))) Y Z (CategoryTheory.Limits.pullback.snd.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Y Z g g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Z g g))) g))))) e_1) e_2) (CategoryTheory.Limits.pullback.diagonal.{u1, u2} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Z g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Z g g))) (CategoryTheory.Limits.pullback.diagonal.{u1, u2} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Z g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Z g g))) (rfl.{succ u2} (Quiver.Hom.{succ u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1)) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) (CategoryTheory.Limits.pullback.diagonalObj.{u1, u2} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Z g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Z g g)))) (CategoryTheory.Limits.pullback.diagonal.{u1, u2} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Z g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Z g g)))) (CategoryTheory.Comma.hom.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z (CategoryTheory.Limits.pullback.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Y Z g g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Z g g))) (CategoryTheory.CategoryStruct.comp.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1) (CategoryTheory.Limits.pullback.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Y Z g g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Z g g))) Y Z (CategoryTheory.Limits.pullback.snd.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Y Z g g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Z g g))) g))) (CategoryTheory.CategoryStruct.comp.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1) (CategoryTheory.Limits.pullback.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Y Z g g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Z g g))) Y Z (CategoryTheory.Limits.pullback.snd.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Y Z g g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Z g g))) g) (CategoryTheory.Over.mk_hom.{u2, u1} C _inst_1 Z (CategoryTheory.Limits.pullback.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Y Z g g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Z g g))) (CategoryTheory.CategoryStruct.comp.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1) (CategoryTheory.Limits.pullback.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Y Z g g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Z g g))) Y Z (CategoryTheory.Limits.pullback.snd.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Y Z g g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Z g g))) g))) (CategoryTheory.Limits.pullback.diagonal_snd_assoc.{u1, u2} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Z g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Z g g)) (CategoryTheory.Functor.obj.{u2, u2, u2, u1} (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Comma.right.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z (CategoryTheory.Limits.pullback.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Y Z g g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Z g g))) (CategoryTheory.CategoryStruct.comp.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1) (CategoryTheory.Limits.pullback.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Y Z g g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Z g g))) Y Z (CategoryTheory.Limits.pullback.snd.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Y Z g g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Z g g))) g)))) g)) (CategoryTheory.Comma.hom.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) g (CategoryTheory.Over.mk_hom.{u2, u1} C _inst_1 Z Y g)) (propext (Eq.{succ u2} (Quiver.Hom.{succ u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1)) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) (CategoryTheory.Functor.obj.{u2, u2, u2, u1} (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Comma.right.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z (CategoryTheory.Limits.pullback.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Y Z g g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Z g g))) (CategoryTheory.CategoryStruct.comp.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1) (CategoryTheory.Limits.pullback.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Y Z g g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Z g g))) Y Z (CategoryTheory.Limits.pullback.snd.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Y Z g g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Z g g))) g))))) g g) True (eq_self_iff_true.{succ u2} (Quiver.Hom.{succ u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1)) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) (CategoryTheory.Functor.obj.{u2, u2, u2, u1} (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Comma.right.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z (CategoryTheory.Limits.pullback.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Y Z g g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Z g g))) (CategoryTheory.CategoryStruct.comp.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1) (CategoryTheory.Limits.pullback.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Y Z g g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Z g g))) Y Z (CategoryTheory.Limits.pullback.snd.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Y Z g g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) Z g g))) g))))) g))) (Name.mk_string (String.str (String.str (String.str (String.str (String.str (String.str (String.str (String.str (String.str String.empty (Char.ofNat (OfNat.ofNat.{0} Nat 111 (OfNat.mk.{0} Nat 111 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (bit1.{0} Nat Nat.hasOne Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))))))) (Char.ofNat (OfNat.ofNat.{0} Nat 98 (OfNat.mk.{0} Nat 98 (bit0.{0} Nat Nat.hasAdd (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (bit1.{0} Nat Nat.hasOne Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))))))) (Char.ofNat (OfNat.ofNat.{0} Nat 118 (OfNat.mk.{0} Nat 118 (bit0.{0} Nat Nat.hasAdd (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit1.{0} Nat Nat.hasOne Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))))))) (Char.ofNat (OfNat.ofNat.{0} Nat 105 (OfNat.mk.{0} Nat 105 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (bit1.{0} Nat Nat.hasOne Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))))))) (Char.ofNat (OfNat.ofNat.{0} Nat 111 (OfNat.mk.{0} Nat 111 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (bit1.{0} Nat Nat.hasOne Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))))))) (Char.ofNat (OfNat.ofNat.{0} Nat 117 (OfNat.mk.{0} Nat 117 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit1.{0} Nat Nat.hasOne Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))))))) (Char.ofNat (OfNat.ofNat.{0} Nat 115 (OfNat.mk.{0} Nat 115 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit1.{0} Nat Nat.hasOne Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))))))) (Char.ofNat (OfNat.ofNat.{0} Nat 108 (OfNat.mk.{0} Nat 108 (bit0.{0} Nat Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (bit1.{0} Nat Nat.hasOne Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))))))) (Char.ofNat (OfNat.ofNat.{0} Nat 121 (OfNat.mk.{0} Nat 121 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit1.{0} Nat Nat.hasOne Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))))))) Name.anonymous) (Name.mk_string (String.str (String.str (String.str (String.str (String.str (String.str (String.str (String.str (String.str String.empty (Char.ofNat (OfNat.ofNat.{0} Nat 111 (OfNat.mk.{0} Nat 111 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (bit1.{0} Nat Nat.hasOne Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))))))) (Char.ofNat (OfNat.ofNat.{0} Nat 98 (OfNat.mk.{0} Nat 98 (bit0.{0} Nat Nat.hasAdd (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (bit1.{0} Nat Nat.hasOne Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))))))) (Char.ofNat (OfNat.ofNat.{0} Nat 118 (OfNat.mk.{0} Nat 118 (bit0.{0} Nat Nat.hasAdd (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit1.{0} Nat Nat.hasOne Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))))))) (Char.ofNat (OfNat.ofNat.{0} Nat 105 (OfNat.mk.{0} Nat 105 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (bit1.{0} Nat Nat.hasOne Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))))))) (Char.ofNat (OfNat.ofNat.{0} Nat 111 (OfNat.mk.{0} Nat 111 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (bit1.{0} Nat Nat.hasOne Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))))))) (Char.ofNat (OfNat.ofNat.{0} Nat 117 (OfNat.mk.{0} Nat 117 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit1.{0} Nat Nat.hasOne Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))))))) (Char.ofNat (OfNat.ofNat.{0} Nat 115 (OfNat.mk.{0} Nat 115 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit1.{0} Nat Nat.hasOne Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))))))) (Char.ofNat (OfNat.ofNat.{0} Nat 108 (OfNat.mk.{0} Nat 108 (bit0.{0} Nat Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (bit1.{0} Nat Nat.hasOne Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))))))) (Char.ofNat (OfNat.ofNat.{0} Nat 121 (OfNat.mk.{0} Nat 121 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit1.{0} Nat Nat.hasOne Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))))))) Name.anonymous) (rfl.{1} Name (Name.mk_string (String.str (String.str (String.str (String.str (String.str (String.str (String.str (String.str (String.str String.empty (Char.ofNat (OfNat.ofNat.{0} Nat 111 (OfNat.mk.{0} Nat 111 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (bit1.{0} Nat Nat.hasOne Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))))))) (Char.ofNat (OfNat.ofNat.{0} Nat 98 (OfNat.mk.{0} Nat 98 (bit0.{0} Nat Nat.hasAdd (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (bit1.{0} Nat Nat.hasOne Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))))))) (Char.ofNat (OfNat.ofNat.{0} Nat 118 (OfNat.mk.{0} Nat 118 (bit0.{0} Nat Nat.hasAdd (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit1.{0} Nat Nat.hasOne Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))))))) (Char.ofNat (OfNat.ofNat.{0} Nat 105 (OfNat.mk.{0} Nat 105 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (bit1.{0} Nat Nat.hasOne Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))))))) (Char.ofNat (OfNat.ofNat.{0} Nat 111 (OfNat.mk.{0} Nat 111 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (bit1.{0} Nat Nat.hasOne Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))))))) (Char.ofNat (OfNat.ofNat.{0} Nat 117 (OfNat.mk.{0} Nat 117 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit1.{0} Nat Nat.hasOne Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))))))) (Char.ofNat (OfNat.ofNat.{0} Nat 115 (OfNat.mk.{0} Nat 115 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit1.{0} Nat Nat.hasOne Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))))))) (Char.ofNat (OfNat.ofNat.{0} Nat 108 (OfNat.mk.{0} Nat 108 (bit0.{0} Nat Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (bit1.{0} Nat Nat.hasOne Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))))))) (Char.ofNat (OfNat.ofNat.{0} Nat 121 (OfNat.mk.{0} Nat 121 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit1.{0} Nat Nat.hasOne Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))))))) Name.anonymous))) (autoParamₓ_eq.{0} True (Name.mk_string (String.str (String.str (String.str (String.str (String.str (String.str (String.str (String.str (String.str String.empty (Char.ofNat (OfNat.ofNat.{0} Nat 111 (OfNat.mk.{0} Nat 111 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (bit1.{0} Nat Nat.hasOne Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))))))) (Char.ofNat (OfNat.ofNat.{0} Nat 98 (OfNat.mk.{0} Nat 98 (bit0.{0} Nat Nat.hasAdd (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (bit1.{0} Nat Nat.hasOne Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))))))) (Char.ofNat (OfNat.ofNat.{0} Nat 118 (OfNat.mk.{0} Nat 118 (bit0.{0} Nat Nat.hasAdd (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit1.{0} Nat Nat.hasOne Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))))))) (Char.ofNat (OfNat.ofNat.{0} Nat 105 (OfNat.mk.{0} Nat 105 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (bit1.{0} Nat Nat.hasOne Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))))))) (Char.ofNat (OfNat.ofNat.{0} Nat 111 (OfNat.mk.{0} Nat 111 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (bit1.{0} Nat Nat.hasOne Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))))))) (Char.ofNat (OfNat.ofNat.{0} Nat 117 (OfNat.mk.{0} Nat 117 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit1.{0} Nat Nat.hasOne Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))))))) (Char.ofNat (OfNat.ofNat.{0} Nat 115 (OfNat.mk.{0} Nat 115 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit1.{0} Nat Nat.hasOne Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))))))) (Char.ofNat (OfNat.ofNat.{0} Nat 108 (OfNat.mk.{0} Nat 108 (bit0.{0} Nat Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (bit1.{0} Nat Nat.hasOne Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))))))) (Char.ofNat (OfNat.ofNat.{0} Nat 121 (OfNat.mk.{0} Nat 121 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit1.{0} Nat Nat.hasOne Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))))))) Name.anonymous)))) trivial)))) (CategoryTheory.Iso.inv.{u2, u1} C _inst_1 (CategoryTheory.Limits.pullback.diagonalObj.{u1, u2} C _inst_1 (CategoryTheory.Limits.pullback.{u2, u1} C _inst_1 X Y Z f g (CategoryTheory.Limits.diagonalObjPullbackFstIso._proof_1.{u1, u2} C _inst_1 _inst_2 X Y Z f g)) X (CategoryTheory.Limits.pullback.fst.{u2, u1} C _inst_1 X Y Z f g (CategoryTheory.Limits.diagonalObjPullbackFstIso._proof_2.{u1, u2} C _inst_1 _inst_2 X Y Z f g)) (CategoryTheory.Limits.diagonalObjPullbackFstIso._proof_3.{u1, u2} C _inst_1 _inst_2 X Y Z f g)) (CategoryTheory.Limits.pullback.{u2, u1} C _inst_1 (CategoryTheory.Limits.pullback.diagonalObj.{u1, u2} C _inst_1 Y Z g (CategoryTheory.Limits.diagonalObjPullbackFstIso._proof_4.{u1, u2} C _inst_1 _inst_2 Y Z g)) X Z (CategoryTheory.CategoryStruct.comp.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1) (CategoryTheory.Limits.pullback.diagonalObj.{u1, u2} C _inst_1 Y Z g (CategoryTheory.Limits.diagonalObjPullbackFstIso._proof_4.{u1, u2} C _inst_1 _inst_2 Y Z g)) Y Z (CategoryTheory.Limits.pullback.snd.{u2, u1} C _inst_1 Y Y Z g g (CategoryTheory.Limits.diagonalObjPullbackFstIso._proof_5.{u1, u2} C _inst_1 _inst_2 Y Z g)) g) f (CategoryTheory.Limits.diagonalObjPullbackFstIso._proof_6.{u1, u2} C _inst_1 _inst_2 X Y Z f g)) (CategoryTheory.Limits.diagonalObjPullbackFstIso.{u1, u2} C _inst_1 _inst_2 X Y Z f g))))
+but is expected to have type
+ forall {C : Type.{u1}} [_inst_1 : CategoryTheory.Category.{u2, u1} C] [_inst_2 : CategoryTheory.Limits.HasPullbacks.{u2, u1} C _inst_1] {X : C} {Y : C} {Z : C} (f : Quiver.Hom.{succ u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1)) X Z) (g : Quiver.Hom.{succ u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1)) Y Z), 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.pullback.{u2, u1} C _inst_1 X Y Z f g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 X Y Z f g))) (CategoryTheory.Limits.pullback.diagonalObj.{u1, u2} C _inst_1 (CategoryTheory.Limits.pullback.{u2, u1} C _inst_1 X Y Z f g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 X Y Z f g))) X (CategoryTheory.Limits.pullback.fst.{u2, u1} C _inst_1 X Y Z f g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 X Y Z f g))) (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 (CategoryTheory.Limits.pullback.{u2, u1} C _inst_1 X Y Z f g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 X Y Z f g))) (CategoryTheory.Limits.pullback.{u2, u1} C _inst_1 X Y Z f g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 X Y Z f g))) X (CategoryTheory.Limits.pullback.fst.{u2, u1} C _inst_1 X Y Z f g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 X Y Z f g))) (CategoryTheory.Limits.pullback.fst.{u2, u1} C _inst_1 X Y Z f g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 X Y Z f g))))))) (CategoryTheory.Limits.pullback.diagonal.{u1, u2} C _inst_1 (CategoryTheory.Limits.pullback.{u2, u1} C _inst_1 X Y Z f g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 X Y Z f g))) X (CategoryTheory.Limits.pullback.fst.{u2, u1} C _inst_1 X Y Z f g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 X Y Z f g))) (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 (CategoryTheory.Limits.pullback.{u2, u1} C _inst_1 X Y Z f g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 X Y Z f g))) (CategoryTheory.Limits.pullback.{u2, u1} C _inst_1 X Y Z f g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 X Y Z f g))) X (CategoryTheory.Limits.pullback.fst.{u2, u1} C _inst_1 X Y Z f g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 X Y Z f g))) (CategoryTheory.Limits.pullback.fst.{u2, u1} C _inst_1 X Y Z f g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 X Y Z f g)))))) (CategoryTheory.CategoryStruct.comp.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1) (CategoryTheory.Limits.pullback.{u2, u1} C _inst_1 X (Prefunctor.obj.{succ u2, succ u2, u1, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1)) C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u2, u2, u1, u1} C _inst_1 C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1)) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g))) (Prefunctor.obj.{succ u2, succ u2, u2, u1} (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.CategoryStruct.toQuiver.{u2, u2} (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.Category.toCategoryStruct.{u2, u2} (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}))) C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u2, u2, u2, u1} (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z)) (CategoryTheory.Comma.right.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g))) f (CategoryTheory.Comma.hom.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 X (Prefunctor.obj.{succ u2, succ u2, u1, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1)) C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u2, u2, u1, u1} C _inst_1 C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1)) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g))) (Prefunctor.obj.{succ u2, succ u2, u2, u1} (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.CategoryStruct.toQuiver.{u2, u2} (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.Category.toCategoryStruct.{u2, u2} (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}))) C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u2, u2, u2, u1} (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z)) (CategoryTheory.Comma.right.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g))) f (CategoryTheory.Comma.hom.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g))))) (CategoryTheory.Limits.pullback.{u2, u1} C _inst_1 (Prefunctor.obj.{succ u2, succ u2, u1, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1)) C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u2, u2, u1, u1} C _inst_1 C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1)) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g))) X (Prefunctor.obj.{succ u2, succ u2, u2, u1} (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.CategoryStruct.toQuiver.{u2, u2} (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.Category.toCategoryStruct.{u2, u2} (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}))) C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u2, u2, u2, u1} (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z)) (CategoryTheory.Comma.right.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g))) (CategoryTheory.Comma.hom.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) f (CategoryTheory.Limits.hasPullback_symmetry.{u2, u1} C _inst_1 X (Prefunctor.obj.{succ u2, succ u2, u1, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1)) C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u2, u2, u1, u1} C _inst_1 C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1)) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g))) (Prefunctor.obj.{succ u2, succ u2, u2, u1} (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.CategoryStruct.toQuiver.{u2, u2} (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.Category.toCategoryStruct.{u2, u2} (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}))) C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u2, u2, u2, u1} (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z)) (CategoryTheory.Comma.right.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g))) f (CategoryTheory.Comma.hom.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 X (Prefunctor.obj.{succ u2, succ u2, u1, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1)) C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u2, u2, u1, u1} C _inst_1 C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1)) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g))) (Prefunctor.obj.{succ u2, succ u2, u2, u1} (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.CategoryStruct.toQuiver.{u2, u2} (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.Category.toCategoryStruct.{u2, u2} (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}))) C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u2, u2, u2, u1} (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z)) (CategoryTheory.Comma.right.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g))) f (CategoryTheory.Comma.hom.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)))))) (CategoryTheory.Limits.pullback.diagonalObj.{u1, u2} C _inst_1 (CategoryTheory.Limits.pullback.{u2, u1} C _inst_1 X Y Z f g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 X Y Z f g))) X (CategoryTheory.Limits.pullback.fst.{u2, u1} C _inst_1 X Y Z f g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 X Y Z f g))) (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 (CategoryTheory.Limits.pullback.{u2, u1} C _inst_1 X Y Z f g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 X Y Z f g))) (CategoryTheory.Limits.pullback.{u2, u1} C _inst_1 X Y Z f g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 X Y Z f g))) X (CategoryTheory.Limits.pullback.fst.{u2, u1} C _inst_1 X Y Z f g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 X Y Z f g))) (CategoryTheory.Limits.pullback.fst.{u2, u1} C _inst_1 X Y Z f g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 X Y Z f g)))))) (CategoryTheory.Iso.hom.{u2, u1} C _inst_1 (CategoryTheory.Limits.pullback.{u2, u1} C _inst_1 X (Prefunctor.obj.{succ u2, succ u2, u1, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1)) C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u2, u2, u1, u1} C _inst_1 C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1)) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g))) (Prefunctor.obj.{succ u2, succ u2, u2, u1} (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.CategoryStruct.toQuiver.{u2, u2} (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.Category.toCategoryStruct.{u2, u2} (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}))) C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u2, u2, u2, u1} (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z)) (CategoryTheory.Comma.right.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g))) f (CategoryTheory.Comma.hom.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 X (Prefunctor.obj.{succ u2, succ u2, u1, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1)) C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u2, u2, u1, u1} C _inst_1 C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1)) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g))) (Prefunctor.obj.{succ u2, succ u2, u2, u1} (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.CategoryStruct.toQuiver.{u2, u2} (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.Category.toCategoryStruct.{u2, u2} (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}))) C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u2, u2, u2, u1} (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z)) (CategoryTheory.Comma.right.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g))) f (CategoryTheory.Comma.hom.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g))))) (CategoryTheory.Limits.pullback.{u2, u1} C _inst_1 (Prefunctor.obj.{succ u2, succ u2, u1, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1)) C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u2, u2, u1, u1} C _inst_1 C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1)) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g))) X (Prefunctor.obj.{succ u2, succ u2, u2, u1} (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.CategoryStruct.toQuiver.{u2, u2} (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.Category.toCategoryStruct.{u2, u2} (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}))) C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u2, u2, u2, u1} (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z)) (CategoryTheory.Comma.right.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g))) (CategoryTheory.Comma.hom.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) f (CategoryTheory.Limits.hasPullback_symmetry.{u2, u1} C _inst_1 X (Prefunctor.obj.{succ u2, succ u2, u1, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1)) C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u2, u2, u1, u1} C _inst_1 C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1)) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g))) (Prefunctor.obj.{succ u2, succ u2, u2, u1} (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.CategoryStruct.toQuiver.{u2, u2} (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.Category.toCategoryStruct.{u2, u2} (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}))) C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u2, u2, u2, u1} (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z)) (CategoryTheory.Comma.right.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g))) f (CategoryTheory.Comma.hom.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 X (Prefunctor.obj.{succ u2, succ u2, u1, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1)) C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u2, u2, u1, u1} C _inst_1 C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1)) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g))) (Prefunctor.obj.{succ u2, succ u2, u2, u1} (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.CategoryStruct.toQuiver.{u2, u2} (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.Category.toCategoryStruct.{u2, u2} (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}))) C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u2, u2, u2, u1} (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z)) (CategoryTheory.Comma.right.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g))) f (CategoryTheory.Comma.hom.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)))))) (CategoryTheory.Limits.pullbackSymmetry.{u2, u1} C _inst_1 X (Prefunctor.obj.{succ u2, succ u2, u1, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1)) C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u2, u2, u1, u1} C _inst_1 C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1)) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g))) (Prefunctor.obj.{succ u2, succ u2, u2, u1} (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.CategoryStruct.toQuiver.{u2, u2} (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.Category.toCategoryStruct.{u2, u2} (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}))) C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u2, u2, u2, u1} (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z)) (CategoryTheory.Comma.right.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g))) f (CategoryTheory.Comma.hom.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 X (Prefunctor.obj.{succ u2, succ u2, u1, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1)) C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u2, u2, u1, u1} C _inst_1 C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1)) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g))) (Prefunctor.obj.{succ u2, succ u2, u2, u1} (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.CategoryStruct.toQuiver.{u2, u2} (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.Category.toCategoryStruct.{u2, u2} (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}))) C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u2, u2, u2, u1} (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z)) (CategoryTheory.Comma.right.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g))) f (CategoryTheory.Comma.hom.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)))))) (CategoryTheory.CategoryStruct.comp.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1) (CategoryTheory.Limits.pullback.{u2, u1} C _inst_1 (Prefunctor.obj.{succ u2, succ u2, u1, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1)) C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u2, u2, u1, u1} C _inst_1 C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1)) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g))) X (Prefunctor.obj.{succ u2, succ u2, u2, u1} (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.CategoryStruct.toQuiver.{u2, u2} (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.Category.toCategoryStruct.{u2, u2} (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}))) C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u2, u2, u2, u1} (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z)) (CategoryTheory.Comma.right.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g))) (CategoryTheory.Comma.hom.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) f (CategoryTheory.Limits.hasPullback_symmetry.{u2, u1} C _inst_1 X (Prefunctor.obj.{succ u2, succ u2, u1, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1)) C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u2, u2, u1, u1} C _inst_1 C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1)) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g))) (Prefunctor.obj.{succ u2, succ u2, u2, u1} (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.CategoryStruct.toQuiver.{u2, u2} (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.Category.toCategoryStruct.{u2, u2} (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}))) C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u2, u2, u2, u1} (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z)) (CategoryTheory.Comma.right.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g))) f (CategoryTheory.Comma.hom.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 X (Prefunctor.obj.{succ u2, succ u2, u1, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1)) C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u2, u2, u1, u1} C _inst_1 C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1)) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g))) (Prefunctor.obj.{succ u2, succ u2, u2, u1} (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.CategoryStruct.toQuiver.{u2, u2} (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.Category.toCategoryStruct.{u2, u2} (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}))) C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u2, u2, u2, u1} (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z)) (CategoryTheory.Comma.right.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g))) f (CategoryTheory.Comma.hom.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)))))) (CategoryTheory.Comma.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 X) (Prefunctor.obj.{succ u2, succ u2, max u1 u2, max u1 u2} (CategoryTheory.Over.{u2, u1} C _inst_1 Z) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u1 u2} (CategoryTheory.Over.{u2, u1} C _inst_1 Z) (CategoryTheory.Category.toCategoryStruct.{u2, max u1 u2} (CategoryTheory.Over.{u2, u1} C _inst_1 Z) (CategoryTheory.instCategoryOver.{u2, u1} C _inst_1 Z))) (CategoryTheory.Over.{u2, u1} C _inst_1 X) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u1 u2} (CategoryTheory.Over.{u2, u1} C _inst_1 X) (CategoryTheory.Category.toCategoryStruct.{u2, max u1 u2} (CategoryTheory.Over.{u2, u1} C _inst_1 X) (CategoryTheory.instCategoryOver.{u2, u1} C _inst_1 X))) (CategoryTheory.Functor.toPrefunctor.{u2, u2, max u1 u2, max u1 u2} (CategoryTheory.Over.{u2, u1} C _inst_1 Z) (CategoryTheory.instCategoryOver.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.{u2, u1} C _inst_1 X) (CategoryTheory.instCategoryOver.{u2, u1} C _inst_1 X) (CategoryTheory.Limits.baseChange.{u2, u1} C _inst_1 _inst_2 X Z f)) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z (CategoryTheory.Limits.pullback.{u2, u1} C _inst_1 Y Y Z g g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 Y Y Z g g))) (CategoryTheory.CategoryStruct.comp.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1) (CategoryTheory.Limits.pullback.{u2, u1} C _inst_1 Y Y Z g g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 Y Y Z g g))) Y Z (CategoryTheory.Limits.pullback.snd.{u2, u1} C _inst_1 Y Y Z g g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 Y Y Z g g))) g)))) (CategoryTheory.Limits.pullback.diagonalObj.{u1, u2} C _inst_1 (CategoryTheory.Limits.pullback.{u2, u1} C _inst_1 X Y Z f g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 X Y Z f g))) X (CategoryTheory.Limits.pullback.fst.{u2, u1} C _inst_1 X Y Z f g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 X Y Z f g))) (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 (CategoryTheory.Limits.pullback.{u2, u1} C _inst_1 X Y Z f g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 X Y Z f g))) (CategoryTheory.Limits.pullback.{u2, u1} C _inst_1 X Y Z f g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 X Y Z f g))) X (CategoryTheory.Limits.pullback.fst.{u2, u1} C _inst_1 X Y Z f g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 X Y Z f g))) (CategoryTheory.Limits.pullback.fst.{u2, u1} C _inst_1 X Y Z f g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 X Y Z f g)))))) (CategoryTheory.CommaMorphism.left.{u2, u2, u2, u1, u2, u1} C _inst_1 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) C _inst_1 (CategoryTheory.Functor.id.{u2, u1} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u2, u1} C _inst_1 X) (Prefunctor.obj.{succ u2, succ u2, max u1 u2, max u1 u2} (CategoryTheory.Over.{u2, u1} C _inst_1 Z) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u1 u2} (CategoryTheory.Over.{u2, u1} C _inst_1 Z) (CategoryTheory.Category.toCategoryStruct.{u2, max u1 u2} (CategoryTheory.Over.{u2, u1} C _inst_1 Z) (CategoryTheory.instCategoryOver.{u2, u1} C _inst_1 Z))) (CategoryTheory.Over.{u2, u1} C _inst_1 X) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u1 u2} (CategoryTheory.Over.{u2, u1} C _inst_1 X) (CategoryTheory.Category.toCategoryStruct.{u2, max u1 u2} (CategoryTheory.Over.{u2, u1} C _inst_1 X) (CategoryTheory.instCategoryOver.{u2, u1} C _inst_1 X))) (CategoryTheory.Functor.toPrefunctor.{u2, u2, max u1 u2, max u1 u2} (CategoryTheory.Over.{u2, u1} C _inst_1 Z) (CategoryTheory.instCategoryOver.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.{u2, u1} C _inst_1 X) (CategoryTheory.instCategoryOver.{u2, u1} C _inst_1 X) (CategoryTheory.Limits.baseChange.{u2, u1} C _inst_1 _inst_2 X Z f)) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g)) (Prefunctor.obj.{succ u2, succ u2, max u1 u2, max u1 u2} (CategoryTheory.Over.{u2, u1} C _inst_1 Z) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u1 u2} (CategoryTheory.Over.{u2, u1} C _inst_1 Z) (CategoryTheory.Category.toCategoryStruct.{u2, max u1 u2} (CategoryTheory.Over.{u2, u1} C _inst_1 Z) (CategoryTheory.instCategoryOver.{u2, u1} C _inst_1 Z))) (CategoryTheory.Over.{u2, u1} C _inst_1 X) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u1 u2} (CategoryTheory.Over.{u2, u1} C _inst_1 X) (CategoryTheory.Category.toCategoryStruct.{u2, max u1 u2} (CategoryTheory.Over.{u2, u1} C _inst_1 X) (CategoryTheory.instCategoryOver.{u2, u1} C _inst_1 X))) (CategoryTheory.Functor.toPrefunctor.{u2, u2, max u1 u2, max u1 u2} (CategoryTheory.Over.{u2, u1} C _inst_1 Z) (CategoryTheory.instCategoryOver.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.{u2, u1} C _inst_1 X) (CategoryTheory.instCategoryOver.{u2, u1} C _inst_1 X) (CategoryTheory.Limits.baseChange.{u2, u1} C _inst_1 _inst_2 X Z f)) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z (CategoryTheory.Limits.pullback.{u2, u1} C _inst_1 Y Y Z g g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 Y Y Z g g))) (CategoryTheory.CategoryStruct.comp.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1) (CategoryTheory.Limits.pullback.{u2, u1} C _inst_1 Y Y Z g g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 Y Y Z g g))) Y Z (CategoryTheory.Limits.pullback.snd.{u2, u1} C _inst_1 Y Y Z g g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 Y Y Z g g))) g))) (Prefunctor.map.{succ u2, succ u2, max u1 u2, max u1 u2} (CategoryTheory.Over.{u2, u1} C _inst_1 Z) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u1 u2} (CategoryTheory.Over.{u2, u1} C _inst_1 Z) (CategoryTheory.Category.toCategoryStruct.{u2, max u1 u2} (CategoryTheory.Over.{u2, u1} C _inst_1 Z) (CategoryTheory.instCategoryOver.{u2, u1} C _inst_1 Z))) (CategoryTheory.Over.{u2, u1} C _inst_1 X) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u1 u2} (CategoryTheory.Over.{u2, u1} C _inst_1 X) (CategoryTheory.Category.toCategoryStruct.{u2, max u1 u2} (CategoryTheory.Over.{u2, u1} C _inst_1 X) (CategoryTheory.instCategoryOver.{u2, u1} C _inst_1 X))) (CategoryTheory.Functor.toPrefunctor.{u2, u2, max u1 u2, max u1 u2} (CategoryTheory.Over.{u2, u1} C _inst_1 Z) (CategoryTheory.instCategoryOver.{u2, u1} C _inst_1 Z) (CategoryTheory.Over.{u2, u1} C _inst_1 X) (CategoryTheory.instCategoryOver.{u2, u1} C _inst_1 X) (CategoryTheory.Limits.baseChange.{u2, u1} C _inst_1 _inst_2 X Z f)) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z (CategoryTheory.Limits.pullback.{u2, u1} C _inst_1 Y Y Z g g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 Y Y Z g g))) (CategoryTheory.CategoryStruct.comp.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1) (CategoryTheory.Limits.pullback.{u2, u1} C _inst_1 Y Y Z g g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 Y Y Z g g))) Y Z (CategoryTheory.Limits.pullback.snd.{u2, u1} C _inst_1 Y Y Z g g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 Y Y Z g g))) g)) (CategoryTheory.Over.homMk.{u2, u1} C _inst_1 Z (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z Y g) (CategoryTheory.Over.mk.{u2, u1} C _inst_1 Z (CategoryTheory.Limits.pullback.{u2, u1} C _inst_1 Y Y Z g g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 Y Y Z g g))) (CategoryTheory.CategoryStruct.comp.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1) (CategoryTheory.Limits.pullback.{u2, u1} C _inst_1 Y Y Z g g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 Y Y Z g g))) Y Z (CategoryTheory.Limits.pullback.snd.{u2, u1} C _inst_1 Y Y Z g g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 Y Y Z g g))) g)) (CategoryTheory.Limits.pullback.diagonal.{u1, u2} C _inst_1 Y Z g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 Y Y Z g g))) (of_eq_true (Eq.{succ u2} (Quiver.Hom.{succ u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1)) Y Z) (CategoryTheory.CategoryStruct.comp.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1) Y (CategoryTheory.Limits.pullback.diagonalObj.{u1, u2} C _inst_1 Y Z g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 Y Y Z g g))) Z (CategoryTheory.Limits.pullback.diagonal.{u1, u2} C _inst_1 Y Z g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 Y Y Z g g))) (CategoryTheory.CategoryStruct.comp.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1) (CategoryTheory.Limits.pullback.diagonalObj.{u1, u2} C _inst_1 Y Z g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 Y Y Z g g))) Y Z (CategoryTheory.Limits.pullback.snd.{u2, u1} C _inst_1 Y Y Z g g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 Y Y Z g g))) g)) g) (Eq.trans.{1} Prop (Eq.{succ u2} (Quiver.Hom.{succ u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1)) Y Z) (CategoryTheory.CategoryStruct.comp.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1) Y (CategoryTheory.Limits.pullback.diagonalObj.{u1, u2} C _inst_1 Y Z g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 Y Y Z g g))) Z (CategoryTheory.Limits.pullback.diagonal.{u1, u2} C _inst_1 Y Z g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 Y Y Z g g))) (CategoryTheory.CategoryStruct.comp.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1) (CategoryTheory.Limits.pullback.diagonalObj.{u1, u2} C _inst_1 Y Z g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 Y Y Z g g))) Y Z (CategoryTheory.Limits.pullback.snd.{u2, u1} C _inst_1 Y Y Z g g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 Y Y Z g g))) g)) g) (Eq.{succ u2} (Quiver.Hom.{succ u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1)) Y Z) g g) True (congrFun.{succ u2, 1} (Quiver.Hom.{succ u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1)) Y Z) (fun (a._@.Init.Prelude._hyg.170 : Quiver.Hom.{succ u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1)) Y Z) => Prop) (Eq.{succ u2} (Quiver.Hom.{succ u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1)) Y Z) (CategoryTheory.CategoryStruct.comp.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1) Y (CategoryTheory.Limits.pullback.diagonalObj.{u1, u2} C _inst_1 Y Z g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 Y Y Z g g))) Z (CategoryTheory.Limits.pullback.diagonal.{u1, u2} C _inst_1 Y Z g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 Y Y Z g g))) (CategoryTheory.CategoryStruct.comp.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1) (CategoryTheory.Limits.pullback.diagonalObj.{u1, u2} C _inst_1 Y Z g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 Y Y Z g g))) Y Z (CategoryTheory.Limits.pullback.snd.{u2, u1} C _inst_1 Y Y Z g g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 Y Y Z g g))) g))) (Eq.{succ u2} (Quiver.Hom.{succ u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1)) Y Z) g) (congrArg.{succ u2, succ u2} (Quiver.Hom.{succ u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1)) Y Z) ((Quiver.Hom.{succ u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1)) Y Z) -> Prop) (CategoryTheory.CategoryStruct.comp.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1) Y (CategoryTheory.Limits.pullback.diagonalObj.{u1, u2} C _inst_1 Y Z g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 Y Y Z g g))) Z (CategoryTheory.Limits.pullback.diagonal.{u1, u2} C _inst_1 Y Z g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 Y Y Z g g))) (CategoryTheory.CategoryStruct.comp.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1) (CategoryTheory.Limits.pullback.diagonalObj.{u1, u2} C _inst_1 Y Z g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 Y Y Z g g))) Y Z (CategoryTheory.Limits.pullback.snd.{u2, u1} C _inst_1 Y Y Z g g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 Y Y Z g g))) g)) g (Eq.{succ u2} (Quiver.Hom.{succ u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1)) Y Z)) (CategoryTheory.Limits.pullback.diagonal_snd_assoc.{u1, u2} C _inst_1 Y Z g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 Y Y Z g g)) Z g)) g) (eq_self.{succ u2} (Quiver.Hom.{succ u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1)) Y Z) g)))))) (CategoryTheory.Iso.inv.{u2, u1} C _inst_1 (CategoryTheory.Limits.pullback.diagonalObj.{u1, u2} C _inst_1 (CategoryTheory.Limits.pullback.{u2, u1} C _inst_1 X Y Z f g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 X Y Z f g))) X (CategoryTheory.Limits.pullback.fst.{u2, u1} C _inst_1 X Y Z f g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 X Y Z f g))) (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 (CategoryTheory.Limits.pullback.{u2, u1} C _inst_1 X Y Z f g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 X Y Z f g))) (CategoryTheory.Limits.pullback.{u2, u1} C _inst_1 X Y Z f g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 X Y Z f g))) X (CategoryTheory.Limits.pullback.fst.{u2, u1} C _inst_1 X Y Z f g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 X Y Z f g))) (CategoryTheory.Limits.pullback.fst.{u2, u1} C _inst_1 X Y Z f g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 X Y Z f g)))))) (CategoryTheory.Limits.pullback.{u2, u1} C _inst_1 (CategoryTheory.Limits.pullback.diagonalObj.{u1, u2} C _inst_1 Y Z g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 Y Y Z g g))) X Z (CategoryTheory.CategoryStruct.comp.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1) (CategoryTheory.Limits.pullback.diagonalObj.{u1, u2} C _inst_1 Y Z g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 Y Y Z g g))) Y Z (CategoryTheory.Limits.pullback.snd.{u2, u1} C _inst_1 Y Y Z g g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 Y Y Z g g))) g) f (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 (CategoryTheory.Limits.pullback.diagonalObj.{u1, u2} C _inst_1 Y Z g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 Y Y Z g g))) X Z (CategoryTheory.CategoryStruct.comp.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1) (CategoryTheory.Limits.pullback.diagonalObj.{u1, u2} C _inst_1 Y Z g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 Y Y Z g g))) Y Z (CategoryTheory.Limits.pullback.snd.{u2, u1} C _inst_1 Y Y Z g g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u2, u1} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_2 (CategoryTheory.Limits.cospan.{u2, u1} C _inst_1 Y Y Z g g))) g) f))) (CategoryTheory.Limits.diagonalObjPullbackFstIso.{u1, u2} C _inst_1 _inst_2 X Y Z f g))))
+Case conversion may be inaccurate. Consider using '#align category_theory.limits.diagonal_pullback_fst CategoryTheory.Limits.diagonal_pullback_fstₓ'. -/
theorem diagonal_pullback_fst {X Y Z : C} (f : X ⟶ Z) (g : Y ⟶ Z) :
diagonal (pullback.fst : pullback f g ⟶ _) =
(pullbackSymmetry _ _).Hom ≫
@@ -390,6 +456,7 @@ theorem diagonal_pullback_fst {X Y Z : C} (f : X ⟶ Z) (g : Y ⟶ Z) :
end
+#print CategoryTheory.Limits.pullbackFstFstIso /-
/-- Given the following diagram with `S ⟶ S'` a monomorphism,
X ⟶ X'
@@ -437,7 +504,9 @@ def pullbackFstFstIso {X Y S X' Y' S' : C} (f : X ⟶ S) (g : Y ⟶ S) (f' : X'
simp only [category.assoc, category.id_comp, lift_fst, lift_snd, lift_fst_assoc,
lift_snd_assoc]
#align category_theory.limits.pullback_fst_fst_iso CategoryTheory.Limits.pullbackFstFstIso
+-/
+#print CategoryTheory.Limits.pullback_map_eq_pullbackFstFstIso_inv /-
theorem pullback_map_eq_pullbackFstFstIso_inv {X Y S X' Y' S' : C} (f : X ⟶ S) (g : Y ⟶ S)
(f' : X' ⟶ S') (g' : Y' ⟶ S') (i₁ : X ⟶ X') (i₂ : Y ⟶ Y') (i₃ : S ⟶ S') (e₁ : f ≫ i₃ = i₁ ≫ f')
(e₂ : g ≫ i₃ = i₂ ≫ g') [Mono i₃] :
@@ -448,7 +517,9 @@ theorem pullback_map_eq_pullbackFstFstIso_inv {X Y S X' Y' S' : C} (f : X ⟶ S)
simp only [category.assoc, category.id_comp, lift_fst, lift_snd, lift_fst_assoc, lift_snd_assoc,
pullback_fst_fst_iso_inv, ← pullback.condition, ← pullback.condition_assoc]
#align category_theory.limits.pullback_map_eq_pullback_fst_fst_iso_inv CategoryTheory.Limits.pullback_map_eq_pullbackFstFstIso_inv
+-/
+#print CategoryTheory.Limits.pullback_lift_map_isPullback /-
theorem pullback_lift_map_isPullback {X Y S X' Y' S' : C} (f : X ⟶ S) (g : Y ⟶ S) (f' : X' ⟶ S')
(g' : Y' ⟶ S') (i₁ : X ⟶ X') (i₂ : Y ⟶ Y') (i₃ : S ⟶ S') (e₁ : f ≫ i₃ = i₁ ≫ f')
(e₂ : g ≫ i₃ = i₂ ≫ g') [Mono i₃] :
@@ -458,6 +529,7 @@ theorem pullback_lift_map_isPullback {X Y S X' Y' S' : C} (f : X ⟶ S) (g : Y
IsPullback.of_iso_pullback ⟨by rw [lift_fst, lift_fst]⟩
(pullbackFstFstIso f g f' g' i₁ i₂ i₃ e₁ e₂).symm (by simp) (by simp)
#align category_theory.limits.pullback_lift_map_is_pullback CategoryTheory.Limits.pullback_lift_map_isPullback
+-/
end CategoryTheory.Limits
mathlib commit https://github.com/leanprover-community/mathlib/commit/eb0cb4511aaef0da2462207b67358a0e1fe1e2ee
@@ -71,7 +71,7 @@ instance [Mono f] : IsIso (diagonal f) :=
/-- The two projections `Δ_{X/Y} ⟶ X` form a kernel pair for `f : X ⟶ Y`. -/
theorem diagonal_isKernelPair : IsKernelPair f (pullback.fst : diagonalObj f ⟶ _) pullback.snd :=
- IsPullback.ofHasPullback f f
+ IsPullback.of_hasPullback f f
#align category_theory.limits.pullback.diagonal_is_kernel_pair CategoryTheory.Limits.pullback.diagonal_isKernelPair
end Diagonal
@@ -197,16 +197,16 @@ theorem pullbackDiagonalMapIso_inv_snd_snd :
simp
#align category_theory.limits.pullback_diagonal_map_iso_inv_snd_snd CategoryTheory.Limits.pullbackDiagonalMapIso_inv_snd_snd
-theorem pullbackFstMapSndIsPullback :
+theorem pullback_fst_map_snd_isPullback :
IsPullback (fst ≫ i₁ ≫ fst)
(map i₁ i₂ (i₁ ≫ snd) (i₂ ≫ snd) _ _ _ (Category.id_comp _).symm (Category.id_comp _).symm)
(diagonal f)
(map (i₁ ≫ snd) (i₂ ≫ snd) f f (i₁ ≫ fst) (i₂ ≫ fst) i (by simp [condition])
(by simp [condition])) :=
- IsPullback.ofIsoPullback ⟨by ext <;> simp [condition_assoc]⟩
+ IsPullback.of_iso_pullback ⟨by ext <;> simp [condition_assoc]⟩
(pullbackDiagonalMapIso f i i₁ i₂).symm (pullbackDiagonalMapIso_inv_fst f i i₁ i₂)
(by ext1 <;> simp)
-#align category_theory.limits.pullback_fst_map_snd_is_pullback CategoryTheory.Limits.pullbackFstMapSndIsPullback
+#align category_theory.limits.pullback_fst_map_snd_is_pullback CategoryTheory.Limits.pullback_fst_map_snd_isPullback
end
@@ -297,7 +297,7 @@ theorem pullback.diagonal_comp (f : X ⟶ Y) (g : Y ⟶ Z) [HasPullback f f] [Ha
ext <;> simp
#align category_theory.limits.pullback.diagonal_comp CategoryTheory.Limits.pullback.diagonal_comp
-theorem pullbackMapDiagonalIsPullback :
+theorem pullback_map_diagonal_isPullback :
IsPullback (pullback.fst ≫ f)
(pullback.map f g (f ≫ i) (g ≫ i) _ _ i (Category.id_comp _).symm (Category.id_comp _).symm)
(diagonal i)
@@ -308,7 +308,7 @@ theorem pullbackMapDiagonalIsPullback :
· ext <;> simp
· constructor
ext <;> simp [condition]
-#align category_theory.limits.pullback_map_diagonal_is_pullback CategoryTheory.Limits.pullbackMapDiagonalIsPullback
+#align category_theory.limits.pullback_map_diagonal_is_pullback CategoryTheory.Limits.pullback_map_diagonal_isPullback
/-- The diagonal object of `X ×[Z] Y ⟶ X` is isomorphic to `Δ_{Y/Z} ×[Z] X`. -/
def diagonalObjPullbackFstIso {X Y Z : C} (f : X ⟶ Z) (g : Y ⟶ Z) :
@@ -449,15 +449,15 @@ theorem pullback_map_eq_pullbackFstFstIso_inv {X Y S X' Y' S' : C} (f : X ⟶ S)
pullback_fst_fst_iso_inv, ← pullback.condition, ← pullback.condition_assoc]
#align category_theory.limits.pullback_map_eq_pullback_fst_fst_iso_inv CategoryTheory.Limits.pullback_map_eq_pullbackFstFstIso_inv
-theorem pullbackLiftMapIsPullback {X Y S X' Y' S' : C} (f : X ⟶ S) (g : Y ⟶ S) (f' : X' ⟶ S')
+theorem pullback_lift_map_isPullback {X Y S X' Y' S' : C} (f : X ⟶ S) (g : Y ⟶ S) (f' : X' ⟶ S')
(g' : Y' ⟶ S') (i₁ : X ⟶ X') (i₂ : Y ⟶ Y') (i₃ : S ⟶ S') (e₁ : f ≫ i₃ = i₁ ≫ f')
(e₂ : g ≫ i₃ = i₂ ≫ g') [Mono i₃] :
IsPullback (pullback.lift (pullback.map f g f' g' i₁ i₂ i₃ e₁ e₂) fst (lift_fst _ _ _))
(pullback.lift (pullback.map f g f' g' i₁ i₂ i₃ e₁ e₂) snd (lift_snd _ _ _)) pullback.fst
pullback.fst :=
- IsPullback.ofIsoPullback ⟨by rw [lift_fst, lift_fst]⟩
+ IsPullback.of_iso_pullback ⟨by rw [lift_fst, lift_fst]⟩
(pullbackFstFstIso f g f' g' i₁ i₂ i₃ e₁ e₂).symm (by simp) (by simp)
-#align category_theory.limits.pullback_lift_map_is_pullback CategoryTheory.Limits.pullbackLiftMapIsPullback
+#align category_theory.limits.pullback_lift_map_is_pullback CategoryTheory.Limits.pullback_lift_map_isPullback
end CategoryTheory.Limits
mathlib commit https://github.com/leanprover-community/mathlib/commit/bd9851ca476957ea4549eb19b40e7b5ade9428cc
@@ -221,13 +221,14 @@ def pullbackDiagonalMapIdIso :
pullback f g := by
refine' _ ≪≫
pullbackDiagonalMapIso i (𝟙 _) (f ≫ inv pullback.fst) (g ≫ inv pullback.fst) ≪≫ _
- · refine' @asIso _ _ _ _ (pullback.map _ _ _ _ (𝟙 T) ((pullback.congrHom _ _).hom) (𝟙 _) _ _) ?_
+ · refine @asIso _ _ _ _ (pullback.map _ _ _ _ (𝟙 T) ((pullback.congrHom ?_ ?_).hom) (𝟙 _) ?_ ?_)
+ ?_
· rw [← Category.comp_id pullback.snd, ← condition, Category.assoc, IsIso.inv_hom_id_assoc]
· rw [← Category.comp_id pullback.snd, ← condition, Category.assoc, IsIso.inv_hom_id_assoc]
· rw [Category.comp_id, Category.id_comp]
· ext <;> simp
· infer_instance
- · refine' @asIso _ _ _ _ (pullback.map _ _ _ _ (𝟙 _) (𝟙 _) pullback.fst _ _) ?_
+ · refine @asIso _ _ _ _ (pullback.map _ _ _ _ (𝟙 _) (𝟙 _) pullback.fst ?_ ?_) ?_
· rw [Category.assoc, IsIso.inv_hom_id, Category.comp_id, Category.id_comp]
· rw [Category.assoc, IsIso.inv_hom_id, Category.comp_id, Category.id_comp]
· infer_instance
Empty lines were removed by executing the following Python script twice
import os
import re
# Loop through each file in the repository
for dir_path, dirs, files in os.walk('.'):
for filename in files:
if filename.endswith('.lean'):
file_path = os.path.join(dir_path, filename)
# Open the file and read its contents
with open(file_path, 'r') as file:
content = file.read()
# Use a regular expression to replace sequences of "variable" lines separated by empty lines
# with sequences without empty lines
modified_content = re.sub(r'(variable.*\n)\n(variable(?! .* in))', r'\1\2', content)
# Write the modified content back to the file
with open(file_path, 'w') as file:
file.write(modified_content)
@@ -81,7 +81,6 @@ open pullback
section
variable {U V₁ V₂ : C} (f : X ⟶ Y) (i : U ⟶ Y)
-
variable (i₁ : V₁ ⟶ pullback f i) (i₂ : V₂ ⟶ pullback f i)
@[reassoc (attr := simp)]
@@ -199,9 +198,7 @@ end
section
variable {S T : C} (f : X ⟶ T) (g : Y ⟶ T) (i : T ⟶ S)
-
variable [HasPullback i i] [HasPullback f g] [HasPullback (f ≫ i) (g ≫ i)]
-
variable
[HasPullback (diagonal i)
(pullback.map (f ≫ i) (g ≫ i) i i f g (𝟙 _) (Category.comp_id _) (Category.comp_id _))]
Type _
and Sort _
(#6499)
We remove all possible occurences of Type _
and Sort _
in favor of Type*
and Sort*
.
This has nice performance benefits.
@@ -24,7 +24,7 @@ noncomputable section
namespace CategoryTheory.Limits
-variable {C : Type _} [Category C] {X Y Z : C}
+variable {C : Type*} [Category C] {X Y Z : C}
namespace pullback
@@ -2,16 +2,13 @@
Copyright (c) 2022 Andrew Yang. All rights reserved.
Released under Apache 2.0 license as described in the file LICENSE.
Authors: Andrew Yang
-
-! This file was ported from Lean 3 source module category_theory.limits.shapes.diagonal
-! leanprover-community/mathlib commit f6bab67886fb92c3e2f539cc90a83815f69a189d
-! Please do not edit these lines, except to modify the commit id
-! if you have ported upstream changes.
-/
import Mathlib.CategoryTheory.Limits.Shapes.Pullbacks
import Mathlib.CategoryTheory.Limits.Shapes.KernelPair
import Mathlib.CategoryTheory.Limits.Shapes.CommSq
+#align_import category_theory.limits.shapes.diagonal from "leanprover-community/mathlib"@"f6bab67886fb92c3e2f539cc90a83815f69a189d"
+
/-!
# The diagonal object of a morphism.
@@ -123,7 +123,7 @@ V₁ ×[X ×[Y] U] V₂ ⟶ V₁ ×[U] V₂
| |
| |
↓ ↓
- X ⟶ X ×[Y] X
+ X ⟶ X ×[Y] X
is a pullback square.
Also see `pullback_fst_map_snd_isPullback`.
@@ -213,10 +213,10 @@ variable
given `f : X ⟶ T`, `g : Y ⟶ T`, and `i : T ⟶ S`, the diagram
X ×ₜ Y ⟶ X ×ₛ Y
- | |
- | |
- ↓ ↓
- T ⟶ T ×ₛ T
+ | |
+ | |
+ ↓ ↓
+ T ⟶ T ×ₛ T
is a pullback square.
Also see `pullback_map_diagonal_isPullback`.
@@ -367,11 +367,11 @@ end
/-- Given the following diagram with `S ⟶ S'` a monomorphism,
- X ⟶ X'
+ X ⟶ X'
↘ ↘
- S ⟶ S'
+ S ⟶ S'
↗ ↗
- Y ⟶ Y'
+ Y ⟶ Y'
This iso witnesses the fact that
This PR is the result of running
find . -type f -name "*.lean" -exec sed -i -E 's/^( +)\. /\1· /' {} \;
find . -type f -name "*.lean" -exec sed -i -E 'N;s/^( +·)\n +(.*)$/\1 \2/;P;D' {} \;
which firstly replaces .
focusing dots with ·
and secondly removes isolated instances of such dots, unifying them with the following line. A new rule is placed in the style linter to verify this.
@@ -137,16 +137,16 @@ def pullbackDiagonalMapIso :
hom :=
pullback.lift (pullback.snd ≫ pullback.fst) (pullback.snd ≫ pullback.snd) (by
ext
- . simp [Category.assoc, pullback_diagonal_map_snd_fst_fst, pullback_diagonal_map_snd_snd_fst]
- . simp [Category.assoc, pullback.condition, pullback.condition_assoc])
+ · simp [Category.assoc, pullback_diagonal_map_snd_fst_fst, pullback_diagonal_map_snd_snd_fst]
+ · simp [Category.assoc, pullback.condition, pullback.condition_assoc])
inv :=
pullback.lift (pullback.fst ≫ i₁ ≫ pullback.fst)
(pullback.map _ _ _ _ (𝟙 _) (𝟙 _) pullback.snd (Category.id_comp _).symm
(Category.id_comp _).symm) (by
ext
- . simp only [Category.assoc, diagonal_fst, Category.comp_id, limit.lift_π,
+ · simp only [Category.assoc, diagonal_fst, Category.comp_id, limit.lift_π,
PullbackCone.mk_pt, PullbackCone.mk_π_app, limit.lift_π_assoc, cospan_left]
- . simp only [condition_assoc, Category.assoc, diagonal_snd, Category.comp_id,
+ · simp only [condition_assoc, Category.assoc, diagonal_snd, Category.comp_id,
limit.lift_π, PullbackCone.mk_pt, PullbackCone.mk_π_app,
limit.lift_π_assoc, cospan_right])
#align category_theory.limits.pullback_diagonal_map_iso CategoryTheory.Limits.pullbackDiagonalMapIso
@@ -227,16 +227,16 @@ def pullbackDiagonalMapIdIso :
pullback f g := by
refine' _ ≪≫
pullbackDiagonalMapIso i (𝟙 _) (f ≫ inv pullback.fst) (g ≫ inv pullback.fst) ≪≫ _
- . refine' @asIso _ _ _ _ (pullback.map _ _ _ _ (𝟙 T) ((pullback.congrHom _ _).hom) (𝟙 _) _ _) ?_
- . rw [← Category.comp_id pullback.snd, ← condition, Category.assoc, IsIso.inv_hom_id_assoc]
- . rw [← Category.comp_id pullback.snd, ← condition, Category.assoc, IsIso.inv_hom_id_assoc]
+ · refine' @asIso _ _ _ _ (pullback.map _ _ _ _ (𝟙 T) ((pullback.congrHom _ _).hom) (𝟙 _) _ _) ?_
+ · rw [← Category.comp_id pullback.snd, ← condition, Category.assoc, IsIso.inv_hom_id_assoc]
+ · rw [← Category.comp_id pullback.snd, ← condition, Category.assoc, IsIso.inv_hom_id_assoc]
· rw [Category.comp_id, Category.id_comp]
- . ext <;> simp
- . infer_instance
- . refine' @asIso _ _ _ _ (pullback.map _ _ _ _ (𝟙 _) (𝟙 _) pullback.fst _ _) ?_
- . rw [Category.assoc, IsIso.inv_hom_id, Category.comp_id, Category.id_comp]
- . rw [Category.assoc, IsIso.inv_hom_id, Category.comp_id, Category.id_comp]
- . infer_instance
+ · ext <;> simp
+ · infer_instance
+ · refine' @asIso _ _ _ _ (pullback.map _ _ _ _ (𝟙 _) (𝟙 _) pullback.fst _ _) ?_
+ · rw [Category.assoc, IsIso.inv_hom_id, Category.comp_id, Category.id_comp]
+ · rw [Category.assoc, IsIso.inv_hom_id, Category.comp_id, Category.id_comp]
+ · infer_instance
#align category_theory.limits.pullback_diagonal_map_id_iso CategoryTheory.Limits.pullbackDiagonalMapIdIso
@[reassoc (attr := simp)]
@@ -407,24 +407,24 @@ def pullbackFstFstIso {X Y S X' Y' S' : C} (f : X ⟶ S) (g : Y ⟶ S) (f' : X'
-- We could use `ext` here to immediately descend to the leaf goals,
-- but it only obscures the structure.
apply pullback.hom_ext
- . apply pullback.hom_ext
- . apply pullback.hom_ext
- . simp only [Category.assoc, lift_fst, lift_fst_assoc, Category.id_comp]
+ · apply pullback.hom_ext
+ · apply pullback.hom_ext
+ · simp only [Category.assoc, lift_fst, lift_fst_assoc, Category.id_comp]
rw [condition]
- . simp [Category.assoc, lift_snd]
+ · simp [Category.assoc, lift_snd]
rw [condition_assoc, condition]
- . simp only [Category.assoc, lift_fst_assoc, lift_snd, lift_fst, Category.id_comp]
- . apply pullback.hom_ext
- . apply pullback.hom_ext
- . simp only [Category.assoc, lift_snd_assoc, lift_fst_assoc, lift_fst, Category.id_comp]
+ · simp only [Category.assoc, lift_fst_assoc, lift_snd, lift_fst, Category.id_comp]
+ · apply pullback.hom_ext
+ · apply pullback.hom_ext
+ · simp only [Category.assoc, lift_snd_assoc, lift_fst_assoc, lift_fst, Category.id_comp]
rw [← condition_assoc, condition]
- . simp only [Category.assoc, lift_snd, lift_fst_assoc, lift_snd_assoc, Category.id_comp]
+ · simp only [Category.assoc, lift_snd, lift_fst_assoc, lift_snd_assoc, Category.id_comp]
rw [condition]
- . simp only [Category.assoc, lift_snd_assoc, lift_snd, Category.id_comp]
+ · simp only [Category.assoc, lift_snd_assoc, lift_snd, Category.id_comp]
inv_hom_id := by
apply pullback.hom_ext
- . simp only [Category.assoc, lift_fst, lift_fst_assoc, lift_snd, Category.id_comp]
- . simp only [Category.assoc, lift_snd, lift_snd_assoc, Category.id_comp]
+ · simp only [Category.assoc, lift_fst, lift_fst_assoc, lift_snd, Category.id_comp]
+ · simp only [Category.assoc, lift_snd, lift_snd_assoc, Category.id_comp]
#align category_theory.limits.pullback_fst_fst_iso CategoryTheory.Limits.pullbackFstFstIso
theorem pullback_map_eq_pullbackFstFstIso_inv {X Y S X' Y' S' : C} (f : X ⟶ S) (g : Y ⟶ S)
@@ -277,7 +277,7 @@ theorem pullbackDiagonalMapIdIso_inv_snd_snd :
theorem pullback.diagonal_comp (f : X ⟶ Y) (g : Y ⟶ Z) [HasPullback f f] [HasPullback g g]
[HasPullback (f ≫ g) (f ≫ g)] :
diagonal (f ≫ g) = diagonal f ≫ (pullbackDiagonalMapIdIso f f g).inv ≫ pullback.snd := by
- apply pullback.hom_ext <;> simp
+ ext <;> simp
#align category_theory.limits.pullback.diagonal_comp CategoryTheory.Limits.pullback.diagonal_comp
theorem pullback_map_diagonal_isPullback :
@@ -287,9 +287,9 @@ theorem pullback_map_diagonal_isPullback :
(pullback.map (f ≫ i) (g ≫ i) i i f g (𝟙 _) (Category.comp_id _) (Category.comp_id _)) := by
apply IsPullback.of_iso_pullback _ (pullbackDiagonalMapIdIso f g i).symm
· simp
- · apply pullback.hom_ext <;> simp
+ · ext <;> simp
· constructor
- apply pullback.hom_ext <;> simp [condition]
+ ext <;> simp [condition]
#align category_theory.limits.pullback_map_diagonal_is_pullback CategoryTheory.Limits.pullback_map_diagonal_isPullback
/-- The diagonal object of `X ×[Z] Y ⟶ X` is isomorphic to `Δ_{Y/Z} ×[Z] X`. -/
@@ -360,7 +360,7 @@ theorem diagonal_pullback_fst {X Y Z : C} (f : X ⟶ Z) (g : Y ⟶ Z) :
((baseChange f).map
(Over.homMk (diagonal g) : Over.mk g ⟶ Over.mk (pullback.snd ≫ g))).left ≫
(diagonalObjPullbackFstIso f g).inv := by
- apply pullback.hom_ext <;> apply pullback.hom_ext <;> dsimp <;> simp
+ ext <;> dsimp <;> simp
#align category_theory.limits.diagonal_pullback_fst CategoryTheory.Limits.diagonal_pullback_fst
end
@@ -404,6 +404,8 @@ def pullbackFstFstIso {X Y S X' Y' S' : C} (f : X ⟶ S) (g : Y ⟶ S) (f' : X'
(pullback.lift (pullback.map _ _ _ _ _ _ _ e₁ e₂) pullback.snd (pullback.lift_snd _ _ _))
(by rw [pullback.lift_fst, pullback.lift_fst])
hom_inv_id := by
+ -- We could use `ext` here to immediately descend to the leaf goals,
+ -- but it only obscures the structure.
apply pullback.hom_ext
. apply pullback.hom_ext
. apply pullback.hom_ext
@@ -358,7 +358,7 @@ theorem diagonal_pullback_fst {X Y Z : C} (f : X ⟶ Z) (g : Y ⟶ Z) :
diagonal (pullback.fst : pullback f g ⟶ _) =
(pullbackSymmetry _ _).hom ≫
((baseChange f).map
- (Over.homMk (diagonal g) (by simp) : Over.mk g ⟶ Over.mk (pullback.snd ≫ g))).left ≫
+ (Over.homMk (diagonal g) : Over.mk g ⟶ Over.mk (pullback.snd ≫ g))).left ≫
(diagonalObjPullbackFstIso f g).inv := by
apply pullback.hom_ext <;> apply pullback.hom_ext <;> dsimp <;> simp
#align category_theory.limits.diagonal_pullback_fst CategoryTheory.Limits.diagonal_pullback_fst
The unported dependencies are