category_theory.limits.shapes.diagonalMathlib.CategoryTheory.Limits.Shapes.Diagonal

This file has been ported!

Changes since the initial port

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.

Changes in mathlib3

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(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)

Changes in mathlib3port

mathlib3
mathlib3port
Diff
@@ -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"
 
Diff
@@ -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.
 
Diff
@@ -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
 
Diff
@@ -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 ≫
Diff
@@ -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
 -/
 
Diff
@@ -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 ⟶ _) =
Diff
@@ -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 :=
Diff
@@ -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`.
 
Diff
@@ -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
 
Diff
@@ -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
 

Changes in mathlib4

mathlib3
mathlib4
chore: replace refine' that already have a ?_ (#12261)

Co-authored-by: Moritz Firsching <firsching@google.com>

Diff
@@ -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
chore(*): remove empty lines between variable statements (#11418)

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)
Diff
@@ -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 _))]
chore: banish Type _ and Sort _ (#6499)

We remove all possible occurences of Type _ and Sort _ in favor of Type* and Sort*.

This has nice performance benefits.

Diff
@@ -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
 
chore: script to replace headers with #align_import statements (#5979)

Open in Gitpod

Co-authored-by: Eric Wieser <wieser.eric@gmail.com> Co-authored-by: Scott Morrison <scott.morrison@gmail.com>

Diff
@@ -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.
 
chore: cleanup whitespace (#5988)

Grepping for [^ .:{-] [^ :] and reviewing the results. Once I started I couldn't stop. :-)

Co-authored-by: Scott Morrison <scott.morrison@gmail.com>

Diff
@@ -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
 
chore: fix focusing dots (#5708)

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.

Diff
@@ -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)
feat: more consistent use of ext, and updating porting notes. (#5242)

Co-authored-by: Scott Morrison <scott.morrison@anu.edu.au>

Diff
@@ -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
chore: review of automation in category theory (#4793)

Clean up of automation in the category theory library. Leaving out unnecessary proof steps, or fields done by aesop_cat, and making more use of available autoparameters.

Co-authored-by: Scott Morrison <scott.morrison@anu.edu.au>

Diff
@@ -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
feat: port CategoryTheory.Limits.Shapes.Diagonal (#2881)

Dependencies 2 + 253

254 files ported (99.2%)
106543 lines ported (99.9%)
Show graph

The unported dependencies are