category_theory.subobject.mono_overMathlib.CategoryTheory.Subobject.MonoOver

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)

(last sync)

Changes in mathlib3port

mathlib3
mathlib3port
Diff
@@ -335,13 +335,13 @@ theorem map_obj_arrow (f : X ⟶ Y) [Mono f] (g : MonoOver X) : ((map f).obj g).
 #align category_theory.mono_over.map_obj_arrow CategoryTheory.MonoOver.map_obj_arrow
 -/
 
-#print CategoryTheory.MonoOver.fullMap /-
-instance fullMap (f : X ⟶ Y) [Mono f] : CategoryTheory.Functor.Full (map f)
+#print CategoryTheory.MonoOver.full_map /-
+instance full_map (f : X ⟶ Y) [Mono f] : CategoryTheory.Functor.Full (map f)
     where preimage g h e := by
     refine' hom_mk e.left _
     rw [← cancel_mono f, assoc]
     apply w e
-#align category_theory.mono_over.full_map CategoryTheory.MonoOver.fullMap
+#align category_theory.mono_over.full_map CategoryTheory.MonoOver.full_map
 -/
 
 #print CategoryTheory.MonoOver.faithful_map /-
Diff
@@ -117,10 +117,10 @@ theorem forget_obj_hom {f} : ((forget X).obj f).Hom = f.arrow :=
 #align category_theory.mono_over.forget_obj_hom CategoryTheory.MonoOver.forget_obj_hom
 -/
 
-instance : Full (forget X) :=
+instance : CategoryTheory.Functor.Full (forget X) :=
   FullSubcategory.full _
 
-instance : Faithful (forget X) :=
+instance : CategoryTheory.Functor.Faithful (forget X) :=
   FullSubcategory.faithful _
 
 #print CategoryTheory.MonoOver.mono /-
@@ -190,7 +190,8 @@ def lift {Y : D} (F : Over Y ⥤ Over X)
 /-- Isomorphic functors `over Y ⥤ over X` lift to isomorphic functors `mono_over Y ⥤ mono_over X`.
 -/
 def liftIso {Y : D} {F₁ F₂ : Over Y ⥤ Over X} (h₁ h₂) (i : F₁ ≅ F₂) : lift F₁ h₁ ≅ lift F₂ h₂ :=
-  fullyFaithfulCancelRight (MonoOver.forget X) (isoWhiskerLeft (MonoOver.forget Y) i)
+  CategoryTheory.Functor.fullyFaithfulCancelRight (MonoOver.forget X)
+    (isoWhiskerLeft (MonoOver.forget Y) i)
 #align category_theory.mono_over.lift_iso CategoryTheory.MonoOver.liftIso
 -/
 
@@ -198,14 +199,14 @@ def liftIso {Y : D} {F₁ F₂ : Over Y ⥤ Over X} (h₁ h₂) (i : F₁ ≅ F
 /-- `mono_over.lift` commutes with composition of functors. -/
 def liftComp {X Z : C} {Y : D} (F : Over X ⥤ Over Y) (G : Over Y ⥤ Over Z) (h₁ h₂) :
     lift F h₁ ⋙ lift G h₂ ≅ lift (F ⋙ G) fun f => h₂ ⟨_, h₁ f⟩ :=
-  fullyFaithfulCancelRight (MonoOver.forget _) (Iso.refl _)
+  CategoryTheory.Functor.fullyFaithfulCancelRight (MonoOver.forget _) (Iso.refl _)
 #align category_theory.mono_over.lift_comp CategoryTheory.MonoOver.liftComp
 -/
 
 #print CategoryTheory.MonoOver.liftId /-
 /-- `mono_over.lift` preserves the identity functor. -/
 def liftId : (lift (𝟭 (Over X)) fun f => f.2) ≅ 𝟭 _ :=
-  fullyFaithfulCancelRight (MonoOver.forget _) (Iso.refl _)
+  CategoryTheory.Functor.fullyFaithfulCancelRight (MonoOver.forget _) (Iso.refl _)
 #align category_theory.mono_over.lift_id CategoryTheory.MonoOver.liftId
 -/
 
@@ -335,7 +336,7 @@ theorem map_obj_arrow (f : X ⟶ Y) [Mono f] (g : MonoOver X) : ((map f).obj g).
 -/
 
 #print CategoryTheory.MonoOver.fullMap /-
-instance fullMap (f : X ⟶ Y) [Mono f] : Full (map f)
+instance fullMap (f : X ⟶ Y) [Mono f] : CategoryTheory.Functor.Full (map f)
     where preimage g h e := by
     refine' hom_mk e.left _
     rw [← cancel_mono f, assoc]
@@ -344,7 +345,7 @@ instance fullMap (f : X ⟶ Y) [Mono f] : Full (map f)
 -/
 
 #print CategoryTheory.MonoOver.faithful_map /-
-instance faithful_map (f : X ⟶ Y) [Mono f] : Faithful (map f) where
+instance faithful_map (f : X ⟶ Y) [Mono f] : CategoryTheory.Functor.Faithful (map f) where
 #align category_theory.mono_over.faithful_map CategoryTheory.MonoOver.faithful_map
 -/
 
@@ -514,7 +515,7 @@ def exists (f : X ⟶ Y) : MonoOver X ⥤ MonoOver Y :=
 -/
 
 #print CategoryTheory.MonoOver.faithful_exists /-
-instance faithful_exists (f : X ⟶ Y) : Faithful (exists f) where
+instance faithful_exists (f : X ⟶ Y) : CategoryTheory.Functor.Faithful (exists f) where
 #align category_theory.mono_over.faithful_exists CategoryTheory.MonoOver.faithful_exists
 -/
 
Diff
@@ -3,9 +3,9 @@ Copyright (c) 2020 Bhavik Mehta. All rights reserved.
 Released under Apache 2.0 license as described in the file LICENSE.
 Authors: Bhavik Mehta, Scott Morrison
 -/
-import Mathbin.CategoryTheory.Limits.Over
-import Mathbin.CategoryTheory.Limits.Shapes.Images
-import Mathbin.CategoryTheory.Adjunction.Reflective
+import CategoryTheory.Limits.Over
+import CategoryTheory.Limits.Shapes.Images
+import CategoryTheory.Adjunction.Reflective
 
 #align_import category_theory.subobject.mono_over from "leanprover-community/mathlib"@"ce38d86c0b2d427ce208c3cee3159cb421d2b3c4"
 
Diff
@@ -2,16 +2,13 @@
 Copyright (c) 2020 Bhavik Mehta. All rights reserved.
 Released under Apache 2.0 license as described in the file LICENSE.
 Authors: Bhavik Mehta, Scott Morrison
-
-! This file was ported from Lean 3 source module category_theory.subobject.mono_over
-! leanprover-community/mathlib commit ce38d86c0b2d427ce208c3cee3159cb421d2b3c4
-! Please do not edit these lines, except to modify the commit id
-! if you have ported upstream changes.
 -/
 import Mathbin.CategoryTheory.Limits.Over
 import Mathbin.CategoryTheory.Limits.Shapes.Images
 import Mathbin.CategoryTheory.Adjunction.Reflective
 
+#align_import category_theory.subobject.mono_over from "leanprover-community/mathlib"@"ce38d86c0b2d427ce208c3cee3159cb421d2b3c4"
+
 /-!
 # Monomorphisms over a fixed object
 
Diff
@@ -76,37 +76,49 @@ def mk' {X A : C} (f : A ⟶ X) [hf : Mono f] : MonoOver X
 #align category_theory.mono_over.mk' CategoryTheory.MonoOver.mk'
 -/
 
+#print CategoryTheory.MonoOver.forget /-
 /-- The inclusion from monomorphisms over X to morphisms over X. -/
 def forget (X : C) : MonoOver X ⥤ Over X :=
   fullSubcategoryInclusion _
 #align category_theory.mono_over.forget CategoryTheory.MonoOver.forget
+-/
 
 instance : Coe (MonoOver X) C where coe Y := Y.obj.left
 
+#print CategoryTheory.MonoOver.forget_obj_left /-
 @[simp]
 theorem forget_obj_left {f} : ((forget X).obj f).left = (f : C) :=
   rfl
 #align category_theory.mono_over.forget_obj_left CategoryTheory.MonoOver.forget_obj_left
+-/
 
+#print CategoryTheory.MonoOver.mk'_coe' /-
 @[simp]
 theorem mk'_coe' {X A : C} (f : A ⟶ X) [hf : Mono f] : (mk' f : C) = A :=
   rfl
 #align category_theory.mono_over.mk'_coe' CategoryTheory.MonoOver.mk'_coe'
+-/
 
+#print CategoryTheory.MonoOver.arrow /-
 /-- Convenience notation for the underlying arrow of a monomorphism over X. -/
 abbrev arrow (f : MonoOver X) : (f : C) ⟶ X :=
   ((forget X).obj f).Hom
 #align category_theory.mono_over.arrow CategoryTheory.MonoOver.arrow
+-/
 
+#print CategoryTheory.MonoOver.mk'_arrow /-
 @[simp]
 theorem mk'_arrow {X A : C} (f : A ⟶ X) [hf : Mono f] : (mk' f).arrow = f :=
   rfl
 #align category_theory.mono_over.mk'_arrow CategoryTheory.MonoOver.mk'_arrow
+-/
 
+#print CategoryTheory.MonoOver.forget_obj_hom /-
 @[simp]
 theorem forget_obj_hom {f} : ((forget X).obj f).Hom = f.arrow :=
   rfl
 #align category_theory.mono_over.forget_obj_hom CategoryTheory.MonoOver.forget_obj_hom
+-/
 
 instance : Full (forget X) :=
   FullSubcategory.full _
@@ -114,9 +126,11 @@ instance : Full (forget X) :=
 instance : Faithful (forget X) :=
   FullSubcategory.faithful _
 
+#print CategoryTheory.MonoOver.mono /-
 instance mono (f : MonoOver X) : Mono f.arrow :=
   f.property
 #align category_theory.mono_over.mono CategoryTheory.MonoOver.mono
+-/
 
 #print CategoryTheory.MonoOver.isThin /-
 /-- The category of monomorphisms over X is a thin category,
@@ -153,13 +167,16 @@ def isoMk {f g : MonoOver X} (h : f.obj.left ≅ g.obj.left) (w : h.Hom ≫ g.ar
 #align category_theory.mono_over.iso_mk CategoryTheory.MonoOver.isoMk
 -/
 
+#print CategoryTheory.MonoOver.mk'ArrowIso /-
 /-- If `f : mono_over X`, then `mk' f.arrow` is of course just `f`, but not definitionally, so we
     package it as an isomorphism. -/
 @[simp]
 def mk'ArrowIso {X : C} (f : MonoOver X) : mk' f.arrow ≅ f :=
   isoMk (Iso.refl _) (by simp)
 #align category_theory.mono_over.mk'_arrow_iso CategoryTheory.MonoOver.mk'ArrowIso
+-/
 
+#print CategoryTheory.MonoOver.lift /-
 /-- Lift a functor between over categories to a functor between `mono_over` categories,
 given suitable evidence that morphisms are taken to monomorphisms.
 -/
@@ -170,18 +187,23 @@ def lift {Y : D} (F : Over Y ⥤ Over X)
   obj f := ⟨_, h f⟩
   map _ _ k := (MonoOver.forget X).preimage ((MonoOver.forget Y ⋙ F).map k)
 #align category_theory.mono_over.lift CategoryTheory.MonoOver.lift
+-/
 
+#print CategoryTheory.MonoOver.liftIso /-
 /-- Isomorphic functors `over Y ⥤ over X` lift to isomorphic functors `mono_over Y ⥤ mono_over X`.
 -/
 def liftIso {Y : D} {F₁ F₂ : Over Y ⥤ Over X} (h₁ h₂) (i : F₁ ≅ F₂) : lift F₁ h₁ ≅ lift F₂ h₂ :=
   fullyFaithfulCancelRight (MonoOver.forget X) (isoWhiskerLeft (MonoOver.forget Y) i)
 #align category_theory.mono_over.lift_iso CategoryTheory.MonoOver.liftIso
+-/
 
+#print CategoryTheory.MonoOver.liftComp /-
 /-- `mono_over.lift` commutes with composition of functors. -/
 def liftComp {X Z : C} {Y : D} (F : Over X ⥤ Over Y) (G : Over Y ⥤ Over Z) (h₁ h₂) :
     lift F h₁ ⋙ lift G h₂ ≅ lift (F ⋙ G) fun f => h₂ ⟨_, h₁ f⟩ :=
   fullyFaithfulCancelRight (MonoOver.forget _) (Iso.refl _)
 #align category_theory.mono_over.lift_comp CategoryTheory.MonoOver.liftComp
+-/
 
 #print CategoryTheory.MonoOver.liftId /-
 /-- `mono_over.lift` preserves the identity functor. -/
@@ -190,20 +212,25 @@ def liftId : (lift (𝟭 (Over X)) fun f => f.2) ≅ 𝟭 _ :=
 #align category_theory.mono_over.lift_id CategoryTheory.MonoOver.liftId
 -/
 
+#print CategoryTheory.MonoOver.lift_comm /-
 @[simp]
 theorem lift_comm (F : Over Y ⥤ Over X)
     (h : ∀ f : MonoOver Y, Mono (F.obj ((MonoOver.forget Y).obj f)).Hom) :
     lift F h ⋙ MonoOver.forget X = MonoOver.forget Y ⋙ F :=
   rfl
 #align category_theory.mono_over.lift_comm CategoryTheory.MonoOver.lift_comm
+-/
 
+#print CategoryTheory.MonoOver.lift_obj_arrow /-
 @[simp]
 theorem lift_obj_arrow {Y : D} (F : Over Y ⥤ Over X)
     (h : ∀ f : MonoOver Y, Mono (F.obj ((MonoOver.forget Y).obj f)).Hom) (f : MonoOver Y) :
     ((lift F h).obj f).arrow = (F.obj ((forget Y).obj f)).Hom :=
   rfl
 #align category_theory.mono_over.lift_obj_arrow CategoryTheory.MonoOver.lift_obj_arrow
+-/
 
+#print CategoryTheory.MonoOver.slice /-
 /-- Monomorphisms over an object `f : over A` in an over category
 are equivalent to monomorphisms over the source of `f`.
 -/
@@ -218,6 +245,7 @@ def slice {A : C} {f : Over A} (h₁ h₂) : MonoOver f ≌ MonoOver f.left
     MonoOver.liftComp _ _ _ _ ≪≫
       MonoOver.liftIso _ _ f.iteratedSliceEquiv.counitIso ≪≫ MonoOver.liftId
 #align category_theory.mono_over.slice CategoryTheory.MonoOver.slice
+-/
 
 section Pullback
 
@@ -250,17 +278,21 @@ def pullbackId : pullback (𝟙 X) ≅ 𝟭 _ :=
 #align category_theory.mono_over.pullback_id CategoryTheory.MonoOver.pullbackId
 -/
 
+#print CategoryTheory.MonoOver.pullback_obj_left /-
 @[simp]
 theorem pullback_obj_left (f : X ⟶ Y) (g : MonoOver Y) :
     ((pullback f).obj g : C) = Limits.pullback g.arrow f :=
   rfl
 #align category_theory.mono_over.pullback_obj_left CategoryTheory.MonoOver.pullback_obj_left
+-/
 
+#print CategoryTheory.MonoOver.pullback_obj_arrow /-
 @[simp]
 theorem pullback_obj_arrow (f : X ⟶ Y) (g : MonoOver Y) :
     ((pullback f).obj g).arrow = pullback.snd :=
   rfl
 #align category_theory.mono_over.pullback_obj_arrow CategoryTheory.MonoOver.pullback_obj_arrow
+-/
 
 end Pullback
 
@@ -291,15 +323,19 @@ def mapId : map (𝟙 X) ≅ 𝟭 _ :=
 #align category_theory.mono_over.map_id CategoryTheory.MonoOver.mapId
 -/
 
+#print CategoryTheory.MonoOver.map_obj_left /-
 @[simp]
 theorem map_obj_left (f : X ⟶ Y) [Mono f] (g : MonoOver X) : ((map f).obj g : C) = g.obj.left :=
   rfl
 #align category_theory.mono_over.map_obj_left CategoryTheory.MonoOver.map_obj_left
+-/
 
+#print CategoryTheory.MonoOver.map_obj_arrow /-
 @[simp]
 theorem map_obj_arrow (f : X ⟶ Y) [Mono f] (g : MonoOver X) : ((map f).obj g).arrow = g.arrow ≫ f :=
   rfl
 #align category_theory.mono_over.map_obj_arrow CategoryTheory.MonoOver.map_obj_arrow
+-/
 
 #print CategoryTheory.MonoOver.fullMap /-
 instance fullMap (f : X ⟶ Y) [Mono f] : Full (map f)
@@ -315,6 +351,7 @@ instance faithful_map (f : X ⟶ Y) [Mono f] : Faithful (map f) where
 #align category_theory.mono_over.faithful_map CategoryTheory.MonoOver.faithful_map
 -/
 
+#print CategoryTheory.MonoOver.mapIso /-
 /-- Isomorphic objects have equivalent `mono_over` categories.
 -/
 @[simps]
@@ -325,11 +362,13 @@ def mapIso {A B : C} (e : A ≅ B) : MonoOver A ≌ MonoOver B
   unitIso := ((mapComp _ _).symm ≪≫ eqToIso (by simp) ≪≫ mapId).symm
   counitIso := (mapComp _ _).symm ≪≫ eqToIso (by simp) ≪≫ mapId
 #align category_theory.mono_over.map_iso CategoryTheory.MonoOver.mapIso
+-/
 
 section
 
 variable (X)
 
+#print CategoryTheory.MonoOver.congr /-
 /-- An equivalence of categories `e` between `C` and `D` induces an equivalence between
     `mono_over X` and `mono_over (e.functor.obj X)` whenever `X` is an object of `C`. -/
 @[simps]
@@ -342,6 +381,7 @@ def congr (e : C ≌ D) : MonoOver X ≌ MonoOver (e.Functor.obj X)
   unitIso := NatIso.ofComponents (fun Y => isoMk (e.unitIso.app Y) (by tidy)) (by tidy)
   counitIso := NatIso.ofComponents (fun Y => isoMk (e.counitIso.app Y) (by tidy)) (by tidy)
 #align category_theory.mono_over.congr CategoryTheory.MonoOver.congr
+-/
 
 end
 
@@ -380,10 +420,12 @@ def imageMonoOver (f : X ⟶ Y) [HasImage f] : MonoOver Y :=
 #align category_theory.mono_over.image_mono_over CategoryTheory.MonoOver.imageMonoOver
 -/
 
+#print CategoryTheory.MonoOver.imageMonoOver_arrow /-
 @[simp]
 theorem imageMonoOver_arrow (f : X ⟶ Y) [HasImage f] : (imageMonoOver f).arrow = image.ι f :=
   rfl
 #align category_theory.mono_over.image_mono_over_arrow CategoryTheory.MonoOver.imageMonoOver_arrow
+-/
 
 end Image
 
@@ -445,15 +487,19 @@ instance : IsRightAdjoint (forget X) where
   left := image
   adj := imageForgetAdj
 
+#print CategoryTheory.MonoOver.reflective /-
 instance reflective : Reflective (forget X) where
 #align category_theory.mono_over.reflective CategoryTheory.MonoOver.reflective
+-/
 
+#print CategoryTheory.MonoOver.forgetImage /-
 /-- Forgetting that a monomorphism over `X` is a monomorphism, then taking its image,
 is the identity functor.
 -/
 def forgetImage : forget X ⋙ image ≅ 𝟭 (MonoOver X) :=
   asIso (Adjunction.counit imageForgetAdj)
 #align category_theory.mono_over.forget_image CategoryTheory.MonoOver.forgetImage
+-/
 
 end Image
 
@@ -461,16 +507,21 @@ section Exists
 
 variable [HasImages C]
 
+#print CategoryTheory.MonoOver.exists /-
 /-- In the case where `f` is not a monomorphism but `C` has images,
 we can still take the "forward map" under it, which agrees with `mono_over.map f`.
 -/
 def exists (f : X ⟶ Y) : MonoOver X ⥤ MonoOver Y :=
   forget _ ⋙ Over.map f ⋙ image
 #align category_theory.mono_over.exists CategoryTheory.MonoOver.exists
+-/
 
+#print CategoryTheory.MonoOver.faithful_exists /-
 instance faithful_exists (f : X ⟶ Y) : Faithful (exists f) where
 #align category_theory.mono_over.faithful_exists CategoryTheory.MonoOver.faithful_exists
+-/
 
+#print CategoryTheory.MonoOver.existsIsoMap /-
 /-- When `f : X ⟶ Y` is a monomorphism, `exists f` agrees with `map f`.
 -/
 def existsIsoMap (f : X ⟶ Y) [Mono f] : exists f ≅ map f :=
@@ -492,12 +543,15 @@ def existsIsoMap (f : X ⟶ Y) [Mono f] : exists f ≅ map f :=
         image_mono_iso_source_hom_self]
       apply image.lift_fac)
 #align category_theory.mono_over.exists_iso_map CategoryTheory.MonoOver.existsIsoMap
+-/
 
+#print CategoryTheory.MonoOver.existsPullbackAdj /-
 /-- `exists` is adjoint to `pullback` when images exist -/
 def existsPullbackAdj (f : X ⟶ Y) [HasPullbacks C] : exists f ⊣ pullback f :=
   Adjunction.restrictFullyFaithful (forget X) (𝟭 _) ((Over.mapPullbackAdj f).comp imageForgetAdj)
     (Iso.refl _) (Iso.refl _)
 #align category_theory.mono_over.exists_pullback_adj CategoryTheory.MonoOver.existsPullbackAdj
+-/
 
 end Exists
 
Diff
@@ -59,7 +59,8 @@ This isn't skeletal, so it's not a partial order.
 Later we define `subobject X` as the quotient of this by isomorphisms.
 -/
 def MonoOver (X : C) :=
-  FullSubcategory fun f : Over X => Mono f.Hom deriving Category
+  FullSubcategory fun f : Over X => Mono f.Hom
+deriving Category
 #align category_theory.mono_over CategoryTheory.MonoOver
 -/
 
Diff
@@ -75,12 +75,6 @@ def mk' {X A : C} (f : A ⟶ X) [hf : Mono f] : MonoOver X
 #align category_theory.mono_over.mk' CategoryTheory.MonoOver.mk'
 -/
 
-/- warning: category_theory.mono_over.forget -> CategoryTheory.MonoOver.forget is a dubious translation:
-lean 3 declaration is
-  forall {C : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} C] (X : C), CategoryTheory.Functor.{u1, u1, max u2 u1, max u2 u1} (CategoryTheory.MonoOver.{u1, u2} C _inst_1 X) (CategoryTheory.InducedCategory.category.{u1, max u2 u1, max u2 u1} (CategoryTheory.FullSubcategoryₓ.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 X) (CategoryTheory.Over.category.{u2, u1} C _inst_1 X) (fun (f : CategoryTheory.Over.{u1, u2} C _inst_1 X) => CategoryTheory.Mono.{u1, u2} C _inst_1 (CategoryTheory.Functor.obj.{u1, u1, u2, u2} C _inst_1 C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 X) f)) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 X) (CategoryTheory.Comma.right.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 X) f)) (CategoryTheory.Comma.hom.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 X) f))) (CategoryTheory.Over.{u1, u2} C _inst_1 X) (CategoryTheory.Over.category.{u2, u1} C _inst_1 X) (CategoryTheory.FullSubcategoryₓ.obj.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 X) (CategoryTheory.Over.category.{u2, u1} C _inst_1 X) (fun (f : CategoryTheory.Over.{u1, u2} C _inst_1 X) => CategoryTheory.Mono.{u1, u2} C _inst_1 (CategoryTheory.Functor.obj.{u1, u1, u2, u2} C _inst_1 C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 X) f)) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 X) (CategoryTheory.Comma.right.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 X) f)) (CategoryTheory.Comma.hom.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 X) f)))) (CategoryTheory.Over.{u1, u2} C _inst_1 X) (CategoryTheory.Over.category.{u2, u1} C _inst_1 X)
-but is expected to have type
-  forall {C : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} C] (X : C), CategoryTheory.Functor.{u1, u1, max u2 u1, max u2 u1} (CategoryTheory.MonoOver.{u1, u2} C _inst_1 X) (CategoryTheory.instCategoryMonoOver.{u1, u2} C _inst_1 X) (CategoryTheory.Over.{u1, u2} C _inst_1 X) (CategoryTheory.instCategoryOver.{u1, u2} C _inst_1 X)
-Case conversion may be inaccurate. Consider using '#align category_theory.mono_over.forget CategoryTheory.MonoOver.forgetₓ'. -/
 /-- The inclusion from monomorphisms over X to morphisms over X. -/
 def forget (X : C) : MonoOver X ⥤ Over X :=
   fullSubcategoryInclusion _
@@ -88,50 +82,26 @@ def forget (X : C) : MonoOver X ⥤ Over X :=
 
 instance : Coe (MonoOver X) C where coe Y := Y.obj.left
 
-/- warning: category_theory.mono_over.forget_obj_left -> CategoryTheory.MonoOver.forget_obj_left is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align category_theory.mono_over.forget_obj_left CategoryTheory.MonoOver.forget_obj_leftₓ'. -/
 @[simp]
 theorem forget_obj_left {f} : ((forget X).obj f).left = (f : C) :=
   rfl
 #align category_theory.mono_over.forget_obj_left CategoryTheory.MonoOver.forget_obj_left
 
-/- warning: category_theory.mono_over.mk'_coe' -> CategoryTheory.MonoOver.mk'_coe' is a dubious translation:
-lean 3 declaration is
-  forall {C : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} C] {X : C} {A : C} (f : Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) A X) [hf : CategoryTheory.Mono.{u1, u2} C _inst_1 A X f], Eq.{succ u2} C ((fun (a : Type.{max u2 u1}) (b : Type.{u2}) [self : HasLiftT.{succ (max u2 u1), succ u2} a b] => self.0) (CategoryTheory.MonoOver.{u1, u2} C _inst_1 X) C (HasLiftT.mk.{succ (max u2 u1), succ u2} (CategoryTheory.MonoOver.{u1, u2} C _inst_1 X) C (CoeTCₓ.coe.{succ (max u2 u1), succ u2} (CategoryTheory.MonoOver.{u1, u2} C _inst_1 X) C (coeBase.{succ (max u2 u1), succ u2} (CategoryTheory.MonoOver.{u1, u2} C _inst_1 X) C (CategoryTheory.MonoOver.hasCoe.{u1, u2} C _inst_1 X)))) (CategoryTheory.MonoOver.mk'.{u1, u2} C _inst_1 X A f hf)) A
-but is expected to have type
-  forall {C : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} C] {X : C} {A : C} (f : Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) A X) [hf : CategoryTheory.Mono.{u1, u2} C _inst_1 A X f], Eq.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 X) (CategoryTheory.FullSubcategory.obj.{max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 X) (fun (f : CategoryTheory.Over.{u1, u2} C _inst_1 X) => CategoryTheory.Mono.{u1, u2} C _inst_1 (Prefunctor.obj.{succ u1, succ u1, u2, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u2, u2} C _inst_1 C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1)) (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 X) f)) (Prefunctor.obj.{succ u1, succ u1, u1, u2} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.Category.toCategoryStruct.{u1, u1} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}))) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u2} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 X)) (CategoryTheory.Comma.right.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 X) f)) (CategoryTheory.Comma.hom.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 X) f)) (CategoryTheory.MonoOver.mk'.{u1, u2} C _inst_1 X A f hf))) A
-Case conversion may be inaccurate. Consider using '#align category_theory.mono_over.mk'_coe' CategoryTheory.MonoOver.mk'_coe'ₓ'. -/
 @[simp]
 theorem mk'_coe' {X A : C} (f : A ⟶ X) [hf : Mono f] : (mk' f : C) = A :=
   rfl
 #align category_theory.mono_over.mk'_coe' CategoryTheory.MonoOver.mk'_coe'
 
-/- warning: category_theory.mono_over.arrow -> CategoryTheory.MonoOver.arrow is a dubious translation:
-lean 3 declaration is
-  forall {C : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} C] {X : C} (f : CategoryTheory.MonoOver.{u1, u2} C _inst_1 X), Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) ((fun (a : Type.{max u2 u1}) (b : Type.{u2}) [self : HasLiftT.{succ (max u2 u1), succ u2} a b] => self.0) (CategoryTheory.MonoOver.{u1, u2} C _inst_1 X) C (HasLiftT.mk.{succ (max u2 u1), succ u2} (CategoryTheory.MonoOver.{u1, u2} C _inst_1 X) C (CoeTCₓ.coe.{succ (max u2 u1), succ u2} (CategoryTheory.MonoOver.{u1, u2} C _inst_1 X) C (coeBase.{succ (max u2 u1), succ u2} (CategoryTheory.MonoOver.{u1, u2} C _inst_1 X) C (CategoryTheory.MonoOver.hasCoe.{u1, u2} C _inst_1 X)))) f) X
-but is expected to have type
-  forall {C : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} C] {X : C} (f : CategoryTheory.MonoOver.{u1, u2} C _inst_1 X), Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 X) (CategoryTheory.FullSubcategory.obj.{max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 X) (fun (f : CategoryTheory.Over.{u1, u2} C _inst_1 X) => CategoryTheory.Mono.{u1, u2} C _inst_1 (Prefunctor.obj.{succ u1, succ u1, u2, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u2, u2} C _inst_1 C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1)) (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 X) f)) (Prefunctor.obj.{succ u1, succ u1, u1, u2} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.Category.toCategoryStruct.{u1, u1} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}))) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u2} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 X)) (CategoryTheory.Comma.right.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 X) f)) (CategoryTheory.Comma.hom.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 X) f)) f)) X
-Case conversion may be inaccurate. Consider using '#align category_theory.mono_over.arrow CategoryTheory.MonoOver.arrowₓ'. -/
 /-- Convenience notation for the underlying arrow of a monomorphism over X. -/
 abbrev arrow (f : MonoOver X) : (f : C) ⟶ X :=
   ((forget X).obj f).Hom
 #align category_theory.mono_over.arrow CategoryTheory.MonoOver.arrow
 
-/- warning: category_theory.mono_over.mk'_arrow -> CategoryTheory.MonoOver.mk'_arrow is a dubious translation:
-lean 3 declaration is
-  forall {C : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} C] {X : C} {A : C} (f : Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) A X) [hf : CategoryTheory.Mono.{u1, u2} C _inst_1 A X f], Eq.{succ u1} (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) ((fun (a : Type.{max u2 u1}) (b : Type.{u2}) [self : HasLiftT.{succ (max u2 u1), succ u2} a b] => self.0) (CategoryTheory.MonoOver.{u1, u2} C _inst_1 X) C (HasLiftT.mk.{succ (max u2 u1), succ u2} (CategoryTheory.MonoOver.{u1, u2} C _inst_1 X) C (CoeTCₓ.coe.{succ (max u2 u1), succ u2} (CategoryTheory.MonoOver.{u1, u2} C _inst_1 X) C (coeBase.{succ (max u2 u1), succ u2} (CategoryTheory.MonoOver.{u1, u2} C _inst_1 X) C (CategoryTheory.MonoOver.hasCoe.{u1, u2} C _inst_1 X)))) (CategoryTheory.MonoOver.mk'.{u1, u2} C _inst_1 X A f hf)) X) (CategoryTheory.MonoOver.arrow.{u1, u2} C _inst_1 X (CategoryTheory.MonoOver.mk'.{u1, u2} C _inst_1 X A f hf)) f
-but is expected to have type
-  forall {C : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} C] {X : C} {A : C} (f : Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) A X) [hf : CategoryTheory.Mono.{u1, u2} C _inst_1 A X f], Eq.{succ u1} (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 X) (CategoryTheory.FullSubcategory.obj.{max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 X) (fun (f : CategoryTheory.Over.{u1, u2} C _inst_1 X) => CategoryTheory.Mono.{u1, u2} C _inst_1 (Prefunctor.obj.{succ u1, succ u1, u2, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u2, u2} C _inst_1 C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1)) (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 X) f)) (Prefunctor.obj.{succ u1, succ u1, u1, u2} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.Category.toCategoryStruct.{u1, u1} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}))) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u2} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 X)) (CategoryTheory.Comma.right.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 X) f)) (CategoryTheory.Comma.hom.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 X) f)) (CategoryTheory.MonoOver.mk'.{u1, u2} C _inst_1 X A f hf))) X) (CategoryTheory.MonoOver.arrow.{u1, u2} C _inst_1 X (CategoryTheory.MonoOver.mk'.{u1, u2} C _inst_1 X A f hf)) f
-Case conversion may be inaccurate. Consider using '#align category_theory.mono_over.mk'_arrow CategoryTheory.MonoOver.mk'_arrowₓ'. -/
 @[simp]
 theorem mk'_arrow {X A : C} (f : A ⟶ X) [hf : Mono f] : (mk' f).arrow = f :=
   rfl
 #align category_theory.mono_over.mk'_arrow CategoryTheory.MonoOver.mk'_arrow
 
-/- warning: category_theory.mono_over.forget_obj_hom -> CategoryTheory.MonoOver.forget_obj_hom is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align category_theory.mono_over.forget_obj_hom CategoryTheory.MonoOver.forget_obj_homₓ'. -/
 @[simp]
 theorem forget_obj_hom {f} : ((forget X).obj f).Hom = f.arrow :=
   rfl
@@ -143,12 +113,6 @@ instance : Full (forget X) :=
 instance : Faithful (forget X) :=
   FullSubcategory.faithful _
 
-/- warning: category_theory.mono_over.mono -> CategoryTheory.MonoOver.mono is a dubious translation:
-lean 3 declaration is
-  forall {C : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} C] {X : C} (f : CategoryTheory.MonoOver.{u1, u2} C _inst_1 X), CategoryTheory.Mono.{u1, u2} C _inst_1 ((fun (a : Type.{max u2 u1}) (b : Type.{u2}) [self : HasLiftT.{succ (max u2 u1), succ u2} a b] => self.0) (CategoryTheory.MonoOver.{u1, u2} C _inst_1 X) C (HasLiftT.mk.{succ (max u2 u1), succ u2} (CategoryTheory.MonoOver.{u1, u2} C _inst_1 X) C (CoeTCₓ.coe.{succ (max u2 u1), succ u2} (CategoryTheory.MonoOver.{u1, u2} C _inst_1 X) C (coeBase.{succ (max u2 u1), succ u2} (CategoryTheory.MonoOver.{u1, u2} C _inst_1 X) C (CategoryTheory.MonoOver.hasCoe.{u1, u2} C _inst_1 X)))) f) X (CategoryTheory.MonoOver.arrow.{u1, u2} C _inst_1 X f)
-but is expected to have type
-  forall {C : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} C] {X : C} (f : CategoryTheory.MonoOver.{u1, u2} C _inst_1 X), CategoryTheory.Mono.{u1, u2} C _inst_1 (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 X) (CategoryTheory.FullSubcategory.obj.{max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 X) (fun (f : CategoryTheory.Over.{u1, u2} C _inst_1 X) => CategoryTheory.Mono.{u1, u2} C _inst_1 (Prefunctor.obj.{succ u1, succ u1, u2, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u2, u2} C _inst_1 C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1)) (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 X) f)) (Prefunctor.obj.{succ u1, succ u1, u1, u2} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.Category.toCategoryStruct.{u1, u1} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}))) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u2} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 X)) (CategoryTheory.Comma.right.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 X) f)) (CategoryTheory.Comma.hom.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 X) f)) f)) X (CategoryTheory.MonoOver.arrow.{u1, u2} C _inst_1 X f)
-Case conversion may be inaccurate. Consider using '#align category_theory.mono_over.mono CategoryTheory.MonoOver.monoₓ'. -/
 instance mono (f : MonoOver X) : Mono f.arrow :=
   f.property
 #align category_theory.mono_over.mono CategoryTheory.MonoOver.mono
@@ -188,12 +152,6 @@ def isoMk {f g : MonoOver X} (h : f.obj.left ≅ g.obj.left) (w : h.Hom ≫ g.ar
 #align category_theory.mono_over.iso_mk CategoryTheory.MonoOver.isoMk
 -/
 
-/- warning: category_theory.mono_over.mk'_arrow_iso -> CategoryTheory.MonoOver.mk'ArrowIso is a dubious translation:
-lean 3 declaration is
-  forall {C : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} C] {X : C} (f : CategoryTheory.MonoOver.{u1, u2} C _inst_1 X), CategoryTheory.Iso.{u1, max u2 u1} (CategoryTheory.MonoOver.{u1, u2} C _inst_1 X) (CategoryTheory.MonoOver.category.{u2, u1} C _inst_1 X) (CategoryTheory.MonoOver.mk'.{u1, u2} C _inst_1 X ((fun (a : Type.{max u2 u1}) (b : Type.{u2}) [self : HasLiftT.{succ (max u2 u1), succ u2} a b] => self.0) (CategoryTheory.MonoOver.{u1, u2} C _inst_1 X) C (HasLiftT.mk.{succ (max u2 u1), succ u2} (CategoryTheory.MonoOver.{u1, u2} C _inst_1 X) C (CoeTCₓ.coe.{succ (max u2 u1), succ u2} (CategoryTheory.MonoOver.{u1, u2} C _inst_1 X) C (coeBase.{succ (max u2 u1), succ u2} (CategoryTheory.MonoOver.{u1, u2} C _inst_1 X) C (CategoryTheory.MonoOver.hasCoe.{u1, u2} C _inst_1 X)))) f) (CategoryTheory.MonoOver.arrow.{u1, u2} C _inst_1 X f) (CategoryTheory.MonoOver.mono.{u1, u2} C _inst_1 X f)) f
-but is expected to have type
-  forall {C : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} C] {X : C} (f : CategoryTheory.MonoOver.{u1, u2} C _inst_1 X), CategoryTheory.Iso.{u1, max u2 u1} (CategoryTheory.MonoOver.{u1, u2} C _inst_1 X) (CategoryTheory.instCategoryMonoOver.{u1, u2} C _inst_1 X) (CategoryTheory.MonoOver.mk'.{u1, u2} C _inst_1 X (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 X) (CategoryTheory.FullSubcategory.obj.{max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 X) (fun (f : CategoryTheory.Over.{u1, u2} C _inst_1 X) => CategoryTheory.Mono.{u1, u2} C _inst_1 (Prefunctor.obj.{succ u1, succ u1, u2, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u2, u2} C _inst_1 C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1)) (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 X) f)) (Prefunctor.obj.{succ u1, succ u1, u1, u2} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.Category.toCategoryStruct.{u1, u1} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}))) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u2} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 X)) (CategoryTheory.Comma.right.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 X) f)) (CategoryTheory.Comma.hom.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 X) f)) f)) (CategoryTheory.MonoOver.arrow.{u1, u2} C _inst_1 X f) (CategoryTheory.MonoOver.mono.{u1, u2} C _inst_1 X f)) f
-Case conversion may be inaccurate. Consider using '#align category_theory.mono_over.mk'_arrow_iso CategoryTheory.MonoOver.mk'ArrowIsoₓ'. -/
 /-- If `f : mono_over X`, then `mk' f.arrow` is of course just `f`, but not definitionally, so we
     package it as an isomorphism. -/
 @[simp]
@@ -201,9 +159,6 @@ def mk'ArrowIso {X : C} (f : MonoOver X) : mk' f.arrow ≅ f :=
   isoMk (Iso.refl _) (by simp)
 #align category_theory.mono_over.mk'_arrow_iso CategoryTheory.MonoOver.mk'ArrowIso
 
-/- warning: category_theory.mono_over.lift -> CategoryTheory.MonoOver.lift is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align category_theory.mono_over.lift CategoryTheory.MonoOver.liftₓ'. -/
 /-- Lift a functor between over categories to a functor between `mono_over` categories,
 given suitable evidence that morphisms are taken to monomorphisms.
 -/
@@ -215,18 +170,12 @@ def lift {Y : D} (F : Over Y ⥤ Over X)
   map _ _ k := (MonoOver.forget X).preimage ((MonoOver.forget Y ⋙ F).map k)
 #align category_theory.mono_over.lift CategoryTheory.MonoOver.lift
 
-/- warning: category_theory.mono_over.lift_iso -> CategoryTheory.MonoOver.liftIso is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align category_theory.mono_over.lift_iso CategoryTheory.MonoOver.liftIsoₓ'. -/
 /-- Isomorphic functors `over Y ⥤ over X` lift to isomorphic functors `mono_over Y ⥤ mono_over X`.
 -/
 def liftIso {Y : D} {F₁ F₂ : Over Y ⥤ Over X} (h₁ h₂) (i : F₁ ≅ F₂) : lift F₁ h₁ ≅ lift F₂ h₂ :=
   fullyFaithfulCancelRight (MonoOver.forget X) (isoWhiskerLeft (MonoOver.forget Y) i)
 #align category_theory.mono_over.lift_iso CategoryTheory.MonoOver.liftIso
 
-/- warning: category_theory.mono_over.lift_comp -> CategoryTheory.MonoOver.liftComp is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align category_theory.mono_over.lift_comp CategoryTheory.MonoOver.liftCompₓ'. -/
 /-- `mono_over.lift` commutes with composition of functors. -/
 def liftComp {X Z : C} {Y : D} (F : Over X ⥤ Over Y) (G : Over Y ⥤ Over Z) (h₁ h₂) :
     lift F h₁ ⋙ lift G h₂ ≅ lift (F ⋙ G) fun f => h₂ ⟨_, h₁ f⟩ :=
@@ -240,9 +189,6 @@ def liftId : (lift (𝟭 (Over X)) fun f => f.2) ≅ 𝟭 _ :=
 #align category_theory.mono_over.lift_id CategoryTheory.MonoOver.liftId
 -/
 
-/- warning: category_theory.mono_over.lift_comm -> CategoryTheory.MonoOver.lift_comm is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align category_theory.mono_over.lift_comm CategoryTheory.MonoOver.lift_commₓ'. -/
 @[simp]
 theorem lift_comm (F : Over Y ⥤ Over X)
     (h : ∀ f : MonoOver Y, Mono (F.obj ((MonoOver.forget Y).obj f)).Hom) :
@@ -250,9 +196,6 @@ theorem lift_comm (F : Over Y ⥤ Over X)
   rfl
 #align category_theory.mono_over.lift_comm CategoryTheory.MonoOver.lift_comm
 
-/- warning: category_theory.mono_over.lift_obj_arrow -> CategoryTheory.MonoOver.lift_obj_arrow is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align category_theory.mono_over.lift_obj_arrow CategoryTheory.MonoOver.lift_obj_arrowₓ'. -/
 @[simp]
 theorem lift_obj_arrow {Y : D} (F : Over Y ⥤ Over X)
     (h : ∀ f : MonoOver Y, Mono (F.obj ((MonoOver.forget Y).obj f)).Hom) (f : MonoOver Y) :
@@ -260,9 +203,6 @@ theorem lift_obj_arrow {Y : D} (F : Over Y ⥤ Over X)
   rfl
 #align category_theory.mono_over.lift_obj_arrow CategoryTheory.MonoOver.lift_obj_arrow
 
-/- warning: category_theory.mono_over.slice -> CategoryTheory.MonoOver.slice is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align category_theory.mono_over.slice CategoryTheory.MonoOver.sliceₓ'. -/
 /-- Monomorphisms over an object `f : over A` in an over category
 are equivalent to monomorphisms over the source of `f`.
 -/
@@ -309,18 +249,12 @@ def pullbackId : pullback (𝟙 X) ≅ 𝟭 _ :=
 #align category_theory.mono_over.pullback_id CategoryTheory.MonoOver.pullbackId
 -/
 
-/- warning: category_theory.mono_over.pullback_obj_left -> CategoryTheory.MonoOver.pullback_obj_left is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align category_theory.mono_over.pullback_obj_left CategoryTheory.MonoOver.pullback_obj_leftₓ'. -/
 @[simp]
 theorem pullback_obj_left (f : X ⟶ Y) (g : MonoOver Y) :
     ((pullback f).obj g : C) = Limits.pullback g.arrow f :=
   rfl
 #align category_theory.mono_over.pullback_obj_left CategoryTheory.MonoOver.pullback_obj_left
 
-/- warning: category_theory.mono_over.pullback_obj_arrow -> CategoryTheory.MonoOver.pullback_obj_arrow is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align category_theory.mono_over.pullback_obj_arrow CategoryTheory.MonoOver.pullback_obj_arrowₓ'. -/
 @[simp]
 theorem pullback_obj_arrow (f : X ⟶ Y) (g : MonoOver Y) :
     ((pullback f).obj g).arrow = pullback.snd :=
@@ -356,20 +290,11 @@ def mapId : map (𝟙 X) ≅ 𝟭 _ :=
 #align category_theory.mono_over.map_id CategoryTheory.MonoOver.mapId
 -/
 
-/- warning: category_theory.mono_over.map_obj_left -> CategoryTheory.MonoOver.map_obj_left is a dubious translation:
-lean 3 declaration is
-  forall {C : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} C] {X : C} {Y : C} (f : Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) X Y) [_inst_3 : CategoryTheory.Mono.{u1, u2} C _inst_1 X Y f] (g : CategoryTheory.MonoOver.{u1, u2} C _inst_1 X), Eq.{succ u2} C ((fun (a : Type.{max u2 u1}) (b : Type.{u2}) [self : HasLiftT.{succ (max u2 u1), succ u2} a b] => self.0) (CategoryTheory.MonoOver.{u1, u2} C _inst_1 Y) C (HasLiftT.mk.{succ (max u2 u1), succ u2} (CategoryTheory.MonoOver.{u1, u2} C _inst_1 Y) C (CoeTCₓ.coe.{succ (max u2 u1), succ u2} (CategoryTheory.MonoOver.{u1, u2} C _inst_1 Y) C (coeBase.{succ (max u2 u1), succ u2} (CategoryTheory.MonoOver.{u1, u2} C _inst_1 Y) C (CategoryTheory.MonoOver.hasCoe.{u1, u2} C _inst_1 Y)))) (CategoryTheory.Functor.obj.{u1, u1, max u2 u1, max u2 u1} (CategoryTheory.MonoOver.{u1, u2} C _inst_1 X) (CategoryTheory.MonoOver.category.{u2, u1} C _inst_1 X) (CategoryTheory.MonoOver.{u1, u2} C _inst_1 Y) (CategoryTheory.MonoOver.category.{u2, u1} C _inst_1 Y) (CategoryTheory.MonoOver.map.{u1, u2} C _inst_1 X Y f _inst_3) g)) (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 X) (CategoryTheory.FullSubcategoryₓ.obj.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 X) (CategoryTheory.Over.category.{u2, u1} C _inst_1 X) (fun (f : CategoryTheory.Over.{u1, u2} C _inst_1 X) => CategoryTheory.Mono.{u1, u2} C _inst_1 (CategoryTheory.Functor.obj.{u1, u1, u2, u2} C _inst_1 C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 X) f)) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 X) (CategoryTheory.Comma.right.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 X) f)) (CategoryTheory.Comma.hom.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 X) f)) g))
-but is expected to have type
-  forall {C : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} C] {X : C} {Y : C} (f : Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) X Y) [_inst_3 : CategoryTheory.Mono.{u1, u2} C _inst_1 X Y f] (g : CategoryTheory.MonoOver.{u1, u2} C _inst_1 X), Eq.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 Y) (CategoryTheory.FullSubcategory.obj.{max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 Y) (fun (f : CategoryTheory.Over.{u1, u2} C _inst_1 Y) => CategoryTheory.Mono.{u1, u2} C _inst_1 (Prefunctor.obj.{succ u1, succ u1, u2, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u2, u2} C _inst_1 C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1)) (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 Y) f)) (Prefunctor.obj.{succ u1, succ u1, u1, u2} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.Category.toCategoryStruct.{u1, u1} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}))) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u2} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 Y)) (CategoryTheory.Comma.right.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 Y) f)) (CategoryTheory.Comma.hom.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 Y) f)) (Prefunctor.obj.{succ u1, succ u1, max u2 u1, max u2 u1} (CategoryTheory.MonoOver.{u1, u2} C _inst_1 X) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u2 u1} (CategoryTheory.MonoOver.{u1, u2} C _inst_1 X) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 u1} (CategoryTheory.MonoOver.{u1, u2} C _inst_1 X) (CategoryTheory.instCategoryMonoOver.{u1, u2} C _inst_1 X))) (CategoryTheory.MonoOver.{u1, u2} C _inst_1 Y) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u2 u1} (CategoryTheory.MonoOver.{u1, u2} C _inst_1 Y) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 u1} (CategoryTheory.MonoOver.{u1, u2} C _inst_1 Y) (CategoryTheory.instCategoryMonoOver.{u1, u2} C _inst_1 Y))) (CategoryTheory.Functor.toPrefunctor.{u1, u1, max u2 u1, max u2 u1} (CategoryTheory.MonoOver.{u1, u2} C _inst_1 X) (CategoryTheory.instCategoryMonoOver.{u1, u2} C _inst_1 X) (CategoryTheory.MonoOver.{u1, u2} C _inst_1 Y) (CategoryTheory.instCategoryMonoOver.{u1, u2} C _inst_1 Y) (CategoryTheory.MonoOver.map.{u1, u2} C _inst_1 X Y f _inst_3)) g))) (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 X) (CategoryTheory.FullSubcategory.obj.{max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 X) (fun (f : CategoryTheory.Over.{u1, u2} C _inst_1 X) => CategoryTheory.Mono.{u1, u2} C _inst_1 (Prefunctor.obj.{succ u1, succ u1, u2, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u2, u2} C _inst_1 C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1)) (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 X) f)) (Prefunctor.obj.{succ u1, succ u1, u1, u2} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.Category.toCategoryStruct.{u1, u1} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}))) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u2} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 X)) (CategoryTheory.Comma.right.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 X) f)) (CategoryTheory.Comma.hom.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 X) f)) g))
-Case conversion may be inaccurate. Consider using '#align category_theory.mono_over.map_obj_left CategoryTheory.MonoOver.map_obj_leftₓ'. -/
 @[simp]
 theorem map_obj_left (f : X ⟶ Y) [Mono f] (g : MonoOver X) : ((map f).obj g : C) = g.obj.left :=
   rfl
 #align category_theory.mono_over.map_obj_left CategoryTheory.MonoOver.map_obj_left
 
-/- warning: category_theory.mono_over.map_obj_arrow -> CategoryTheory.MonoOver.map_obj_arrow is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align category_theory.mono_over.map_obj_arrow CategoryTheory.MonoOver.map_obj_arrowₓ'. -/
 @[simp]
 theorem map_obj_arrow (f : X ⟶ Y) [Mono f] (g : MonoOver X) : ((map f).obj g).arrow = g.arrow ≫ f :=
   rfl
@@ -389,12 +314,6 @@ instance faithful_map (f : X ⟶ Y) [Mono f] : Faithful (map f) where
 #align category_theory.mono_over.faithful_map CategoryTheory.MonoOver.faithful_map
 -/
 
-/- warning: category_theory.mono_over.map_iso -> CategoryTheory.MonoOver.mapIso is a dubious translation:
-lean 3 declaration is
-  forall {C : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} C] {A : C} {B : C}, (CategoryTheory.Iso.{u1, u2} C _inst_1 A B) -> (CategoryTheory.Equivalence.{u1, u1, max u2 u1, max u2 u1} (CategoryTheory.MonoOver.{u1, u2} C _inst_1 A) (CategoryTheory.MonoOver.category.{u2, u1} C _inst_1 A) (CategoryTheory.MonoOver.{u1, u2} C _inst_1 B) (CategoryTheory.MonoOver.category.{u2, u1} C _inst_1 B))
-but is expected to have type
-  forall {C : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} C] {A : C} {B : C}, (CategoryTheory.Iso.{u1, u2} C _inst_1 A B) -> (CategoryTheory.Equivalence.{u1, u1, max u2 u1, max u2 u1} (CategoryTheory.MonoOver.{u1, u2} C _inst_1 A) (CategoryTheory.MonoOver.{u1, u2} C _inst_1 B) (CategoryTheory.instCategoryMonoOver.{u1, u2} C _inst_1 A) (CategoryTheory.instCategoryMonoOver.{u1, u2} C _inst_1 B))
-Case conversion may be inaccurate. Consider using '#align category_theory.mono_over.map_iso CategoryTheory.MonoOver.mapIsoₓ'. -/
 /-- Isomorphic objects have equivalent `mono_over` categories.
 -/
 @[simps]
@@ -410,12 +329,6 @@ section
 
 variable (X)
 
-/- warning: category_theory.mono_over.congr -> CategoryTheory.MonoOver.congr is a dubious translation:
-lean 3 declaration is
-  forall {C : Type.{u3}} [_inst_1 : CategoryTheory.Category.{u1, u3} C] (X : C) {D : Type.{u4}} [_inst_2 : CategoryTheory.Category.{u2, u4} D] (e : CategoryTheory.Equivalence.{u1, u2, u3, u4} C _inst_1 D _inst_2), CategoryTheory.Equivalence.{u1, u2, max u3 u1, max u4 u2} (CategoryTheory.MonoOver.{u1, u3} C _inst_1 X) (CategoryTheory.MonoOver.category.{u3, u1} C _inst_1 X) (CategoryTheory.MonoOver.{u2, u4} D _inst_2 (CategoryTheory.Functor.obj.{u1, u2, u3, u4} C _inst_1 D _inst_2 (CategoryTheory.Equivalence.functor.{u1, u2, u3, u4} C _inst_1 D _inst_2 e) X)) (CategoryTheory.MonoOver.category.{u4, u2} D _inst_2 (CategoryTheory.Functor.obj.{u1, u2, u3, u4} C _inst_1 D _inst_2 (CategoryTheory.Equivalence.functor.{u1, u2, u3, u4} C _inst_1 D _inst_2 e) X))
-but is expected to have type
-  forall {C : Type.{u3}} [_inst_1 : CategoryTheory.Category.{u1, u3} C] (X : C) {D : Type.{u4}} [_inst_2 : CategoryTheory.Category.{u2, u4} D] (e : CategoryTheory.Equivalence.{u1, u2, u3, u4} C D _inst_1 _inst_2), CategoryTheory.Equivalence.{u1, u2, max u3 u1, max u4 u2} (CategoryTheory.MonoOver.{u1, u3} C _inst_1 X) (CategoryTheory.MonoOver.{u2, u4} D _inst_2 (Prefunctor.obj.{succ u1, succ u2, u3, u4} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} C (CategoryTheory.Category.toCategoryStruct.{u1, u3} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u2, u4} D (CategoryTheory.Category.toCategoryStruct.{u2, u4} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u2, u3, u4} C _inst_1 D _inst_2 (CategoryTheory.Equivalence.functor.{u1, u2, u3, u4} C D _inst_1 _inst_2 e)) X)) (CategoryTheory.instCategoryMonoOver.{u1, u3} C _inst_1 X) (CategoryTheory.instCategoryMonoOver.{u2, u4} D _inst_2 (Prefunctor.obj.{succ u1, succ u2, u3, u4} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} C (CategoryTheory.Category.toCategoryStruct.{u1, u3} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u2, u4} D (CategoryTheory.Category.toCategoryStruct.{u2, u4} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u2, u3, u4} C _inst_1 D _inst_2 (CategoryTheory.Equivalence.functor.{u1, u2, u3, u4} C D _inst_1 _inst_2 e)) X))
-Case conversion may be inaccurate. Consider using '#align category_theory.mono_over.congr CategoryTheory.MonoOver.congrₓ'. -/
 /-- An equivalence of categories `e` between `C` and `D` induces an equivalence between
     `mono_over X` and `mono_over (e.functor.obj X)` whenever `X` is an object of `C`. -/
 @[simps]
@@ -466,12 +379,6 @@ def imageMonoOver (f : X ⟶ Y) [HasImage f] : MonoOver Y :=
 #align category_theory.mono_over.image_mono_over CategoryTheory.MonoOver.imageMonoOver
 -/
 
-/- warning: category_theory.mono_over.image_mono_over_arrow -> CategoryTheory.MonoOver.imageMonoOver_arrow is a dubious translation:
-lean 3 declaration is
-  forall {C : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} C] {X : C} {Y : C} (f : Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) X Y) [_inst_4 : CategoryTheory.Limits.HasImage.{u1, u2} C _inst_1 X Y f], Eq.{succ u1} (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) ((fun (a : Type.{max u2 u1}) (b : Type.{u2}) [self : HasLiftT.{succ (max u2 u1), succ u2} a b] => self.0) (CategoryTheory.MonoOver.{u1, u2} C _inst_1 Y) C (HasLiftT.mk.{succ (max u2 u1), succ u2} (CategoryTheory.MonoOver.{u1, u2} C _inst_1 Y) C (CoeTCₓ.coe.{succ (max u2 u1), succ u2} (CategoryTheory.MonoOver.{u1, u2} C _inst_1 Y) C (coeBase.{succ (max u2 u1), succ u2} (CategoryTheory.MonoOver.{u1, u2} C _inst_1 Y) C (CategoryTheory.MonoOver.hasCoe.{u1, u2} C _inst_1 Y)))) (CategoryTheory.MonoOver.imageMonoOver.{u1, u2} C _inst_1 X Y f _inst_4)) Y) (CategoryTheory.MonoOver.arrow.{u1, u2} C _inst_1 Y (CategoryTheory.MonoOver.imageMonoOver.{u1, u2} C _inst_1 X Y f _inst_4)) (CategoryTheory.Limits.image.ι.{u1, u2} C _inst_1 X Y f _inst_4)
-but is expected to have type
-  forall {C : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} C] {X : C} {Y : C} (f : Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) X Y) [_inst_4 : CategoryTheory.Limits.HasImage.{u1, u2} C _inst_1 X Y f], Eq.{succ u1} (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 Y) (CategoryTheory.FullSubcategory.obj.{max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 Y) (fun (f : CategoryTheory.Over.{u1, u2} C _inst_1 Y) => CategoryTheory.Mono.{u1, u2} C _inst_1 (Prefunctor.obj.{succ u1, succ u1, u2, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u2, u2} C _inst_1 C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1)) (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 Y) f)) (Prefunctor.obj.{succ u1, succ u1, u1, u2} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.Category.toCategoryStruct.{u1, u1} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}))) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u2} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 Y)) (CategoryTheory.Comma.right.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 Y) f)) (CategoryTheory.Comma.hom.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 Y) f)) (CategoryTheory.MonoOver.imageMonoOver.{u1, u2} C _inst_1 X Y f _inst_4))) Y) (CategoryTheory.MonoOver.arrow.{u1, u2} C _inst_1 Y (CategoryTheory.MonoOver.imageMonoOver.{u1, u2} C _inst_1 X Y f _inst_4)) (CategoryTheory.Limits.image.ι.{u1, u2} C _inst_1 X Y f _inst_4)
-Case conversion may be inaccurate. Consider using '#align category_theory.mono_over.image_mono_over_arrow CategoryTheory.MonoOver.imageMonoOver_arrowₓ'. -/
 @[simp]
 theorem imageMonoOver_arrow (f : X ⟶ Y) [HasImage f] : (imageMonoOver f).arrow = image.ι f :=
   rfl
@@ -537,18 +444,9 @@ instance : IsRightAdjoint (forget X) where
   left := image
   adj := imageForgetAdj
 
-/- warning: category_theory.mono_over.reflective -> CategoryTheory.MonoOver.reflective is a dubious translation:
-lean 3 declaration is
-  forall {C : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} C] {X : C} [_inst_3 : CategoryTheory.Limits.HasImages.{u1, u2} C _inst_1], CategoryTheory.Reflective.{u1, u1, max u2 u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 X) (CategoryTheory.MonoOver.{u1, u2} C _inst_1 X) (CategoryTheory.Over.category.{u2, u1} C _inst_1 X) (CategoryTheory.InducedCategory.category.{u1, max u2 u1, max u2 u1} (CategoryTheory.FullSubcategoryₓ.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 X) (CategoryTheory.Over.category.{u2, u1} C _inst_1 X) (fun (f : CategoryTheory.Over.{u1, u2} C _inst_1 X) => CategoryTheory.Mono.{u1, u2} C _inst_1 (CategoryTheory.Functor.obj.{u1, u1, u2, u2} C _inst_1 C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 X) f)) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 X) (CategoryTheory.Comma.right.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 X) f)) (CategoryTheory.Comma.hom.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 X) f))) (CategoryTheory.Over.{u1, u2} C _inst_1 X) (CategoryTheory.Over.category.{u2, u1} C _inst_1 X) (CategoryTheory.FullSubcategoryₓ.obj.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 X) (CategoryTheory.Over.category.{u2, u1} C _inst_1 X) (fun (f : CategoryTheory.Over.{u1, u2} C _inst_1 X) => CategoryTheory.Mono.{u1, u2} C _inst_1 (CategoryTheory.Functor.obj.{u1, u1, u2, u2} C _inst_1 C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 X) f)) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 X) (CategoryTheory.Comma.right.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 X) f)) (CategoryTheory.Comma.hom.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 X) f)))) (CategoryTheory.MonoOver.forget.{u1, u2} C _inst_1 X)
-but is expected to have type
-  forall {C : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} C] {X : C} [_inst_3 : CategoryTheory.Limits.HasImages.{u1, u2} C _inst_1], CategoryTheory.Reflective.{u1, u1, max u2 u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 X) (CategoryTheory.MonoOver.{u1, u2} C _inst_1 X) (CategoryTheory.instCategoryOver.{u1, u2} C _inst_1 X) (CategoryTheory.instCategoryMonoOver.{u1, u2} C _inst_1 X) (CategoryTheory.MonoOver.forget.{u1, u2} C _inst_1 X)
-Case conversion may be inaccurate. Consider using '#align category_theory.mono_over.reflective CategoryTheory.MonoOver.reflectiveₓ'. -/
 instance reflective : Reflective (forget X) where
 #align category_theory.mono_over.reflective CategoryTheory.MonoOver.reflective
 
-/- warning: category_theory.mono_over.forget_image -> CategoryTheory.MonoOver.forgetImage is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align category_theory.mono_over.forget_image CategoryTheory.MonoOver.forgetImageₓ'. -/
 /-- Forgetting that a monomorphism over `X` is a monomorphism, then taking its image,
 is the identity functor.
 -/
@@ -562,12 +460,6 @@ section Exists
 
 variable [HasImages C]
 
-/- warning: category_theory.mono_over.exists -> CategoryTheory.MonoOver.exists is a dubious translation:
-lean 3 declaration is
-  forall {C : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} C] {X : C} {Y : C} [_inst_3 : CategoryTheory.Limits.HasImages.{u1, u2} C _inst_1], (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) X Y) -> (CategoryTheory.Functor.{u1, u1, max u2 u1, max u2 u1} (CategoryTheory.MonoOver.{u1, u2} C _inst_1 X) (CategoryTheory.InducedCategory.category.{u1, max u2 u1, max u2 u1} (CategoryTheory.FullSubcategoryₓ.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 X) (CategoryTheory.Over.category.{u2, u1} C _inst_1 X) (fun (f : CategoryTheory.Over.{u1, u2} C _inst_1 X) => CategoryTheory.Mono.{u1, u2} C _inst_1 (CategoryTheory.Functor.obj.{u1, u1, u2, u2} C _inst_1 C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 X) f)) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 X) (CategoryTheory.Comma.right.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 X) f)) (CategoryTheory.Comma.hom.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 X) f))) (CategoryTheory.Over.{u1, u2} C _inst_1 X) (CategoryTheory.Over.category.{u2, u1} C _inst_1 X) (CategoryTheory.FullSubcategoryₓ.obj.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 X) (CategoryTheory.Over.category.{u2, u1} C _inst_1 X) (fun (f : CategoryTheory.Over.{u1, u2} C _inst_1 X) => CategoryTheory.Mono.{u1, u2} C _inst_1 (CategoryTheory.Functor.obj.{u1, u1, u2, u2} C _inst_1 C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 X) f)) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 X) (CategoryTheory.Comma.right.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 X) f)) (CategoryTheory.Comma.hom.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 X) f)))) (CategoryTheory.MonoOver.{u1, u2} C _inst_1 Y) (CategoryTheory.MonoOver.category.{u2, u1} C _inst_1 Y))
-but is expected to have type
-  forall {C : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} C] {X : C} {Y : C} [_inst_3 : CategoryTheory.Limits.HasImages.{u1, u2} C _inst_1], (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) X Y) -> (CategoryTheory.Functor.{u1, u1, max u2 u1, max u2 u1} (CategoryTheory.MonoOver.{u1, u2} C _inst_1 X) (CategoryTheory.instCategoryMonoOver.{u1, u2} C _inst_1 X) (CategoryTheory.MonoOver.{u1, u2} C _inst_1 Y) (CategoryTheory.instCategoryMonoOver.{u1, u2} C _inst_1 Y))
-Case conversion may be inaccurate. Consider using '#align category_theory.mono_over.exists CategoryTheory.MonoOver.existsₓ'. -/
 /-- In the case where `f` is not a monomorphism but `C` has images,
 we can still take the "forward map" under it, which agrees with `mono_over.map f`.
 -/
@@ -575,18 +467,9 @@ def exists (f : X ⟶ Y) : MonoOver X ⥤ MonoOver Y :=
   forget _ ⋙ Over.map f ⋙ image
 #align category_theory.mono_over.exists CategoryTheory.MonoOver.exists
 
-/- warning: category_theory.mono_over.faithful_exists -> CategoryTheory.MonoOver.faithful_exists is a dubious translation:
-lean 3 declaration is
-  forall {C : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} C] {X : C} {Y : C} [_inst_3 : CategoryTheory.Limits.HasImages.{u1, u2} C _inst_1] (f : Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) X Y), CategoryTheory.Faithful.{u1, u1, max u2 u1, max u2 u1} (CategoryTheory.MonoOver.{u1, u2} C _inst_1 X) (CategoryTheory.InducedCategory.category.{u1, max u2 u1, max u2 u1} (CategoryTheory.FullSubcategoryₓ.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 X) (CategoryTheory.Over.category.{u2, u1} C _inst_1 X) (fun (f : CategoryTheory.Over.{u1, u2} C _inst_1 X) => CategoryTheory.Mono.{u1, u2} C _inst_1 (CategoryTheory.Functor.obj.{u1, u1, u2, u2} C _inst_1 C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 X) f)) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 X) (CategoryTheory.Comma.right.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 X) f)) (CategoryTheory.Comma.hom.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 X) f))) (CategoryTheory.Over.{u1, u2} C _inst_1 X) (CategoryTheory.Over.category.{u2, u1} C _inst_1 X) (CategoryTheory.FullSubcategoryₓ.obj.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 X) (CategoryTheory.Over.category.{u2, u1} C _inst_1 X) (fun (f : CategoryTheory.Over.{u1, u2} C _inst_1 X) => CategoryTheory.Mono.{u1, u2} C _inst_1 (CategoryTheory.Functor.obj.{u1, u1, u2, u2} C _inst_1 C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 X) f)) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 X) (CategoryTheory.Comma.right.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 X) f)) (CategoryTheory.Comma.hom.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 X) f)))) (CategoryTheory.MonoOver.{u1, u2} C _inst_1 Y) (CategoryTheory.MonoOver.category.{u2, u1} C _inst_1 Y) (CategoryTheory.MonoOver.exists.{u1, u2} C _inst_1 X Y _inst_3 f)
-but is expected to have type
-  forall {C : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} C] {X : C} {Y : C} [_inst_3 : CategoryTheory.Limits.HasImages.{u1, u2} C _inst_1] (f : Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) X Y), CategoryTheory.Faithful.{u1, u1, max u2 u1, max u2 u1} (CategoryTheory.MonoOver.{u1, u2} C _inst_1 X) (CategoryTheory.instCategoryMonoOver.{u1, u2} C _inst_1 X) (CategoryTheory.MonoOver.{u1, u2} C _inst_1 Y) (CategoryTheory.instCategoryMonoOver.{u1, u2} C _inst_1 Y) (CategoryTheory.MonoOver.exists.{u1, u2} C _inst_1 X Y _inst_3 f)
-Case conversion may be inaccurate. Consider using '#align category_theory.mono_over.faithful_exists CategoryTheory.MonoOver.faithful_existsₓ'. -/
 instance faithful_exists (f : X ⟶ Y) : Faithful (exists f) where
 #align category_theory.mono_over.faithful_exists CategoryTheory.MonoOver.faithful_exists
 
-/- warning: category_theory.mono_over.exists_iso_map -> CategoryTheory.MonoOver.existsIsoMap is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align category_theory.mono_over.exists_iso_map CategoryTheory.MonoOver.existsIsoMapₓ'. -/
 /-- When `f : X ⟶ Y` is a monomorphism, `exists f` agrees with `map f`.
 -/
 def existsIsoMap (f : X ⟶ Y) [Mono f] : exists f ≅ map f :=
@@ -609,9 +492,6 @@ def existsIsoMap (f : X ⟶ Y) [Mono f] : exists f ≅ map f :=
       apply image.lift_fac)
 #align category_theory.mono_over.exists_iso_map CategoryTheory.MonoOver.existsIsoMap
 
-/- warning: category_theory.mono_over.exists_pullback_adj -> CategoryTheory.MonoOver.existsPullbackAdj is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align category_theory.mono_over.exists_pullback_adj CategoryTheory.MonoOver.existsPullbackAdjₓ'. -/
 /-- `exists` is adjoint to `pullback` when images exist -/
 def existsPullbackAdj (f : X ⟶ Y) [HasPullbacks C] : exists f ⊣ pullback f :=
   Adjunction.restrictFullyFaithful (forget X) (𝟭 _) ((Over.mapPullbackAdj f).comp imageForgetAdj)
Diff
@@ -421,14 +421,9 @@ Case conversion may be inaccurate. Consider using '#align category_theory.mono_o
 @[simps]
 def congr (e : C ≌ D) : MonoOver X ≌ MonoOver (e.Functor.obj X)
     where
-  Functor :=
-    lift (Over.post e.Functor) fun f => by
-      dsimp
-      infer_instance
+  Functor := lift (Over.post e.Functor) fun f => by dsimp; infer_instance
   inverse :=
-    (lift (Over.post e.inverse) fun f => by
-        dsimp
-        infer_instance) ⋙
+    (lift (Over.post e.inverse) fun f => by dsimp; infer_instance) ⋙
       (mapIso (e.unitIso.symm.app X)).Functor
   unitIso := NatIso.ofComponents (fun Y => isoMk (e.unitIso.app Y) (by tidy)) (by tidy)
   counitIso := NatIso.ofComponents (fun Y => isoMk (e.counitIso.app Y) (by tidy)) (by tidy)
Diff
@@ -89,10 +89,7 @@ def forget (X : C) : MonoOver X ⥤ Over X :=
 instance : Coe (MonoOver X) C where coe Y := Y.obj.left
 
 /- warning: category_theory.mono_over.forget_obj_left -> CategoryTheory.MonoOver.forget_obj_left is a dubious translation:
-lean 3 declaration is
-  forall {C : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} C] {X : C} {f : CategoryTheory.MonoOver.{u1, u2} C _inst_1 X}, Eq.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 X) (CategoryTheory.Functor.obj.{u1, u1, max u2 u1, max u2 u1} (CategoryTheory.MonoOver.{u1, u2} C _inst_1 X) (CategoryTheory.InducedCategory.category.{u1, max u2 u1, max u2 u1} (CategoryTheory.FullSubcategoryₓ.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 X) (CategoryTheory.Over.category.{u2, u1} C _inst_1 X) (fun (f : CategoryTheory.Over.{u1, u2} C _inst_1 X) => CategoryTheory.Mono.{u1, u2} C _inst_1 (CategoryTheory.Functor.obj.{u1, u1, u2, u2} C _inst_1 C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 X) f)) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 X) (CategoryTheory.Comma.right.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 X) f)) (CategoryTheory.Comma.hom.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 X) f))) (CategoryTheory.Over.{u1, u2} C _inst_1 X) (CategoryTheory.Over.category.{u2, u1} C _inst_1 X) (CategoryTheory.FullSubcategoryₓ.obj.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 X) (CategoryTheory.Over.category.{u2, u1} C _inst_1 X) (fun (f : CategoryTheory.Over.{u1, u2} C _inst_1 X) => CategoryTheory.Mono.{u1, u2} C _inst_1 (CategoryTheory.Functor.obj.{u1, u1, u2, u2} C _inst_1 C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 X) f)) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 X) (CategoryTheory.Comma.right.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 X) f)) (CategoryTheory.Comma.hom.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 X) f)))) (CategoryTheory.Over.{u1, u2} C _inst_1 X) (CategoryTheory.Over.category.{u2, u1} C _inst_1 X) (CategoryTheory.MonoOver.forget.{u1, u2} C _inst_1 X) f)) ((fun (a : Type.{max u2 u1}) (b : Type.{u2}) [self : HasLiftT.{succ (max u2 u1), succ u2} a b] => self.0) (CategoryTheory.MonoOver.{u1, u2} C _inst_1 X) C (HasLiftT.mk.{succ (max u2 u1), succ u2} (CategoryTheory.MonoOver.{u1, u2} C _inst_1 X) C (CoeTCₓ.coe.{succ (max u2 u1), succ u2} (CategoryTheory.MonoOver.{u1, u2} C _inst_1 X) C (coeBase.{succ (max u2 u1), succ u2} (CategoryTheory.MonoOver.{u1, u2} C _inst_1 X) C (CategoryTheory.MonoOver.hasCoe.{u1, u2} C _inst_1 X)))) f)
-but is expected to have type
-  forall {C : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} C] {X : C} {f : CategoryTheory.MonoOver.{u1, u2} C _inst_1 X}, Eq.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 X) (Prefunctor.obj.{succ u1, succ u1, max u2 u1, max u2 u1} (CategoryTheory.MonoOver.{u1, u2} C _inst_1 X) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u2 u1} (CategoryTheory.MonoOver.{u1, u2} C _inst_1 X) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 u1} (CategoryTheory.MonoOver.{u1, u2} C _inst_1 X) (CategoryTheory.instCategoryMonoOver.{u1, u2} C _inst_1 X))) (CategoryTheory.Over.{u1, u2} C _inst_1 X) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 X) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 X) (CategoryTheory.instCategoryOver.{u1, u2} C _inst_1 X))) (CategoryTheory.Functor.toPrefunctor.{u1, u1, max u2 u1, max u2 u1} (CategoryTheory.MonoOver.{u1, u2} C _inst_1 X) (CategoryTheory.instCategoryMonoOver.{u1, u2} C _inst_1 X) (CategoryTheory.Over.{u1, u2} C _inst_1 X) (CategoryTheory.instCategoryOver.{u1, u2} C _inst_1 X) (CategoryTheory.MonoOver.forget.{u1, u2} C _inst_1 X)) f)) (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 X) (CategoryTheory.FullSubcategory.obj.{max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 X) (fun (f : CategoryTheory.Over.{u1, u2} C _inst_1 X) => CategoryTheory.Mono.{u1, u2} C _inst_1 (Prefunctor.obj.{succ u1, succ u1, u2, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u2, u2} C _inst_1 C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1)) (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 X) f)) (Prefunctor.obj.{succ u1, succ u1, u1, u2} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.Category.toCategoryStruct.{u1, u1} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}))) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u2} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 X)) (CategoryTheory.Comma.right.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 X) f)) (CategoryTheory.Comma.hom.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 X) f)) f))
+<too large>
 Case conversion may be inaccurate. Consider using '#align category_theory.mono_over.forget_obj_left CategoryTheory.MonoOver.forget_obj_leftₓ'. -/
 @[simp]
 theorem forget_obj_left {f} : ((forget X).obj f).left = (f : C) :=
@@ -133,10 +130,7 @@ theorem mk'_arrow {X A : C} (f : A ⟶ X) [hf : Mono f] : (mk' f).arrow = f :=
 #align category_theory.mono_over.mk'_arrow CategoryTheory.MonoOver.mk'_arrow
 
 /- warning: category_theory.mono_over.forget_obj_hom -> CategoryTheory.MonoOver.forget_obj_hom is a dubious translation:
-lean 3 declaration is
-  forall {C : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} C] {X : C} {f : CategoryTheory.MonoOver.{u1, u2} C _inst_1 X}, Eq.{succ u1} (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.obj.{u1, u1, u2, u2} C _inst_1 C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 X) (CategoryTheory.Functor.obj.{u1, u1, max u2 u1, max u2 u1} (CategoryTheory.MonoOver.{u1, u2} C _inst_1 X) (CategoryTheory.InducedCategory.category.{u1, max u2 u1, max u2 u1} (CategoryTheory.FullSubcategoryₓ.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 X) (CategoryTheory.Over.category.{u2, u1} C _inst_1 X) (fun (f : CategoryTheory.Over.{u1, u2} C _inst_1 X) => CategoryTheory.Mono.{u1, u2} C _inst_1 (CategoryTheory.Functor.obj.{u1, u1, u2, u2} C _inst_1 C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 X) f)) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 X) (CategoryTheory.Comma.right.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 X) f)) (CategoryTheory.Comma.hom.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 X) f))) (CategoryTheory.Over.{u1, u2} C _inst_1 X) (CategoryTheory.Over.category.{u2, u1} C _inst_1 X) (CategoryTheory.FullSubcategoryₓ.obj.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 X) (CategoryTheory.Over.category.{u2, u1} C _inst_1 X) (fun (f : CategoryTheory.Over.{u1, u2} C _inst_1 X) => CategoryTheory.Mono.{u1, u2} C _inst_1 (CategoryTheory.Functor.obj.{u1, u1, u2, u2} C _inst_1 C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 X) f)) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 X) (CategoryTheory.Comma.right.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 X) f)) (CategoryTheory.Comma.hom.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 X) f)))) (CategoryTheory.Over.{u1, u2} C _inst_1 X) (CategoryTheory.Over.category.{u2, u1} C _inst_1 X) (CategoryTheory.MonoOver.forget.{u1, u2} C _inst_1 X) f))) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 X) (CategoryTheory.Comma.right.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 X) (CategoryTheory.Functor.obj.{u1, u1, max u2 u1, max u2 u1} (CategoryTheory.MonoOver.{u1, u2} C _inst_1 X) (CategoryTheory.InducedCategory.category.{u1, max u2 u1, max u2 u1} (CategoryTheory.FullSubcategoryₓ.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 X) (CategoryTheory.Over.category.{u2, u1} C _inst_1 X) (fun (f : CategoryTheory.Over.{u1, u2} C _inst_1 X) => CategoryTheory.Mono.{u1, u2} C _inst_1 (CategoryTheory.Functor.obj.{u1, u1, u2, u2} C _inst_1 C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 X) f)) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 X) (CategoryTheory.Comma.right.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 X) f)) (CategoryTheory.Comma.hom.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 X) f))) (CategoryTheory.Over.{u1, u2} C _inst_1 X) (CategoryTheory.Over.category.{u2, u1} C _inst_1 X) (CategoryTheory.FullSubcategoryₓ.obj.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 X) (CategoryTheory.Over.category.{u2, u1} C _inst_1 X) (fun (f : CategoryTheory.Over.{u1, u2} C _inst_1 X) => CategoryTheory.Mono.{u1, u2} C _inst_1 (CategoryTheory.Functor.obj.{u1, u1, u2, u2} C _inst_1 C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 X) f)) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 X) (CategoryTheory.Comma.right.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 X) f)) (CategoryTheory.Comma.hom.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 X) f)))) (CategoryTheory.Over.{u1, u2} C _inst_1 X) (CategoryTheory.Over.category.{u2, u1} C _inst_1 X) (CategoryTheory.MonoOver.forget.{u1, u2} C _inst_1 X) f)))) (CategoryTheory.Comma.hom.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 X) (CategoryTheory.Functor.obj.{u1, u1, max u2 u1, max u2 u1} (CategoryTheory.MonoOver.{u1, u2} C _inst_1 X) (CategoryTheory.InducedCategory.category.{u1, max u2 u1, max u2 u1} (CategoryTheory.FullSubcategoryₓ.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 X) (CategoryTheory.Over.category.{u2, u1} C _inst_1 X) (fun (f : CategoryTheory.Over.{u1, u2} C _inst_1 X) => CategoryTheory.Mono.{u1, u2} C _inst_1 (CategoryTheory.Functor.obj.{u1, u1, u2, u2} C _inst_1 C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 X) f)) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 X) (CategoryTheory.Comma.right.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 X) f)) (CategoryTheory.Comma.hom.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 X) f))) (CategoryTheory.Over.{u1, u2} C _inst_1 X) (CategoryTheory.Over.category.{u2, u1} C _inst_1 X) (CategoryTheory.FullSubcategoryₓ.obj.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 X) (CategoryTheory.Over.category.{u2, u1} C _inst_1 X) (fun (f : CategoryTheory.Over.{u1, u2} C _inst_1 X) => CategoryTheory.Mono.{u1, u2} C _inst_1 (CategoryTheory.Functor.obj.{u1, u1, u2, u2} C _inst_1 C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 X) f)) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 X) (CategoryTheory.Comma.right.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 X) f)) (CategoryTheory.Comma.hom.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 X) f)))) (CategoryTheory.Over.{u1, u2} C _inst_1 X) (CategoryTheory.Over.category.{u2, u1} C _inst_1 X) (CategoryTheory.MonoOver.forget.{u1, u2} C _inst_1 X) f)) (CategoryTheory.MonoOver.arrow.{u1, u2} C _inst_1 X f)
-but is expected to have type
-  forall {C : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} C] {X : C} {f : CategoryTheory.MonoOver.{u1, u2} C _inst_1 X}, Eq.{succ u1} (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (Prefunctor.obj.{succ u1, succ u1, u2, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u2, u2} C _inst_1 C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1)) (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 X) (Prefunctor.obj.{succ u1, succ u1, max u2 u1, max u2 u1} (CategoryTheory.MonoOver.{u1, u2} C _inst_1 X) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u2 u1} (CategoryTheory.MonoOver.{u1, u2} C _inst_1 X) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 u1} (CategoryTheory.MonoOver.{u1, u2} C _inst_1 X) (CategoryTheory.instCategoryMonoOver.{u1, u2} C _inst_1 X))) (CategoryTheory.Over.{u1, u2} C _inst_1 X) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 X) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 X) (CategoryTheory.instCategoryOver.{u1, u2} C _inst_1 X))) (CategoryTheory.Functor.toPrefunctor.{u1, u1, max u2 u1, max u2 u1} (CategoryTheory.MonoOver.{u1, u2} C _inst_1 X) (CategoryTheory.instCategoryMonoOver.{u1, u2} C _inst_1 X) (CategoryTheory.Over.{u1, u2} C _inst_1 X) (CategoryTheory.instCategoryOver.{u1, u2} C _inst_1 X) (CategoryTheory.MonoOver.forget.{u1, u2} C _inst_1 X)) f))) (Prefunctor.obj.{succ u1, succ u1, u1, u2} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.Category.toCategoryStruct.{u1, u1} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}))) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u2} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 X)) (CategoryTheory.Comma.right.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 X) (Prefunctor.obj.{succ u1, succ u1, max u2 u1, max u2 u1} (CategoryTheory.MonoOver.{u1, u2} C _inst_1 X) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u2 u1} (CategoryTheory.MonoOver.{u1, u2} C _inst_1 X) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 u1} (CategoryTheory.MonoOver.{u1, u2} C _inst_1 X) (CategoryTheory.instCategoryMonoOver.{u1, u2} C _inst_1 X))) (CategoryTheory.Over.{u1, u2} C _inst_1 X) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 X) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 X) (CategoryTheory.instCategoryOver.{u1, u2} C _inst_1 X))) (CategoryTheory.Functor.toPrefunctor.{u1, u1, max u2 u1, max u2 u1} (CategoryTheory.MonoOver.{u1, u2} C _inst_1 X) (CategoryTheory.instCategoryMonoOver.{u1, u2} C _inst_1 X) (CategoryTheory.Over.{u1, u2} C _inst_1 X) (CategoryTheory.instCategoryOver.{u1, u2} C _inst_1 X) (CategoryTheory.MonoOver.forget.{u1, u2} C _inst_1 X)) f)))) (CategoryTheory.Comma.hom.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 X) (Prefunctor.obj.{succ u1, succ u1, max u2 u1, max u2 u1} (CategoryTheory.MonoOver.{u1, u2} C _inst_1 X) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u2 u1} (CategoryTheory.MonoOver.{u1, u2} C _inst_1 X) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 u1} (CategoryTheory.MonoOver.{u1, u2} C _inst_1 X) (CategoryTheory.instCategoryMonoOver.{u1, u2} C _inst_1 X))) (CategoryTheory.Over.{u1, u2} C _inst_1 X) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 X) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 X) (CategoryTheory.instCategoryOver.{u1, u2} C _inst_1 X))) (CategoryTheory.Functor.toPrefunctor.{u1, u1, max u2 u1, max u2 u1} (CategoryTheory.MonoOver.{u1, u2} C _inst_1 X) (CategoryTheory.instCategoryMonoOver.{u1, u2} C _inst_1 X) (CategoryTheory.Over.{u1, u2} C _inst_1 X) (CategoryTheory.instCategoryOver.{u1, u2} C _inst_1 X) (CategoryTheory.MonoOver.forget.{u1, u2} C _inst_1 X)) f)) (CategoryTheory.MonoOver.arrow.{u1, u2} C _inst_1 X f)
+<too large>
 Case conversion may be inaccurate. Consider using '#align category_theory.mono_over.forget_obj_hom CategoryTheory.MonoOver.forget_obj_homₓ'. -/
 @[simp]
 theorem forget_obj_hom {f} : ((forget X).obj f).Hom = f.arrow :=
@@ -208,10 +202,7 @@ def mk'ArrowIso {X : C} (f : MonoOver X) : mk' f.arrow ≅ f :=
 #align category_theory.mono_over.mk'_arrow_iso CategoryTheory.MonoOver.mk'ArrowIso
 
 /- warning: category_theory.mono_over.lift -> CategoryTheory.MonoOver.lift is a dubious translation:
-lean 3 declaration is
-  forall {C : Type.{u3}} [_inst_1 : CategoryTheory.Category.{u1, u3} C] {X : C} {D : Type.{u4}} [_inst_2 : CategoryTheory.Category.{u2, u4} D] {Y : D} (F : CategoryTheory.Functor.{u2, u1, max u4 u2, max u3 u1} (CategoryTheory.Over.{u2, u4} D _inst_2 Y) (CategoryTheory.Over.category.{u4, u2} D _inst_2 Y) (CategoryTheory.Over.{u1, u3} C _inst_1 X) (CategoryTheory.Over.category.{u3, u1} C _inst_1 X)), (forall (f : CategoryTheory.MonoOver.{u2, u4} D _inst_2 Y), CategoryTheory.Mono.{u1, u3} C _inst_1 (CategoryTheory.Functor.obj.{u1, u1, u3, u3} C _inst_1 C _inst_1 (CategoryTheory.Functor.id.{u1, u3} C _inst_1) (CategoryTheory.Comma.left.{u1, u1, u1, u3, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u3} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u3} C _inst_1 X) (CategoryTheory.Functor.obj.{u2, u1, max u4 u2, max u3 u1} (CategoryTheory.Over.{u2, u4} D _inst_2 Y) (CategoryTheory.Over.category.{u4, u2} D _inst_2 Y) (CategoryTheory.Over.{u1, u3} C _inst_1 X) (CategoryTheory.Over.category.{u3, u1} C _inst_1 X) F (CategoryTheory.Functor.obj.{u2, u2, max u4 u2, max u4 u2} (CategoryTheory.MonoOver.{u2, u4} D _inst_2 Y) (CategoryTheory.InducedCategory.category.{u2, max u4 u2, max u4 u2} (CategoryTheory.FullSubcategoryₓ.{u2, max u4 u2} (CategoryTheory.Over.{u2, u4} D _inst_2 Y) (CategoryTheory.Over.category.{u4, u2} D _inst_2 Y) (fun (f : CategoryTheory.Over.{u2, u4} D _inst_2 Y) => CategoryTheory.Mono.{u2, u4} D _inst_2 (CategoryTheory.Functor.obj.{u2, u2, u4, u4} D _inst_2 D _inst_2 (CategoryTheory.Functor.id.{u2, u4} D _inst_2) (CategoryTheory.Comma.left.{u2, u2, u2, u4, u2, u4} D _inst_2 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) D _inst_2 (CategoryTheory.Functor.id.{u2, u4} D _inst_2) (CategoryTheory.Functor.fromPUnit.{u2, u4} D _inst_2 Y) f)) (CategoryTheory.Functor.obj.{u2, u2, u2, u4} (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) D _inst_2 (CategoryTheory.Functor.fromPUnit.{u2, u4} D _inst_2 Y) (CategoryTheory.Comma.right.{u2, u2, u2, u4, u2, u4} D _inst_2 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) D _inst_2 (CategoryTheory.Functor.id.{u2, u4} D _inst_2) (CategoryTheory.Functor.fromPUnit.{u2, u4} D _inst_2 Y) f)) (CategoryTheory.Comma.hom.{u2, u2, u2, u4, u2, u4} D _inst_2 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) D _inst_2 (CategoryTheory.Functor.id.{u2, u4} D _inst_2) (CategoryTheory.Functor.fromPUnit.{u2, u4} D _inst_2 Y) f))) (CategoryTheory.Over.{u2, u4} D _inst_2 Y) (CategoryTheory.Over.category.{u4, u2} D _inst_2 Y) (CategoryTheory.FullSubcategoryₓ.obj.{u2, max u4 u2} (CategoryTheory.Over.{u2, u4} D _inst_2 Y) (CategoryTheory.Over.category.{u4, u2} D _inst_2 Y) (fun (f : CategoryTheory.Over.{u2, u4} D _inst_2 Y) => CategoryTheory.Mono.{u2, u4} D _inst_2 (CategoryTheory.Functor.obj.{u2, u2, u4, u4} D _inst_2 D _inst_2 (CategoryTheory.Functor.id.{u2, u4} D _inst_2) (CategoryTheory.Comma.left.{u2, u2, u2, u4, u2, u4} D _inst_2 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) D _inst_2 (CategoryTheory.Functor.id.{u2, u4} D _inst_2) (CategoryTheory.Functor.fromPUnit.{u2, u4} D _inst_2 Y) f)) (CategoryTheory.Functor.obj.{u2, u2, u2, u4} (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) D _inst_2 (CategoryTheory.Functor.fromPUnit.{u2, u4} D _inst_2 Y) (CategoryTheory.Comma.right.{u2, u2, u2, u4, u2, u4} D _inst_2 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) D _inst_2 (CategoryTheory.Functor.id.{u2, u4} D _inst_2) (CategoryTheory.Functor.fromPUnit.{u2, u4} D _inst_2 Y) f)) (CategoryTheory.Comma.hom.{u2, u2, u2, u4, u2, u4} D _inst_2 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) D _inst_2 (CategoryTheory.Functor.id.{u2, u4} D _inst_2) (CategoryTheory.Functor.fromPUnit.{u2, u4} D _inst_2 Y) f)))) (CategoryTheory.Over.{u2, u4} D _inst_2 Y) (CategoryTheory.Over.category.{u4, u2} D _inst_2 Y) (CategoryTheory.MonoOver.forget.{u2, u4} D _inst_2 Y) f)))) (CategoryTheory.Functor.obj.{u1, u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.fromPUnit.{u1, u3} C _inst_1 X) (CategoryTheory.Comma.right.{u1, u1, u1, u3, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u3} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u3} C _inst_1 X) (CategoryTheory.Functor.obj.{u2, u1, max u4 u2, max u3 u1} (CategoryTheory.Over.{u2, u4} D _inst_2 Y) (CategoryTheory.Over.category.{u4, u2} D _inst_2 Y) (CategoryTheory.Over.{u1, u3} C _inst_1 X) (CategoryTheory.Over.category.{u3, u1} C _inst_1 X) F (CategoryTheory.Functor.obj.{u2, u2, max u4 u2, max u4 u2} (CategoryTheory.MonoOver.{u2, u4} D _inst_2 Y) (CategoryTheory.InducedCategory.category.{u2, max u4 u2, max u4 u2} (CategoryTheory.FullSubcategoryₓ.{u2, max u4 u2} (CategoryTheory.Over.{u2, u4} D _inst_2 Y) (CategoryTheory.Over.category.{u4, u2} D _inst_2 Y) (fun (f : CategoryTheory.Over.{u2, u4} D _inst_2 Y) => CategoryTheory.Mono.{u2, u4} D _inst_2 (CategoryTheory.Functor.obj.{u2, u2, u4, u4} D _inst_2 D _inst_2 (CategoryTheory.Functor.id.{u2, u4} D _inst_2) (CategoryTheory.Comma.left.{u2, u2, u2, u4, u2, u4} D _inst_2 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) D _inst_2 (CategoryTheory.Functor.id.{u2, u4} D _inst_2) (CategoryTheory.Functor.fromPUnit.{u2, u4} D _inst_2 Y) f)) (CategoryTheory.Functor.obj.{u2, u2, u2, u4} (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) D _inst_2 (CategoryTheory.Functor.fromPUnit.{u2, u4} D _inst_2 Y) (CategoryTheory.Comma.right.{u2, u2, u2, u4, u2, u4} D _inst_2 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) D _inst_2 (CategoryTheory.Functor.id.{u2, u4} D _inst_2) (CategoryTheory.Functor.fromPUnit.{u2, u4} D _inst_2 Y) f)) (CategoryTheory.Comma.hom.{u2, u2, u2, u4, u2, u4} D _inst_2 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) D _inst_2 (CategoryTheory.Functor.id.{u2, u4} D _inst_2) (CategoryTheory.Functor.fromPUnit.{u2, u4} D _inst_2 Y) f))) (CategoryTheory.Over.{u2, u4} D _inst_2 Y) (CategoryTheory.Over.category.{u4, u2} D _inst_2 Y) (CategoryTheory.FullSubcategoryₓ.obj.{u2, max u4 u2} (CategoryTheory.Over.{u2, u4} D _inst_2 Y) (CategoryTheory.Over.category.{u4, u2} D _inst_2 Y) (fun (f : CategoryTheory.Over.{u2, u4} D _inst_2 Y) => CategoryTheory.Mono.{u2, u4} D _inst_2 (CategoryTheory.Functor.obj.{u2, u2, u4, u4} D _inst_2 D _inst_2 (CategoryTheory.Functor.id.{u2, u4} D _inst_2) (CategoryTheory.Comma.left.{u2, u2, u2, u4, u2, u4} D _inst_2 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) D _inst_2 (CategoryTheory.Functor.id.{u2, u4} D _inst_2) (CategoryTheory.Functor.fromPUnit.{u2, u4} D _inst_2 Y) f)) (CategoryTheory.Functor.obj.{u2, u2, u2, u4} (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) D _inst_2 (CategoryTheory.Functor.fromPUnit.{u2, u4} D _inst_2 Y) (CategoryTheory.Comma.right.{u2, u2, u2, u4, u2, u4} D _inst_2 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) D _inst_2 (CategoryTheory.Functor.id.{u2, u4} D _inst_2) (CategoryTheory.Functor.fromPUnit.{u2, u4} D _inst_2 Y) f)) (CategoryTheory.Comma.hom.{u2, u2, u2, u4, u2, u4} D _inst_2 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) D _inst_2 (CategoryTheory.Functor.id.{u2, u4} D _inst_2) (CategoryTheory.Functor.fromPUnit.{u2, u4} D _inst_2 Y) f)))) (CategoryTheory.Over.{u2, u4} D _inst_2 Y) (CategoryTheory.Over.category.{u4, u2} D _inst_2 Y) (CategoryTheory.MonoOver.forget.{u2, u4} D _inst_2 Y) f)))) (CategoryTheory.Comma.hom.{u1, u1, u1, u3, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u3} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u3} C _inst_1 X) (CategoryTheory.Functor.obj.{u2, u1, max u4 u2, max u3 u1} (CategoryTheory.Over.{u2, u4} D _inst_2 Y) (CategoryTheory.Over.category.{u4, u2} D _inst_2 Y) (CategoryTheory.Over.{u1, u3} C _inst_1 X) (CategoryTheory.Over.category.{u3, u1} C _inst_1 X) F (CategoryTheory.Functor.obj.{u2, u2, max u4 u2, max u4 u2} (CategoryTheory.MonoOver.{u2, u4} D _inst_2 Y) (CategoryTheory.InducedCategory.category.{u2, max u4 u2, max u4 u2} (CategoryTheory.FullSubcategoryₓ.{u2, max u4 u2} (CategoryTheory.Over.{u2, u4} D _inst_2 Y) (CategoryTheory.Over.category.{u4, u2} D _inst_2 Y) (fun (f : CategoryTheory.Over.{u2, u4} D _inst_2 Y) => CategoryTheory.Mono.{u2, u4} D _inst_2 (CategoryTheory.Functor.obj.{u2, u2, u4, u4} D _inst_2 D _inst_2 (CategoryTheory.Functor.id.{u2, u4} D _inst_2) (CategoryTheory.Comma.left.{u2, u2, u2, u4, u2, u4} D _inst_2 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) D _inst_2 (CategoryTheory.Functor.id.{u2, u4} D _inst_2) (CategoryTheory.Functor.fromPUnit.{u2, u4} D _inst_2 Y) f)) (CategoryTheory.Functor.obj.{u2, u2, u2, u4} (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) D _inst_2 (CategoryTheory.Functor.fromPUnit.{u2, u4} D _inst_2 Y) (CategoryTheory.Comma.right.{u2, u2, u2, u4, u2, u4} D _inst_2 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) D _inst_2 (CategoryTheory.Functor.id.{u2, u4} D _inst_2) (CategoryTheory.Functor.fromPUnit.{u2, u4} D _inst_2 Y) f)) (CategoryTheory.Comma.hom.{u2, u2, u2, u4, u2, u4} D _inst_2 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) D _inst_2 (CategoryTheory.Functor.id.{u2, u4} D _inst_2) (CategoryTheory.Functor.fromPUnit.{u2, u4} D _inst_2 Y) f))) (CategoryTheory.Over.{u2, u4} D _inst_2 Y) (CategoryTheory.Over.category.{u4, u2} D _inst_2 Y) (CategoryTheory.FullSubcategoryₓ.obj.{u2, max u4 u2} (CategoryTheory.Over.{u2, u4} D _inst_2 Y) (CategoryTheory.Over.category.{u4, u2} D _inst_2 Y) (fun (f : CategoryTheory.Over.{u2, u4} D _inst_2 Y) => CategoryTheory.Mono.{u2, u4} D _inst_2 (CategoryTheory.Functor.obj.{u2, u2, u4, u4} D _inst_2 D _inst_2 (CategoryTheory.Functor.id.{u2, u4} D _inst_2) (CategoryTheory.Comma.left.{u2, u2, u2, u4, u2, u4} D _inst_2 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) D _inst_2 (CategoryTheory.Functor.id.{u2, u4} D _inst_2) (CategoryTheory.Functor.fromPUnit.{u2, u4} D _inst_2 Y) f)) (CategoryTheory.Functor.obj.{u2, u2, u2, u4} (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) D _inst_2 (CategoryTheory.Functor.fromPUnit.{u2, u4} D _inst_2 Y) (CategoryTheory.Comma.right.{u2, u2, u2, u4, u2, u4} D _inst_2 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) D _inst_2 (CategoryTheory.Functor.id.{u2, u4} D _inst_2) (CategoryTheory.Functor.fromPUnit.{u2, u4} D _inst_2 Y) f)) (CategoryTheory.Comma.hom.{u2, u2, u2, u4, u2, u4} D _inst_2 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) D _inst_2 (CategoryTheory.Functor.id.{u2, u4} D _inst_2) (CategoryTheory.Functor.fromPUnit.{u2, u4} D _inst_2 Y) f)))) (CategoryTheory.Over.{u2, u4} D _inst_2 Y) (CategoryTheory.Over.category.{u4, u2} D _inst_2 Y) (CategoryTheory.MonoOver.forget.{u2, u4} D _inst_2 Y) f)))) -> (CategoryTheory.Functor.{u2, u1, max u4 u2, max u3 u1} (CategoryTheory.MonoOver.{u2, u4} D _inst_2 Y) (CategoryTheory.MonoOver.category.{u4, u2} D _inst_2 Y) (CategoryTheory.MonoOver.{u1, u3} C _inst_1 X) (CategoryTheory.MonoOver.category.{u3, u1} C _inst_1 X))
-but is expected to have type
-  forall {C : Type.{u3}} [_inst_1 : CategoryTheory.Category.{u1, u3} C] {X : C} {D : Type.{u4}} [_inst_2 : CategoryTheory.Category.{u2, u4} D] {Y : D} (F : CategoryTheory.Functor.{u2, u1, max u4 u2, max u3 u1} (CategoryTheory.Over.{u2, u4} D _inst_2 Y) (CategoryTheory.instCategoryOver.{u2, u4} D _inst_2 Y) (CategoryTheory.Over.{u1, u3} C _inst_1 X) (CategoryTheory.instCategoryOver.{u1, u3} C _inst_1 X)), (forall (f : CategoryTheory.MonoOver.{u2, u4} D _inst_2 Y), CategoryTheory.Mono.{u1, u3} C _inst_1 (Prefunctor.obj.{succ u1, succ u1, u3, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} C (CategoryTheory.Category.toCategoryStruct.{u1, u3} C _inst_1)) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} C (CategoryTheory.Category.toCategoryStruct.{u1, u3} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u3, u3} C _inst_1 C _inst_1 (CategoryTheory.Functor.id.{u1, u3} C _inst_1)) (CategoryTheory.Comma.left.{u1, u1, u1, u3, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u3} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u3} C _inst_1 X) (Prefunctor.obj.{succ u2, succ u1, max u4 u2, max u3 u1} (CategoryTheory.Over.{u2, u4} D _inst_2 Y) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u4 u2} (CategoryTheory.Over.{u2, u4} D _inst_2 Y) (CategoryTheory.Category.toCategoryStruct.{u2, max u4 u2} (CategoryTheory.Over.{u2, u4} D _inst_2 Y) (CategoryTheory.instCategoryOver.{u2, u4} D _inst_2 Y))) (CategoryTheory.Over.{u1, u3} C _inst_1 X) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u3 u1} (CategoryTheory.Over.{u1, u3} C _inst_1 X) (CategoryTheory.Category.toCategoryStruct.{u1, max u3 u1} (CategoryTheory.Over.{u1, u3} C _inst_1 X) (CategoryTheory.instCategoryOver.{u1, u3} C _inst_1 X))) (CategoryTheory.Functor.toPrefunctor.{u2, u1, max u4 u2, max u3 u1} (CategoryTheory.Over.{u2, u4} D _inst_2 Y) (CategoryTheory.instCategoryOver.{u2, u4} D _inst_2 Y) (CategoryTheory.Over.{u1, u3} C _inst_1 X) (CategoryTheory.instCategoryOver.{u1, u3} C _inst_1 X) F) (Prefunctor.obj.{succ u2, succ u2, max u4 u2, max u4 u2} (CategoryTheory.MonoOver.{u2, u4} D _inst_2 Y) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u4 u2} (CategoryTheory.MonoOver.{u2, u4} D _inst_2 Y) (CategoryTheory.Category.toCategoryStruct.{u2, max u4 u2} (CategoryTheory.MonoOver.{u2, u4} D _inst_2 Y) (CategoryTheory.instCategoryMonoOver.{u2, u4} D _inst_2 Y))) (CategoryTheory.Over.{u2, u4} D _inst_2 Y) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u4 u2} (CategoryTheory.Over.{u2, u4} D _inst_2 Y) (CategoryTheory.Category.toCategoryStruct.{u2, max u4 u2} (CategoryTheory.Over.{u2, u4} D _inst_2 Y) (CategoryTheory.instCategoryOver.{u2, u4} D _inst_2 Y))) (CategoryTheory.Functor.toPrefunctor.{u2, u2, max u4 u2, max u4 u2} (CategoryTheory.MonoOver.{u2, u4} D _inst_2 Y) (CategoryTheory.instCategoryMonoOver.{u2, u4} D _inst_2 Y) (CategoryTheory.Over.{u2, u4} D _inst_2 Y) (CategoryTheory.instCategoryOver.{u2, u4} D _inst_2 Y) (CategoryTheory.MonoOver.forget.{u2, u4} D _inst_2 Y)) f)))) (Prefunctor.obj.{succ u1, succ u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.Category.toCategoryStruct.{u1, u1} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}))) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} C (CategoryTheory.Category.toCategoryStruct.{u1, u3} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.fromPUnit.{u1, u3} C _inst_1 X)) (CategoryTheory.Comma.right.{u1, u1, u1, u3, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u3} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u3} C _inst_1 X) (Prefunctor.obj.{succ u2, succ u1, max u4 u2, max u3 u1} (CategoryTheory.Over.{u2, u4} D _inst_2 Y) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u4 u2} (CategoryTheory.Over.{u2, u4} D _inst_2 Y) (CategoryTheory.Category.toCategoryStruct.{u2, max u4 u2} (CategoryTheory.Over.{u2, u4} D _inst_2 Y) (CategoryTheory.instCategoryOver.{u2, u4} D _inst_2 Y))) (CategoryTheory.Over.{u1, u3} C _inst_1 X) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u3 u1} (CategoryTheory.Over.{u1, u3} C _inst_1 X) (CategoryTheory.Category.toCategoryStruct.{u1, max u3 u1} (CategoryTheory.Over.{u1, u3} C _inst_1 X) (CategoryTheory.instCategoryOver.{u1, u3} C _inst_1 X))) (CategoryTheory.Functor.toPrefunctor.{u2, u1, max u4 u2, max u3 u1} (CategoryTheory.Over.{u2, u4} D _inst_2 Y) (CategoryTheory.instCategoryOver.{u2, u4} D _inst_2 Y) (CategoryTheory.Over.{u1, u3} C _inst_1 X) (CategoryTheory.instCategoryOver.{u1, u3} C _inst_1 X) F) (Prefunctor.obj.{succ u2, succ u2, max u4 u2, max u4 u2} (CategoryTheory.MonoOver.{u2, u4} D _inst_2 Y) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u4 u2} (CategoryTheory.MonoOver.{u2, u4} D _inst_2 Y) (CategoryTheory.Category.toCategoryStruct.{u2, max u4 u2} (CategoryTheory.MonoOver.{u2, u4} D _inst_2 Y) (CategoryTheory.instCategoryMonoOver.{u2, u4} D _inst_2 Y))) (CategoryTheory.Over.{u2, u4} D _inst_2 Y) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u4 u2} (CategoryTheory.Over.{u2, u4} D _inst_2 Y) (CategoryTheory.Category.toCategoryStruct.{u2, max u4 u2} (CategoryTheory.Over.{u2, u4} D _inst_2 Y) (CategoryTheory.instCategoryOver.{u2, u4} D _inst_2 Y))) (CategoryTheory.Functor.toPrefunctor.{u2, u2, max u4 u2, max u4 u2} (CategoryTheory.MonoOver.{u2, u4} D _inst_2 Y) (CategoryTheory.instCategoryMonoOver.{u2, u4} D _inst_2 Y) (CategoryTheory.Over.{u2, u4} D _inst_2 Y) (CategoryTheory.instCategoryOver.{u2, u4} D _inst_2 Y) (CategoryTheory.MonoOver.forget.{u2, u4} D _inst_2 Y)) f)))) (CategoryTheory.Comma.hom.{u1, u1, u1, u3, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u3} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u3} C _inst_1 X) (Prefunctor.obj.{succ u2, succ u1, max u4 u2, max u3 u1} (CategoryTheory.Over.{u2, u4} D _inst_2 Y) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u4 u2} (CategoryTheory.Over.{u2, u4} D _inst_2 Y) (CategoryTheory.Category.toCategoryStruct.{u2, max u4 u2} (CategoryTheory.Over.{u2, u4} D _inst_2 Y) (CategoryTheory.instCategoryOver.{u2, u4} D _inst_2 Y))) (CategoryTheory.Over.{u1, u3} C _inst_1 X) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u3 u1} (CategoryTheory.Over.{u1, u3} C _inst_1 X) (CategoryTheory.Category.toCategoryStruct.{u1, max u3 u1} (CategoryTheory.Over.{u1, u3} C _inst_1 X) (CategoryTheory.instCategoryOver.{u1, u3} C _inst_1 X))) (CategoryTheory.Functor.toPrefunctor.{u2, u1, max u4 u2, max u3 u1} (CategoryTheory.Over.{u2, u4} D _inst_2 Y) (CategoryTheory.instCategoryOver.{u2, u4} D _inst_2 Y) (CategoryTheory.Over.{u1, u3} C _inst_1 X) (CategoryTheory.instCategoryOver.{u1, u3} C _inst_1 X) F) (Prefunctor.obj.{succ u2, succ u2, max u4 u2, max u4 u2} (CategoryTheory.MonoOver.{u2, u4} D _inst_2 Y) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u4 u2} (CategoryTheory.MonoOver.{u2, u4} D _inst_2 Y) (CategoryTheory.Category.toCategoryStruct.{u2, max u4 u2} (CategoryTheory.MonoOver.{u2, u4} D _inst_2 Y) (CategoryTheory.instCategoryMonoOver.{u2, u4} D _inst_2 Y))) (CategoryTheory.Over.{u2, u4} D _inst_2 Y) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u4 u2} (CategoryTheory.Over.{u2, u4} D _inst_2 Y) (CategoryTheory.Category.toCategoryStruct.{u2, max u4 u2} (CategoryTheory.Over.{u2, u4} D _inst_2 Y) (CategoryTheory.instCategoryOver.{u2, u4} D _inst_2 Y))) (CategoryTheory.Functor.toPrefunctor.{u2, u2, max u4 u2, max u4 u2} (CategoryTheory.MonoOver.{u2, u4} D _inst_2 Y) (CategoryTheory.instCategoryMonoOver.{u2, u4} D _inst_2 Y) (CategoryTheory.Over.{u2, u4} D _inst_2 Y) (CategoryTheory.instCategoryOver.{u2, u4} D _inst_2 Y) (CategoryTheory.MonoOver.forget.{u2, u4} D _inst_2 Y)) f)))) -> (CategoryTheory.Functor.{u2, u1, max u4 u2, max u3 u1} (CategoryTheory.MonoOver.{u2, u4} D _inst_2 Y) (CategoryTheory.instCategoryMonoOver.{u2, u4} D _inst_2 Y) (CategoryTheory.MonoOver.{u1, u3} C _inst_1 X) (CategoryTheory.instCategoryMonoOver.{u1, u3} C _inst_1 X))
+<too large>
 Case conversion may be inaccurate. Consider using '#align category_theory.mono_over.lift CategoryTheory.MonoOver.liftₓ'. -/
 /-- Lift a functor between over categories to a functor between `mono_over` categories,
 given suitable evidence that morphisms are taken to monomorphisms.
@@ -225,10 +216,7 @@ def lift {Y : D} (F : Over Y ⥤ Over X)
 #align category_theory.mono_over.lift CategoryTheory.MonoOver.lift
 
 /- warning: category_theory.mono_over.lift_iso -> CategoryTheory.MonoOver.liftIso is a dubious translation:
-lean 3 declaration is
-  forall {C : Type.{u3}} [_inst_1 : CategoryTheory.Category.{u1, u3} C] {X : C} {D : Type.{u4}} [_inst_2 : CategoryTheory.Category.{u2, u4} D] {Y : D} {F₁ : CategoryTheory.Functor.{u2, u1, max u4 u2, max u3 u1} (CategoryTheory.Over.{u2, u4} D _inst_2 Y) (CategoryTheory.Over.category.{u4, u2} D _inst_2 Y) (CategoryTheory.Over.{u1, u3} C _inst_1 X) (CategoryTheory.Over.category.{u3, u1} C _inst_1 X)} {F₂ : CategoryTheory.Functor.{u2, u1, max u4 u2, max u3 u1} (CategoryTheory.Over.{u2, u4} D _inst_2 Y) (CategoryTheory.Over.category.{u4, u2} D _inst_2 Y) (CategoryTheory.Over.{u1, u3} C _inst_1 X) (CategoryTheory.Over.category.{u3, u1} C _inst_1 X)} (h₁ : forall (f : CategoryTheory.MonoOver.{u2, u4} D _inst_2 Y), CategoryTheory.Mono.{u1, u3} C _inst_1 (CategoryTheory.Functor.obj.{u1, u1, u3, u3} C _inst_1 C _inst_1 (CategoryTheory.Functor.id.{u1, u3} C _inst_1) (CategoryTheory.Comma.left.{u1, u1, u1, u3, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u3} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u3} C _inst_1 X) (CategoryTheory.Functor.obj.{u2, u1, max u4 u2, max u3 u1} (CategoryTheory.Over.{u2, u4} D _inst_2 Y) (CategoryTheory.Over.category.{u4, u2} D _inst_2 Y) (CategoryTheory.Over.{u1, u3} C _inst_1 X) (CategoryTheory.Over.category.{u3, u1} C _inst_1 X) F₁ (CategoryTheory.Functor.obj.{u2, u2, max u4 u2, max u4 u2} (CategoryTheory.MonoOver.{u2, u4} D _inst_2 Y) (CategoryTheory.InducedCategory.category.{u2, max u4 u2, max u4 u2} (CategoryTheory.FullSubcategoryₓ.{u2, max u4 u2} (CategoryTheory.Over.{u2, u4} D _inst_2 Y) (CategoryTheory.Over.category.{u4, u2} D _inst_2 Y) (fun (f : CategoryTheory.Over.{u2, u4} D _inst_2 Y) => CategoryTheory.Mono.{u2, u4} D _inst_2 (CategoryTheory.Functor.obj.{u2, u2, u4, u4} D _inst_2 D _inst_2 (CategoryTheory.Functor.id.{u2, u4} D _inst_2) (CategoryTheory.Comma.left.{u2, u2, u2, u4, u2, u4} D _inst_2 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) D _inst_2 (CategoryTheory.Functor.id.{u2, u4} D _inst_2) (CategoryTheory.Functor.fromPUnit.{u2, u4} D _inst_2 Y) f)) (CategoryTheory.Functor.obj.{u2, u2, u2, u4} (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) D _inst_2 (CategoryTheory.Functor.fromPUnit.{u2, u4} D _inst_2 Y) (CategoryTheory.Comma.right.{u2, u2, u2, u4, u2, u4} D _inst_2 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) D _inst_2 (CategoryTheory.Functor.id.{u2, u4} D _inst_2) (CategoryTheory.Functor.fromPUnit.{u2, u4} D _inst_2 Y) f)) (CategoryTheory.Comma.hom.{u2, u2, u2, u4, u2, u4} D _inst_2 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) D _inst_2 (CategoryTheory.Functor.id.{u2, u4} D _inst_2) (CategoryTheory.Functor.fromPUnit.{u2, u4} D _inst_2 Y) f))) (CategoryTheory.Over.{u2, u4} D _inst_2 Y) (CategoryTheory.Over.category.{u4, u2} D _inst_2 Y) (CategoryTheory.FullSubcategoryₓ.obj.{u2, max u4 u2} (CategoryTheory.Over.{u2, u4} D _inst_2 Y) (CategoryTheory.Over.category.{u4, u2} D _inst_2 Y) (fun (f : CategoryTheory.Over.{u2, u4} D _inst_2 Y) => CategoryTheory.Mono.{u2, u4} D _inst_2 (CategoryTheory.Functor.obj.{u2, u2, u4, u4} D _inst_2 D _inst_2 (CategoryTheory.Functor.id.{u2, u4} D _inst_2) (CategoryTheory.Comma.left.{u2, u2, u2, u4, u2, u4} D _inst_2 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) D _inst_2 (CategoryTheory.Functor.id.{u2, u4} D _inst_2) (CategoryTheory.Functor.fromPUnit.{u2, u4} D _inst_2 Y) f)) (CategoryTheory.Functor.obj.{u2, u2, u2, u4} (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) D _inst_2 (CategoryTheory.Functor.fromPUnit.{u2, u4} D _inst_2 Y) (CategoryTheory.Comma.right.{u2, u2, u2, u4, u2, u4} D _inst_2 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) D _inst_2 (CategoryTheory.Functor.id.{u2, u4} D _inst_2) (CategoryTheory.Functor.fromPUnit.{u2, u4} D _inst_2 Y) f)) (CategoryTheory.Comma.hom.{u2, u2, u2, u4, u2, u4} D _inst_2 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) D _inst_2 (CategoryTheory.Functor.id.{u2, u4} D _inst_2) (CategoryTheory.Functor.fromPUnit.{u2, u4} D _inst_2 Y) f)))) (CategoryTheory.Over.{u2, u4} D _inst_2 Y) (CategoryTheory.Over.category.{u4, u2} D _inst_2 Y) (CategoryTheory.MonoOver.forget.{u2, u4} D _inst_2 Y) f)))) (CategoryTheory.Functor.obj.{u1, u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.fromPUnit.{u1, u3} C _inst_1 X) (CategoryTheory.Comma.right.{u1, u1, u1, u3, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u3} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u3} C _inst_1 X) (CategoryTheory.Functor.obj.{u2, u1, max u4 u2, max u3 u1} (CategoryTheory.Over.{u2, u4} D _inst_2 Y) (CategoryTheory.Over.category.{u4, u2} D _inst_2 Y) (CategoryTheory.Over.{u1, u3} C _inst_1 X) (CategoryTheory.Over.category.{u3, u1} C _inst_1 X) F₁ (CategoryTheory.Functor.obj.{u2, u2, max u4 u2, max u4 u2} (CategoryTheory.MonoOver.{u2, u4} D _inst_2 Y) (CategoryTheory.InducedCategory.category.{u2, max u4 u2, max u4 u2} (CategoryTheory.FullSubcategoryₓ.{u2, max u4 u2} (CategoryTheory.Over.{u2, u4} D _inst_2 Y) (CategoryTheory.Over.category.{u4, u2} D _inst_2 Y) (fun (f : CategoryTheory.Over.{u2, u4} D _inst_2 Y) => CategoryTheory.Mono.{u2, u4} D _inst_2 (CategoryTheory.Functor.obj.{u2, u2, u4, u4} D _inst_2 D _inst_2 (CategoryTheory.Functor.id.{u2, u4} D _inst_2) (CategoryTheory.Comma.left.{u2, u2, u2, u4, u2, u4} D _inst_2 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) D _inst_2 (CategoryTheory.Functor.id.{u2, u4} D _inst_2) (CategoryTheory.Functor.fromPUnit.{u2, u4} D _inst_2 Y) f)) (CategoryTheory.Functor.obj.{u2, u2, u2, u4} (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) D _inst_2 (CategoryTheory.Functor.fromPUnit.{u2, u4} D _inst_2 Y) (CategoryTheory.Comma.right.{u2, u2, u2, u4, u2, u4} D _inst_2 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) D _inst_2 (CategoryTheory.Functor.id.{u2, u4} D _inst_2) (CategoryTheory.Functor.fromPUnit.{u2, u4} D _inst_2 Y) f)) (CategoryTheory.Comma.hom.{u2, u2, u2, u4, u2, u4} D _inst_2 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) D _inst_2 (CategoryTheory.Functor.id.{u2, u4} D _inst_2) (CategoryTheory.Functor.fromPUnit.{u2, u4} D _inst_2 Y) f))) (CategoryTheory.Over.{u2, u4} D _inst_2 Y) (CategoryTheory.Over.category.{u4, u2} D _inst_2 Y) (CategoryTheory.FullSubcategoryₓ.obj.{u2, max u4 u2} (CategoryTheory.Over.{u2, u4} D _inst_2 Y) (CategoryTheory.Over.category.{u4, u2} D _inst_2 Y) (fun (f : CategoryTheory.Over.{u2, u4} D _inst_2 Y) => CategoryTheory.Mono.{u2, u4} D _inst_2 (CategoryTheory.Functor.obj.{u2, u2, u4, u4} D _inst_2 D _inst_2 (CategoryTheory.Functor.id.{u2, u4} D _inst_2) (CategoryTheory.Comma.left.{u2, u2, u2, u4, u2, u4} D _inst_2 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) D _inst_2 (CategoryTheory.Functor.id.{u2, u4} D _inst_2) (CategoryTheory.Functor.fromPUnit.{u2, u4} D _inst_2 Y) f)) (CategoryTheory.Functor.obj.{u2, u2, u2, u4} (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) D _inst_2 (CategoryTheory.Functor.fromPUnit.{u2, u4} D _inst_2 Y) (CategoryTheory.Comma.right.{u2, u2, u2, u4, u2, u4} D _inst_2 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) D _inst_2 (CategoryTheory.Functor.id.{u2, u4} D _inst_2) (CategoryTheory.Functor.fromPUnit.{u2, u4} D _inst_2 Y) f)) (CategoryTheory.Comma.hom.{u2, u2, u2, u4, u2, u4} D _inst_2 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) D _inst_2 (CategoryTheory.Functor.id.{u2, u4} D _inst_2) (CategoryTheory.Functor.fromPUnit.{u2, u4} D _inst_2 Y) f)))) (CategoryTheory.Over.{u2, u4} D _inst_2 Y) (CategoryTheory.Over.category.{u4, u2} D _inst_2 Y) (CategoryTheory.MonoOver.forget.{u2, u4} D _inst_2 Y) f)))) (CategoryTheory.Comma.hom.{u1, u1, u1, u3, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u3} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u3} C _inst_1 X) (CategoryTheory.Functor.obj.{u2, u1, max u4 u2, max u3 u1} (CategoryTheory.Over.{u2, u4} D _inst_2 Y) (CategoryTheory.Over.category.{u4, u2} D _inst_2 Y) (CategoryTheory.Over.{u1, u3} C _inst_1 X) (CategoryTheory.Over.category.{u3, u1} C _inst_1 X) F₁ (CategoryTheory.Functor.obj.{u2, u2, max u4 u2, max u4 u2} (CategoryTheory.MonoOver.{u2, u4} D _inst_2 Y) (CategoryTheory.InducedCategory.category.{u2, max u4 u2, max u4 u2} (CategoryTheory.FullSubcategoryₓ.{u2, max u4 u2} (CategoryTheory.Over.{u2, u4} D _inst_2 Y) (CategoryTheory.Over.category.{u4, u2} D _inst_2 Y) (fun (f : CategoryTheory.Over.{u2, u4} D _inst_2 Y) => CategoryTheory.Mono.{u2, u4} D _inst_2 (CategoryTheory.Functor.obj.{u2, u2, u4, u4} D _inst_2 D _inst_2 (CategoryTheory.Functor.id.{u2, u4} D _inst_2) (CategoryTheory.Comma.left.{u2, u2, u2, u4, u2, u4} D _inst_2 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) D _inst_2 (CategoryTheory.Functor.id.{u2, u4} D _inst_2) (CategoryTheory.Functor.fromPUnit.{u2, u4} D _inst_2 Y) f)) (CategoryTheory.Functor.obj.{u2, u2, u2, u4} (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) D _inst_2 (CategoryTheory.Functor.fromPUnit.{u2, u4} D _inst_2 Y) (CategoryTheory.Comma.right.{u2, u2, u2, u4, u2, u4} D _inst_2 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) D _inst_2 (CategoryTheory.Functor.id.{u2, u4} D _inst_2) (CategoryTheory.Functor.fromPUnit.{u2, u4} D _inst_2 Y) f)) (CategoryTheory.Comma.hom.{u2, u2, u2, u4, u2, u4} D _inst_2 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) D _inst_2 (CategoryTheory.Functor.id.{u2, u4} D _inst_2) (CategoryTheory.Functor.fromPUnit.{u2, u4} D _inst_2 Y) f))) (CategoryTheory.Over.{u2, u4} D _inst_2 Y) (CategoryTheory.Over.category.{u4, u2} D _inst_2 Y) (CategoryTheory.FullSubcategoryₓ.obj.{u2, max u4 u2} (CategoryTheory.Over.{u2, u4} D _inst_2 Y) (CategoryTheory.Over.category.{u4, u2} D _inst_2 Y) (fun (f : CategoryTheory.Over.{u2, u4} D _inst_2 Y) => CategoryTheory.Mono.{u2, u4} D _inst_2 (CategoryTheory.Functor.obj.{u2, u2, u4, u4} D _inst_2 D _inst_2 (CategoryTheory.Functor.id.{u2, u4} D _inst_2) (CategoryTheory.Comma.left.{u2, u2, u2, u4, u2, u4} D _inst_2 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) D _inst_2 (CategoryTheory.Functor.id.{u2, u4} D _inst_2) (CategoryTheory.Functor.fromPUnit.{u2, u4} D _inst_2 Y) f)) (CategoryTheory.Functor.obj.{u2, u2, u2, u4} (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) D _inst_2 (CategoryTheory.Functor.fromPUnit.{u2, u4} D _inst_2 Y) (CategoryTheory.Comma.right.{u2, u2, u2, u4, u2, u4} D _inst_2 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) D _inst_2 (CategoryTheory.Functor.id.{u2, u4} D _inst_2) (CategoryTheory.Functor.fromPUnit.{u2, u4} D _inst_2 Y) f)) (CategoryTheory.Comma.hom.{u2, u2, u2, u4, u2, u4} D _inst_2 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) D _inst_2 (CategoryTheory.Functor.id.{u2, u4} D _inst_2) (CategoryTheory.Functor.fromPUnit.{u2, u4} D _inst_2 Y) f)))) (CategoryTheory.Over.{u2, u4} D _inst_2 Y) (CategoryTheory.Over.category.{u4, u2} D _inst_2 Y) (CategoryTheory.MonoOver.forget.{u2, u4} D _inst_2 Y) f)))) (h₂ : forall (f : CategoryTheory.MonoOver.{u2, u4} D _inst_2 Y), CategoryTheory.Mono.{u1, u3} C _inst_1 (CategoryTheory.Functor.obj.{u1, u1, u3, u3} C _inst_1 C _inst_1 (CategoryTheory.Functor.id.{u1, u3} C _inst_1) (CategoryTheory.Comma.left.{u1, u1, u1, u3, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u3} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u3} C _inst_1 X) (CategoryTheory.Functor.obj.{u2, u1, max u4 u2, max u3 u1} (CategoryTheory.Over.{u2, u4} D _inst_2 Y) (CategoryTheory.Over.category.{u4, u2} D _inst_2 Y) (CategoryTheory.Over.{u1, u3} C _inst_1 X) (CategoryTheory.Over.category.{u3, u1} C _inst_1 X) F₂ (CategoryTheory.Functor.obj.{u2, u2, max u4 u2, max u4 u2} (CategoryTheory.MonoOver.{u2, u4} D _inst_2 Y) (CategoryTheory.InducedCategory.category.{u2, max u4 u2, max u4 u2} (CategoryTheory.FullSubcategoryₓ.{u2, max u4 u2} (CategoryTheory.Over.{u2, u4} D _inst_2 Y) (CategoryTheory.Over.category.{u4, u2} D _inst_2 Y) (fun (f : CategoryTheory.Over.{u2, u4} D _inst_2 Y) => CategoryTheory.Mono.{u2, u4} D _inst_2 (CategoryTheory.Functor.obj.{u2, u2, u4, u4} D _inst_2 D _inst_2 (CategoryTheory.Functor.id.{u2, u4} D _inst_2) (CategoryTheory.Comma.left.{u2, u2, u2, u4, u2, u4} D _inst_2 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) D _inst_2 (CategoryTheory.Functor.id.{u2, u4} D _inst_2) (CategoryTheory.Functor.fromPUnit.{u2, u4} D _inst_2 Y) f)) (CategoryTheory.Functor.obj.{u2, u2, u2, u4} (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) D _inst_2 (CategoryTheory.Functor.fromPUnit.{u2, u4} D _inst_2 Y) (CategoryTheory.Comma.right.{u2, u2, u2, u4, u2, u4} D _inst_2 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) D _inst_2 (CategoryTheory.Functor.id.{u2, u4} D _inst_2) (CategoryTheory.Functor.fromPUnit.{u2, u4} D _inst_2 Y) f)) (CategoryTheory.Comma.hom.{u2, u2, u2, u4, u2, u4} D _inst_2 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) D _inst_2 (CategoryTheory.Functor.id.{u2, u4} D _inst_2) (CategoryTheory.Functor.fromPUnit.{u2, u4} D _inst_2 Y) f))) (CategoryTheory.Over.{u2, u4} D _inst_2 Y) (CategoryTheory.Over.category.{u4, u2} D _inst_2 Y) (CategoryTheory.FullSubcategoryₓ.obj.{u2, max u4 u2} (CategoryTheory.Over.{u2, u4} D _inst_2 Y) (CategoryTheory.Over.category.{u4, u2} D _inst_2 Y) (fun (f : CategoryTheory.Over.{u2, u4} D _inst_2 Y) => CategoryTheory.Mono.{u2, u4} D _inst_2 (CategoryTheory.Functor.obj.{u2, u2, u4, u4} D _inst_2 D _inst_2 (CategoryTheory.Functor.id.{u2, u4} D _inst_2) (CategoryTheory.Comma.left.{u2, u2, u2, u4, u2, u4} D _inst_2 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) D _inst_2 (CategoryTheory.Functor.id.{u2, u4} D _inst_2) (CategoryTheory.Functor.fromPUnit.{u2, u4} D _inst_2 Y) f)) (CategoryTheory.Functor.obj.{u2, u2, u2, u4} (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) D _inst_2 (CategoryTheory.Functor.fromPUnit.{u2, u4} D _inst_2 Y) (CategoryTheory.Comma.right.{u2, u2, u2, u4, u2, u4} D _inst_2 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) D _inst_2 (CategoryTheory.Functor.id.{u2, u4} D _inst_2) (CategoryTheory.Functor.fromPUnit.{u2, u4} D _inst_2 Y) f)) (CategoryTheory.Comma.hom.{u2, u2, u2, u4, u2, u4} D _inst_2 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) D _inst_2 (CategoryTheory.Functor.id.{u2, u4} D _inst_2) (CategoryTheory.Functor.fromPUnit.{u2, u4} D _inst_2 Y) f)))) (CategoryTheory.Over.{u2, u4} D _inst_2 Y) (CategoryTheory.Over.category.{u4, u2} D _inst_2 Y) (CategoryTheory.MonoOver.forget.{u2, u4} D _inst_2 Y) f)))) (CategoryTheory.Functor.obj.{u1, u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.fromPUnit.{u1, u3} C _inst_1 X) (CategoryTheory.Comma.right.{u1, u1, u1, u3, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u3} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u3} C _inst_1 X) (CategoryTheory.Functor.obj.{u2, u1, max u4 u2, max u3 u1} (CategoryTheory.Over.{u2, u4} D _inst_2 Y) (CategoryTheory.Over.category.{u4, u2} D _inst_2 Y) (CategoryTheory.Over.{u1, u3} C _inst_1 X) (CategoryTheory.Over.category.{u3, u1} C _inst_1 X) F₂ (CategoryTheory.Functor.obj.{u2, u2, max u4 u2, max u4 u2} (CategoryTheory.MonoOver.{u2, u4} D _inst_2 Y) (CategoryTheory.InducedCategory.category.{u2, max u4 u2, max u4 u2} (CategoryTheory.FullSubcategoryₓ.{u2, max u4 u2} (CategoryTheory.Over.{u2, u4} D _inst_2 Y) (CategoryTheory.Over.category.{u4, u2} D _inst_2 Y) (fun (f : CategoryTheory.Over.{u2, u4} D _inst_2 Y) => CategoryTheory.Mono.{u2, u4} D _inst_2 (CategoryTheory.Functor.obj.{u2, u2, u4, u4} D _inst_2 D _inst_2 (CategoryTheory.Functor.id.{u2, u4} D _inst_2) (CategoryTheory.Comma.left.{u2, u2, u2, u4, u2, u4} D _inst_2 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) D _inst_2 (CategoryTheory.Functor.id.{u2, u4} D _inst_2) (CategoryTheory.Functor.fromPUnit.{u2, u4} D _inst_2 Y) f)) (CategoryTheory.Functor.obj.{u2, u2, u2, u4} (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) D _inst_2 (CategoryTheory.Functor.fromPUnit.{u2, u4} D _inst_2 Y) (CategoryTheory.Comma.right.{u2, u2, u2, u4, u2, u4} D _inst_2 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) D _inst_2 (CategoryTheory.Functor.id.{u2, u4} D _inst_2) (CategoryTheory.Functor.fromPUnit.{u2, u4} D _inst_2 Y) f)) (CategoryTheory.Comma.hom.{u2, u2, u2, u4, u2, u4} D _inst_2 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) D _inst_2 (CategoryTheory.Functor.id.{u2, u4} D _inst_2) (CategoryTheory.Functor.fromPUnit.{u2, u4} D _inst_2 Y) f))) (CategoryTheory.Over.{u2, u4} D _inst_2 Y) (CategoryTheory.Over.category.{u4, u2} D _inst_2 Y) (CategoryTheory.FullSubcategoryₓ.obj.{u2, max u4 u2} (CategoryTheory.Over.{u2, u4} D _inst_2 Y) (CategoryTheory.Over.category.{u4, u2} D _inst_2 Y) (fun (f : CategoryTheory.Over.{u2, u4} D _inst_2 Y) => CategoryTheory.Mono.{u2, u4} D _inst_2 (CategoryTheory.Functor.obj.{u2, u2, u4, u4} D _inst_2 D _inst_2 (CategoryTheory.Functor.id.{u2, u4} D _inst_2) (CategoryTheory.Comma.left.{u2, u2, u2, u4, u2, u4} D _inst_2 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) D _inst_2 (CategoryTheory.Functor.id.{u2, u4} D _inst_2) (CategoryTheory.Functor.fromPUnit.{u2, u4} D _inst_2 Y) f)) (CategoryTheory.Functor.obj.{u2, u2, u2, u4} (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) D _inst_2 (CategoryTheory.Functor.fromPUnit.{u2, u4} D _inst_2 Y) (CategoryTheory.Comma.right.{u2, u2, u2, u4, u2, u4} D _inst_2 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) D _inst_2 (CategoryTheory.Functor.id.{u2, u4} D _inst_2) (CategoryTheory.Functor.fromPUnit.{u2, u4} D _inst_2 Y) f)) (CategoryTheory.Comma.hom.{u2, u2, u2, u4, u2, u4} D _inst_2 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) D _inst_2 (CategoryTheory.Functor.id.{u2, u4} D _inst_2) (CategoryTheory.Functor.fromPUnit.{u2, u4} D _inst_2 Y) f)))) (CategoryTheory.Over.{u2, u4} D _inst_2 Y) (CategoryTheory.Over.category.{u4, u2} D _inst_2 Y) (CategoryTheory.MonoOver.forget.{u2, u4} D _inst_2 Y) f)))) (CategoryTheory.Comma.hom.{u1, u1, u1, u3, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u3} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u3} C _inst_1 X) (CategoryTheory.Functor.obj.{u2, u1, max u4 u2, max u3 u1} (CategoryTheory.Over.{u2, u4} D _inst_2 Y) (CategoryTheory.Over.category.{u4, u2} D _inst_2 Y) (CategoryTheory.Over.{u1, u3} C _inst_1 X) (CategoryTheory.Over.category.{u3, u1} C _inst_1 X) F₂ (CategoryTheory.Functor.obj.{u2, u2, max u4 u2, max u4 u2} (CategoryTheory.MonoOver.{u2, u4} D _inst_2 Y) (CategoryTheory.InducedCategory.category.{u2, max u4 u2, max u4 u2} (CategoryTheory.FullSubcategoryₓ.{u2, max u4 u2} (CategoryTheory.Over.{u2, u4} D _inst_2 Y) (CategoryTheory.Over.category.{u4, u2} D _inst_2 Y) (fun (f : CategoryTheory.Over.{u2, u4} D _inst_2 Y) => CategoryTheory.Mono.{u2, u4} D _inst_2 (CategoryTheory.Functor.obj.{u2, u2, u4, u4} D _inst_2 D _inst_2 (CategoryTheory.Functor.id.{u2, u4} D _inst_2) (CategoryTheory.Comma.left.{u2, u2, u2, u4, u2, u4} D _inst_2 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) D _inst_2 (CategoryTheory.Functor.id.{u2, u4} D _inst_2) (CategoryTheory.Functor.fromPUnit.{u2, u4} D _inst_2 Y) f)) (CategoryTheory.Functor.obj.{u2, u2, u2, u4} (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) D _inst_2 (CategoryTheory.Functor.fromPUnit.{u2, u4} D _inst_2 Y) (CategoryTheory.Comma.right.{u2, u2, u2, u4, u2, u4} D _inst_2 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) D _inst_2 (CategoryTheory.Functor.id.{u2, u4} D _inst_2) (CategoryTheory.Functor.fromPUnit.{u2, u4} D _inst_2 Y) f)) (CategoryTheory.Comma.hom.{u2, u2, u2, u4, u2, u4} D _inst_2 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) D _inst_2 (CategoryTheory.Functor.id.{u2, u4} D _inst_2) (CategoryTheory.Functor.fromPUnit.{u2, u4} D _inst_2 Y) f))) (CategoryTheory.Over.{u2, u4} D _inst_2 Y) (CategoryTheory.Over.category.{u4, u2} D _inst_2 Y) (CategoryTheory.FullSubcategoryₓ.obj.{u2, max u4 u2} (CategoryTheory.Over.{u2, u4} D _inst_2 Y) (CategoryTheory.Over.category.{u4, u2} D _inst_2 Y) (fun (f : CategoryTheory.Over.{u2, u4} D _inst_2 Y) => CategoryTheory.Mono.{u2, u4} D _inst_2 (CategoryTheory.Functor.obj.{u2, u2, u4, u4} D _inst_2 D _inst_2 (CategoryTheory.Functor.id.{u2, u4} D _inst_2) (CategoryTheory.Comma.left.{u2, u2, u2, u4, u2, u4} D _inst_2 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) D _inst_2 (CategoryTheory.Functor.id.{u2, u4} D _inst_2) (CategoryTheory.Functor.fromPUnit.{u2, u4} D _inst_2 Y) f)) (CategoryTheory.Functor.obj.{u2, u2, u2, u4} (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) D _inst_2 (CategoryTheory.Functor.fromPUnit.{u2, u4} D _inst_2 Y) (CategoryTheory.Comma.right.{u2, u2, u2, u4, u2, u4} D _inst_2 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) D _inst_2 (CategoryTheory.Functor.id.{u2, u4} D _inst_2) (CategoryTheory.Functor.fromPUnit.{u2, u4} D _inst_2 Y) f)) (CategoryTheory.Comma.hom.{u2, u2, u2, u4, u2, u4} D _inst_2 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) D _inst_2 (CategoryTheory.Functor.id.{u2, u4} D _inst_2) (CategoryTheory.Functor.fromPUnit.{u2, u4} D _inst_2 Y) f)))) (CategoryTheory.Over.{u2, u4} D _inst_2 Y) (CategoryTheory.Over.category.{u4, u2} D _inst_2 Y) (CategoryTheory.MonoOver.forget.{u2, u4} D _inst_2 Y) f)))), (CategoryTheory.Iso.{max (max u4 u2) u1, max u2 u1 (max u4 u2) u3 u1} (CategoryTheory.Functor.{u2, u1, max u4 u2, max u3 u1} (CategoryTheory.Over.{u2, u4} D _inst_2 Y) (CategoryTheory.Over.category.{u4, u2} D _inst_2 Y) (CategoryTheory.Over.{u1, u3} C _inst_1 X) (CategoryTheory.Over.category.{u3, u1} C _inst_1 X)) (CategoryTheory.Functor.category.{u2, u1, max u4 u2, max u3 u1} (CategoryTheory.Over.{u2, u4} D _inst_2 Y) (CategoryTheory.Over.category.{u4, u2} D _inst_2 Y) (CategoryTheory.Over.{u1, u3} C _inst_1 X) (CategoryTheory.Over.category.{u3, u1} C _inst_1 X)) F₁ F₂) -> (CategoryTheory.Iso.{max (max u4 u2) u1, max u2 u1 (max u4 u2) u3 u1} (CategoryTheory.Functor.{u2, u1, max u4 u2, max u3 u1} (CategoryTheory.MonoOver.{u2, u4} D _inst_2 Y) (CategoryTheory.MonoOver.category.{u4, u2} D _inst_2 Y) (CategoryTheory.MonoOver.{u1, u3} C _inst_1 X) (CategoryTheory.MonoOver.category.{u3, u1} C _inst_1 X)) (CategoryTheory.Functor.category.{u2, u1, max u4 u2, max u3 u1} (CategoryTheory.MonoOver.{u2, u4} D _inst_2 Y) (CategoryTheory.MonoOver.category.{u4, u2} D _inst_2 Y) (CategoryTheory.MonoOver.{u1, u3} C _inst_1 X) (CategoryTheory.MonoOver.category.{u3, u1} C _inst_1 X)) (CategoryTheory.MonoOver.lift.{u1, u2, u3, u4} C _inst_1 X D _inst_2 Y F₁ h₁) (CategoryTheory.MonoOver.lift.{u1, u2, u3, u4} C _inst_1 X D _inst_2 Y F₂ h₂))
-but is expected to have type
-  forall {C : Type.{u3}} [_inst_1 : CategoryTheory.Category.{u1, u3} C] {X : C} {D : Type.{u4}} [_inst_2 : CategoryTheory.Category.{u2, u4} D] {Y : D} {F₁ : CategoryTheory.Functor.{u2, u1, max u4 u2, max u3 u1} (CategoryTheory.Over.{u2, u4} D _inst_2 Y) (CategoryTheory.instCategoryOver.{u2, u4} D _inst_2 Y) (CategoryTheory.Over.{u1, u3} C _inst_1 X) (CategoryTheory.instCategoryOver.{u1, u3} C _inst_1 X)} {F₂ : CategoryTheory.Functor.{u2, u1, max u4 u2, max u3 u1} (CategoryTheory.Over.{u2, u4} D _inst_2 Y) (CategoryTheory.instCategoryOver.{u2, u4} D _inst_2 Y) (CategoryTheory.Over.{u1, u3} C _inst_1 X) (CategoryTheory.instCategoryOver.{u1, u3} C _inst_1 X)} (h₁ : forall (f : CategoryTheory.MonoOver.{u2, u4} D _inst_2 Y), CategoryTheory.Mono.{u1, u3} C _inst_1 (Prefunctor.obj.{succ u1, succ u1, u3, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} C (CategoryTheory.Category.toCategoryStruct.{u1, u3} C _inst_1)) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} C (CategoryTheory.Category.toCategoryStruct.{u1, u3} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u3, u3} C _inst_1 C _inst_1 (CategoryTheory.Functor.id.{u1, u3} C _inst_1)) (CategoryTheory.Comma.left.{u1, u1, u1, u3, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u3} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u3} C _inst_1 X) (Prefunctor.obj.{succ u2, succ u1, max u4 u2, max u3 u1} (CategoryTheory.Over.{u2, u4} D _inst_2 Y) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u4 u2} (CategoryTheory.Over.{u2, u4} D _inst_2 Y) (CategoryTheory.Category.toCategoryStruct.{u2, max u4 u2} (CategoryTheory.Over.{u2, u4} D _inst_2 Y) (CategoryTheory.instCategoryOver.{u2, u4} D _inst_2 Y))) (CategoryTheory.Over.{u1, u3} C _inst_1 X) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u3 u1} (CategoryTheory.Over.{u1, u3} C _inst_1 X) (CategoryTheory.Category.toCategoryStruct.{u1, max u3 u1} (CategoryTheory.Over.{u1, u3} C _inst_1 X) (CategoryTheory.instCategoryOver.{u1, u3} C _inst_1 X))) (CategoryTheory.Functor.toPrefunctor.{u2, u1, max u4 u2, max u3 u1} (CategoryTheory.Over.{u2, u4} D _inst_2 Y) (CategoryTheory.instCategoryOver.{u2, u4} D _inst_2 Y) (CategoryTheory.Over.{u1, u3} C _inst_1 X) (CategoryTheory.instCategoryOver.{u1, u3} C _inst_1 X) F₁) (Prefunctor.obj.{succ u2, succ u2, max u4 u2, max u4 u2} (CategoryTheory.MonoOver.{u2, u4} D _inst_2 Y) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u4 u2} (CategoryTheory.MonoOver.{u2, u4} D _inst_2 Y) (CategoryTheory.Category.toCategoryStruct.{u2, max u4 u2} (CategoryTheory.MonoOver.{u2, u4} D _inst_2 Y) (CategoryTheory.instCategoryMonoOver.{u2, u4} D _inst_2 Y))) (CategoryTheory.Over.{u2, u4} D _inst_2 Y) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u4 u2} (CategoryTheory.Over.{u2, u4} D _inst_2 Y) (CategoryTheory.Category.toCategoryStruct.{u2, max u4 u2} (CategoryTheory.Over.{u2, u4} D _inst_2 Y) (CategoryTheory.instCategoryOver.{u2, u4} D _inst_2 Y))) (CategoryTheory.Functor.toPrefunctor.{u2, u2, max u4 u2, max u4 u2} (CategoryTheory.MonoOver.{u2, u4} D _inst_2 Y) (CategoryTheory.instCategoryMonoOver.{u2, u4} D _inst_2 Y) (CategoryTheory.Over.{u2, u4} D _inst_2 Y) (CategoryTheory.instCategoryOver.{u2, u4} D _inst_2 Y) (CategoryTheory.MonoOver.forget.{u2, u4} D _inst_2 Y)) f)))) (Prefunctor.obj.{succ u1, succ u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.Category.toCategoryStruct.{u1, u1} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}))) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} C (CategoryTheory.Category.toCategoryStruct.{u1, u3} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.fromPUnit.{u1, u3} C _inst_1 X)) (CategoryTheory.Comma.right.{u1, u1, u1, u3, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u3} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u3} C _inst_1 X) (Prefunctor.obj.{succ u2, succ u1, max u4 u2, max u3 u1} (CategoryTheory.Over.{u2, u4} D _inst_2 Y) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u4 u2} (CategoryTheory.Over.{u2, u4} D _inst_2 Y) (CategoryTheory.Category.toCategoryStruct.{u2, max u4 u2} (CategoryTheory.Over.{u2, u4} D _inst_2 Y) (CategoryTheory.instCategoryOver.{u2, u4} D _inst_2 Y))) (CategoryTheory.Over.{u1, u3} C _inst_1 X) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u3 u1} (CategoryTheory.Over.{u1, u3} C _inst_1 X) (CategoryTheory.Category.toCategoryStruct.{u1, max u3 u1} (CategoryTheory.Over.{u1, u3} C _inst_1 X) (CategoryTheory.instCategoryOver.{u1, u3} C _inst_1 X))) (CategoryTheory.Functor.toPrefunctor.{u2, u1, max u4 u2, max u3 u1} (CategoryTheory.Over.{u2, u4} D _inst_2 Y) (CategoryTheory.instCategoryOver.{u2, u4} D _inst_2 Y) (CategoryTheory.Over.{u1, u3} C _inst_1 X) (CategoryTheory.instCategoryOver.{u1, u3} C _inst_1 X) F₁) (Prefunctor.obj.{succ u2, succ u2, max u4 u2, max u4 u2} (CategoryTheory.MonoOver.{u2, u4} D _inst_2 Y) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u4 u2} (CategoryTheory.MonoOver.{u2, u4} D _inst_2 Y) (CategoryTheory.Category.toCategoryStruct.{u2, max u4 u2} (CategoryTheory.MonoOver.{u2, u4} D _inst_2 Y) (CategoryTheory.instCategoryMonoOver.{u2, u4} D _inst_2 Y))) (CategoryTheory.Over.{u2, u4} D _inst_2 Y) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u4 u2} (CategoryTheory.Over.{u2, u4} D _inst_2 Y) (CategoryTheory.Category.toCategoryStruct.{u2, max u4 u2} (CategoryTheory.Over.{u2, u4} D _inst_2 Y) (CategoryTheory.instCategoryOver.{u2, u4} D _inst_2 Y))) (CategoryTheory.Functor.toPrefunctor.{u2, u2, max u4 u2, max u4 u2} (CategoryTheory.MonoOver.{u2, u4} D _inst_2 Y) (CategoryTheory.instCategoryMonoOver.{u2, u4} D _inst_2 Y) (CategoryTheory.Over.{u2, u4} D _inst_2 Y) (CategoryTheory.instCategoryOver.{u2, u4} D _inst_2 Y) (CategoryTheory.MonoOver.forget.{u2, u4} D _inst_2 Y)) f)))) (CategoryTheory.Comma.hom.{u1, u1, u1, u3, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u3} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u3} C _inst_1 X) (Prefunctor.obj.{succ u2, succ u1, max u4 u2, max u3 u1} (CategoryTheory.Over.{u2, u4} D _inst_2 Y) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u4 u2} (CategoryTheory.Over.{u2, u4} D _inst_2 Y) (CategoryTheory.Category.toCategoryStruct.{u2, max u4 u2} (CategoryTheory.Over.{u2, u4} D _inst_2 Y) (CategoryTheory.instCategoryOver.{u2, u4} D _inst_2 Y))) (CategoryTheory.Over.{u1, u3} C _inst_1 X) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u3 u1} (CategoryTheory.Over.{u1, u3} C _inst_1 X) (CategoryTheory.Category.toCategoryStruct.{u1, max u3 u1} (CategoryTheory.Over.{u1, u3} C _inst_1 X) (CategoryTheory.instCategoryOver.{u1, u3} C _inst_1 X))) (CategoryTheory.Functor.toPrefunctor.{u2, u1, max u4 u2, max u3 u1} (CategoryTheory.Over.{u2, u4} D _inst_2 Y) (CategoryTheory.instCategoryOver.{u2, u4} D _inst_2 Y) (CategoryTheory.Over.{u1, u3} C _inst_1 X) (CategoryTheory.instCategoryOver.{u1, u3} C _inst_1 X) F₁) (Prefunctor.obj.{succ u2, succ u2, max u4 u2, max u4 u2} (CategoryTheory.MonoOver.{u2, u4} D _inst_2 Y) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u4 u2} (CategoryTheory.MonoOver.{u2, u4} D _inst_2 Y) (CategoryTheory.Category.toCategoryStruct.{u2, max u4 u2} (CategoryTheory.MonoOver.{u2, u4} D _inst_2 Y) (CategoryTheory.instCategoryMonoOver.{u2, u4} D _inst_2 Y))) (CategoryTheory.Over.{u2, u4} D _inst_2 Y) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u4 u2} (CategoryTheory.Over.{u2, u4} D _inst_2 Y) (CategoryTheory.Category.toCategoryStruct.{u2, max u4 u2} (CategoryTheory.Over.{u2, u4} D _inst_2 Y) (CategoryTheory.instCategoryOver.{u2, u4} D _inst_2 Y))) (CategoryTheory.Functor.toPrefunctor.{u2, u2, max u4 u2, max u4 u2} (CategoryTheory.MonoOver.{u2, u4} D _inst_2 Y) (CategoryTheory.instCategoryMonoOver.{u2, u4} D _inst_2 Y) (CategoryTheory.Over.{u2, u4} D _inst_2 Y) (CategoryTheory.instCategoryOver.{u2, u4} D _inst_2 Y) (CategoryTheory.MonoOver.forget.{u2, u4} D _inst_2 Y)) f)))) (h₂ : forall (f : CategoryTheory.MonoOver.{u2, u4} D _inst_2 Y), CategoryTheory.Mono.{u1, u3} C _inst_1 (Prefunctor.obj.{succ u1, succ u1, u3, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} C (CategoryTheory.Category.toCategoryStruct.{u1, u3} C _inst_1)) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} C (CategoryTheory.Category.toCategoryStruct.{u1, u3} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u3, u3} C _inst_1 C _inst_1 (CategoryTheory.Functor.id.{u1, u3} C _inst_1)) (CategoryTheory.Comma.left.{u1, u1, u1, u3, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u3} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u3} C _inst_1 X) (Prefunctor.obj.{succ u2, succ u1, max u4 u2, max u3 u1} (CategoryTheory.Over.{u2, u4} D _inst_2 Y) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u4 u2} (CategoryTheory.Over.{u2, u4} D _inst_2 Y) (CategoryTheory.Category.toCategoryStruct.{u2, max u4 u2} (CategoryTheory.Over.{u2, u4} D _inst_2 Y) (CategoryTheory.instCategoryOver.{u2, u4} D _inst_2 Y))) (CategoryTheory.Over.{u1, u3} C _inst_1 X) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u3 u1} (CategoryTheory.Over.{u1, u3} C _inst_1 X) (CategoryTheory.Category.toCategoryStruct.{u1, max u3 u1} (CategoryTheory.Over.{u1, u3} C _inst_1 X) (CategoryTheory.instCategoryOver.{u1, u3} C _inst_1 X))) (CategoryTheory.Functor.toPrefunctor.{u2, u1, max u4 u2, max u3 u1} (CategoryTheory.Over.{u2, u4} D _inst_2 Y) (CategoryTheory.instCategoryOver.{u2, u4} D _inst_2 Y) (CategoryTheory.Over.{u1, u3} C _inst_1 X) (CategoryTheory.instCategoryOver.{u1, u3} C _inst_1 X) F₂) (Prefunctor.obj.{succ u2, succ u2, max u4 u2, max u4 u2} (CategoryTheory.MonoOver.{u2, u4} D _inst_2 Y) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u4 u2} (CategoryTheory.MonoOver.{u2, u4} D _inst_2 Y) (CategoryTheory.Category.toCategoryStruct.{u2, max u4 u2} (CategoryTheory.MonoOver.{u2, u4} D _inst_2 Y) (CategoryTheory.instCategoryMonoOver.{u2, u4} D _inst_2 Y))) (CategoryTheory.Over.{u2, u4} D _inst_2 Y) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u4 u2} (CategoryTheory.Over.{u2, u4} D _inst_2 Y) (CategoryTheory.Category.toCategoryStruct.{u2, max u4 u2} (CategoryTheory.Over.{u2, u4} D _inst_2 Y) (CategoryTheory.instCategoryOver.{u2, u4} D _inst_2 Y))) (CategoryTheory.Functor.toPrefunctor.{u2, u2, max u4 u2, max u4 u2} (CategoryTheory.MonoOver.{u2, u4} D _inst_2 Y) (CategoryTheory.instCategoryMonoOver.{u2, u4} D _inst_2 Y) (CategoryTheory.Over.{u2, u4} D _inst_2 Y) (CategoryTheory.instCategoryOver.{u2, u4} D _inst_2 Y) (CategoryTheory.MonoOver.forget.{u2, u4} D _inst_2 Y)) f)))) (Prefunctor.obj.{succ u1, succ u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.Category.toCategoryStruct.{u1, u1} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}))) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} C (CategoryTheory.Category.toCategoryStruct.{u1, u3} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.fromPUnit.{u1, u3} C _inst_1 X)) (CategoryTheory.Comma.right.{u1, u1, u1, u3, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u3} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u3} C _inst_1 X) (Prefunctor.obj.{succ u2, succ u1, max u4 u2, max u3 u1} (CategoryTheory.Over.{u2, u4} D _inst_2 Y) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u4 u2} (CategoryTheory.Over.{u2, u4} D _inst_2 Y) (CategoryTheory.Category.toCategoryStruct.{u2, max u4 u2} (CategoryTheory.Over.{u2, u4} D _inst_2 Y) (CategoryTheory.instCategoryOver.{u2, u4} D _inst_2 Y))) (CategoryTheory.Over.{u1, u3} C _inst_1 X) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u3 u1} (CategoryTheory.Over.{u1, u3} C _inst_1 X) (CategoryTheory.Category.toCategoryStruct.{u1, max u3 u1} (CategoryTheory.Over.{u1, u3} C _inst_1 X) (CategoryTheory.instCategoryOver.{u1, u3} C _inst_1 X))) (CategoryTheory.Functor.toPrefunctor.{u2, u1, max u4 u2, max u3 u1} (CategoryTheory.Over.{u2, u4} D _inst_2 Y) (CategoryTheory.instCategoryOver.{u2, u4} D _inst_2 Y) (CategoryTheory.Over.{u1, u3} C _inst_1 X) (CategoryTheory.instCategoryOver.{u1, u3} C _inst_1 X) F₂) (Prefunctor.obj.{succ u2, succ u2, max u4 u2, max u4 u2} (CategoryTheory.MonoOver.{u2, u4} D _inst_2 Y) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u4 u2} (CategoryTheory.MonoOver.{u2, u4} D _inst_2 Y) (CategoryTheory.Category.toCategoryStruct.{u2, max u4 u2} (CategoryTheory.MonoOver.{u2, u4} D _inst_2 Y) (CategoryTheory.instCategoryMonoOver.{u2, u4} D _inst_2 Y))) (CategoryTheory.Over.{u2, u4} D _inst_2 Y) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u4 u2} (CategoryTheory.Over.{u2, u4} D _inst_2 Y) (CategoryTheory.Category.toCategoryStruct.{u2, max u4 u2} (CategoryTheory.Over.{u2, u4} D _inst_2 Y) (CategoryTheory.instCategoryOver.{u2, u4} D _inst_2 Y))) (CategoryTheory.Functor.toPrefunctor.{u2, u2, max u4 u2, max u4 u2} (CategoryTheory.MonoOver.{u2, u4} D _inst_2 Y) (CategoryTheory.instCategoryMonoOver.{u2, u4} D _inst_2 Y) (CategoryTheory.Over.{u2, u4} D _inst_2 Y) (CategoryTheory.instCategoryOver.{u2, u4} D _inst_2 Y) (CategoryTheory.MonoOver.forget.{u2, u4} D _inst_2 Y)) f)))) (CategoryTheory.Comma.hom.{u1, u1, u1, u3, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u3} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u3} C _inst_1 X) (Prefunctor.obj.{succ u2, succ u1, max u4 u2, max u3 u1} (CategoryTheory.Over.{u2, u4} D _inst_2 Y) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u4 u2} (CategoryTheory.Over.{u2, u4} D _inst_2 Y) (CategoryTheory.Category.toCategoryStruct.{u2, max u4 u2} (CategoryTheory.Over.{u2, u4} D _inst_2 Y) (CategoryTheory.instCategoryOver.{u2, u4} D _inst_2 Y))) (CategoryTheory.Over.{u1, u3} C _inst_1 X) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u3 u1} (CategoryTheory.Over.{u1, u3} C _inst_1 X) (CategoryTheory.Category.toCategoryStruct.{u1, max u3 u1} (CategoryTheory.Over.{u1, u3} C _inst_1 X) (CategoryTheory.instCategoryOver.{u1, u3} C _inst_1 X))) (CategoryTheory.Functor.toPrefunctor.{u2, u1, max u4 u2, max u3 u1} (CategoryTheory.Over.{u2, u4} D _inst_2 Y) (CategoryTheory.instCategoryOver.{u2, u4} D _inst_2 Y) (CategoryTheory.Over.{u1, u3} C _inst_1 X) (CategoryTheory.instCategoryOver.{u1, u3} C _inst_1 X) F₂) (Prefunctor.obj.{succ u2, succ u2, max u4 u2, max u4 u2} (CategoryTheory.MonoOver.{u2, u4} D _inst_2 Y) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u4 u2} (CategoryTheory.MonoOver.{u2, u4} D _inst_2 Y) (CategoryTheory.Category.toCategoryStruct.{u2, max u4 u2} (CategoryTheory.MonoOver.{u2, u4} D _inst_2 Y) (CategoryTheory.instCategoryMonoOver.{u2, u4} D _inst_2 Y))) (CategoryTheory.Over.{u2, u4} D _inst_2 Y) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u4 u2} (CategoryTheory.Over.{u2, u4} D _inst_2 Y) (CategoryTheory.Category.toCategoryStruct.{u2, max u4 u2} (CategoryTheory.Over.{u2, u4} D _inst_2 Y) (CategoryTheory.instCategoryOver.{u2, u4} D _inst_2 Y))) (CategoryTheory.Functor.toPrefunctor.{u2, u2, max u4 u2, max u4 u2} (CategoryTheory.MonoOver.{u2, u4} D _inst_2 Y) (CategoryTheory.instCategoryMonoOver.{u2, u4} D _inst_2 Y) (CategoryTheory.Over.{u2, u4} D _inst_2 Y) (CategoryTheory.instCategoryOver.{u2, u4} D _inst_2 Y) (CategoryTheory.MonoOver.forget.{u2, u4} D _inst_2 Y)) f)))), (CategoryTheory.Iso.{max (max u4 u1) u2, max (max (max u3 u4) u1) u2} (CategoryTheory.Functor.{u2, u1, max u4 u2, max u3 u1} (CategoryTheory.Over.{u2, u4} D _inst_2 Y) (CategoryTheory.instCategoryOver.{u2, u4} D _inst_2 Y) (CategoryTheory.Over.{u1, u3} C _inst_1 X) (CategoryTheory.instCategoryOver.{u1, u3} C _inst_1 X)) (CategoryTheory.Functor.category.{u2, u1, max u4 u2, max u3 u1} (CategoryTheory.Over.{u2, u4} D _inst_2 Y) (CategoryTheory.instCategoryOver.{u2, u4} D _inst_2 Y) (CategoryTheory.Over.{u1, u3} C _inst_1 X) (CategoryTheory.instCategoryOver.{u1, u3} C _inst_1 X)) F₁ F₂) -> (CategoryTheory.Iso.{max (max u4 u1) u2, max (max (max u4 u3) u2) u1} (CategoryTheory.Functor.{u2, u1, max u4 u2, max u3 u1} (CategoryTheory.MonoOver.{u2, u4} D _inst_2 Y) (CategoryTheory.instCategoryMonoOver.{u2, u4} D _inst_2 Y) (CategoryTheory.MonoOver.{u1, u3} C _inst_1 X) (CategoryTheory.instCategoryMonoOver.{u1, u3} C _inst_1 X)) (CategoryTheory.Functor.category.{u2, u1, max u4 u2, max u3 u1} (CategoryTheory.MonoOver.{u2, u4} D _inst_2 Y) (CategoryTheory.instCategoryMonoOver.{u2, u4} D _inst_2 Y) (CategoryTheory.MonoOver.{u1, u3} C _inst_1 X) (CategoryTheory.instCategoryMonoOver.{u1, u3} C _inst_1 X)) (CategoryTheory.MonoOver.lift.{u1, u2, u3, u4} C _inst_1 X D _inst_2 Y F₁ h₁) (CategoryTheory.MonoOver.lift.{u1, u2, u3, u4} C _inst_1 X D _inst_2 Y F₂ h₂))
+<too large>
 Case conversion may be inaccurate. Consider using '#align category_theory.mono_over.lift_iso CategoryTheory.MonoOver.liftIsoₓ'. -/
 /-- Isomorphic functors `over Y ⥤ over X` lift to isomorphic functors `mono_over Y ⥤ mono_over X`.
 -/
@@ -237,10 +225,7 @@ def liftIso {Y : D} {F₁ F₂ : Over Y ⥤ Over X} (h₁ h₂) (i : F₁ ≅ F
 #align category_theory.mono_over.lift_iso CategoryTheory.MonoOver.liftIso
 
 /- warning: category_theory.mono_over.lift_comp -> CategoryTheory.MonoOver.liftComp is a dubious translation:
-lean 3 declaration is
-  forall {C : Type.{u3}} [_inst_1 : CategoryTheory.Category.{u1, u3} C] {D : Type.{u4}} [_inst_2 : CategoryTheory.Category.{u2, u4} D] {X : C} {Z : C} {Y : D} (F : CategoryTheory.Functor.{u1, u2, max u3 u1, max u4 u2} (CategoryTheory.Over.{u1, u3} C _inst_1 X) (CategoryTheory.Over.category.{u3, u1} C _inst_1 X) (CategoryTheory.Over.{u2, u4} D _inst_2 Y) (CategoryTheory.Over.category.{u4, u2} D _inst_2 Y)) (G : CategoryTheory.Functor.{u2, u1, max u4 u2, max u3 u1} (CategoryTheory.Over.{u2, u4} D _inst_2 Y) (CategoryTheory.Over.category.{u4, u2} D _inst_2 Y) (CategoryTheory.Over.{u1, u3} C _inst_1 Z) (CategoryTheory.Over.category.{u3, u1} C _inst_1 Z)) (h₁ : forall (f : CategoryTheory.MonoOver.{u1, u3} C _inst_1 X), CategoryTheory.Mono.{u2, u4} D _inst_2 (CategoryTheory.Functor.obj.{u2, u2, u4, u4} D _inst_2 D _inst_2 (CategoryTheory.Functor.id.{u2, u4} D _inst_2) (CategoryTheory.Comma.left.{u2, u2, u2, u4, u2, u4} D _inst_2 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) D _inst_2 (CategoryTheory.Functor.id.{u2, u4} D _inst_2) (CategoryTheory.Functor.fromPUnit.{u2, u4} D _inst_2 Y) (CategoryTheory.Functor.obj.{u1, u2, max u3 u1, max u4 u2} (CategoryTheory.Over.{u1, u3} C _inst_1 X) (CategoryTheory.Over.category.{u3, u1} C _inst_1 X) (CategoryTheory.Over.{u2, u4} D _inst_2 Y) (CategoryTheory.Over.category.{u4, u2} D _inst_2 Y) F (CategoryTheory.Functor.obj.{u1, u1, max u3 u1, max u3 u1} (CategoryTheory.MonoOver.{u1, u3} C _inst_1 X) (CategoryTheory.InducedCategory.category.{u1, max u3 u1, max u3 u1} (CategoryTheory.FullSubcategoryₓ.{u1, max u3 u1} (CategoryTheory.Over.{u1, u3} C _inst_1 X) (CategoryTheory.Over.category.{u3, u1} C _inst_1 X) (fun (f : CategoryTheory.Over.{u1, u3} C _inst_1 X) => CategoryTheory.Mono.{u1, u3} C _inst_1 (CategoryTheory.Functor.obj.{u1, u1, u3, u3} C _inst_1 C _inst_1 (CategoryTheory.Functor.id.{u1, u3} C _inst_1) (CategoryTheory.Comma.left.{u1, u1, u1, u3, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u3} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u3} C _inst_1 X) f)) (CategoryTheory.Functor.obj.{u1, u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.fromPUnit.{u1, u3} C _inst_1 X) (CategoryTheory.Comma.right.{u1, u1, u1, u3, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u3} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u3} C _inst_1 X) f)) (CategoryTheory.Comma.hom.{u1, u1, u1, u3, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u3} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u3} C _inst_1 X) f))) (CategoryTheory.Over.{u1, u3} C _inst_1 X) (CategoryTheory.Over.category.{u3, u1} C _inst_1 X) (CategoryTheory.FullSubcategoryₓ.obj.{u1, max u3 u1} (CategoryTheory.Over.{u1, u3} C _inst_1 X) (CategoryTheory.Over.category.{u3, u1} C _inst_1 X) (fun (f : CategoryTheory.Over.{u1, u3} C _inst_1 X) => CategoryTheory.Mono.{u1, u3} C _inst_1 (CategoryTheory.Functor.obj.{u1, u1, u3, u3} C _inst_1 C _inst_1 (CategoryTheory.Functor.id.{u1, u3} C _inst_1) (CategoryTheory.Comma.left.{u1, u1, u1, u3, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u3} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u3} C _inst_1 X) f)) (CategoryTheory.Functor.obj.{u1, u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.fromPUnit.{u1, u3} C _inst_1 X) (CategoryTheory.Comma.right.{u1, u1, u1, u3, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u3} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u3} C _inst_1 X) f)) (CategoryTheory.Comma.hom.{u1, u1, u1, u3, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u3} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u3} C _inst_1 X) f)))) (CategoryTheory.Over.{u1, u3} C _inst_1 X) (CategoryTheory.Over.category.{u3, u1} C _inst_1 X) (CategoryTheory.MonoOver.forget.{u1, u3} C _inst_1 X) f)))) (CategoryTheory.Functor.obj.{u2, u2, u2, u4} (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) D _inst_2 (CategoryTheory.Functor.fromPUnit.{u2, u4} D _inst_2 Y) (CategoryTheory.Comma.right.{u2, u2, u2, u4, u2, u4} D _inst_2 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) D _inst_2 (CategoryTheory.Functor.id.{u2, u4} D _inst_2) (CategoryTheory.Functor.fromPUnit.{u2, u4} D _inst_2 Y) (CategoryTheory.Functor.obj.{u1, u2, max u3 u1, max u4 u2} (CategoryTheory.Over.{u1, u3} C _inst_1 X) (CategoryTheory.Over.category.{u3, u1} C _inst_1 X) (CategoryTheory.Over.{u2, u4} D _inst_2 Y) (CategoryTheory.Over.category.{u4, u2} D _inst_2 Y) F (CategoryTheory.Functor.obj.{u1, u1, max u3 u1, max u3 u1} (CategoryTheory.MonoOver.{u1, u3} C _inst_1 X) (CategoryTheory.InducedCategory.category.{u1, max u3 u1, max u3 u1} (CategoryTheory.FullSubcategoryₓ.{u1, max u3 u1} (CategoryTheory.Over.{u1, u3} C _inst_1 X) (CategoryTheory.Over.category.{u3, u1} C _inst_1 X) (fun (f : CategoryTheory.Over.{u1, u3} C _inst_1 X) => CategoryTheory.Mono.{u1, u3} C _inst_1 (CategoryTheory.Functor.obj.{u1, u1, u3, u3} C _inst_1 C _inst_1 (CategoryTheory.Functor.id.{u1, u3} C _inst_1) (CategoryTheory.Comma.left.{u1, u1, u1, u3, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u3} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u3} C _inst_1 X) f)) (CategoryTheory.Functor.obj.{u1, u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.fromPUnit.{u1, u3} C _inst_1 X) (CategoryTheory.Comma.right.{u1, u1, u1, u3, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u3} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u3} C _inst_1 X) f)) (CategoryTheory.Comma.hom.{u1, u1, u1, u3, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u3} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u3} C _inst_1 X) f))) (CategoryTheory.Over.{u1, u3} C _inst_1 X) (CategoryTheory.Over.category.{u3, u1} C _inst_1 X) (CategoryTheory.FullSubcategoryₓ.obj.{u1, max u3 u1} (CategoryTheory.Over.{u1, u3} C _inst_1 X) (CategoryTheory.Over.category.{u3, u1} C _inst_1 X) (fun (f : CategoryTheory.Over.{u1, u3} C _inst_1 X) => CategoryTheory.Mono.{u1, u3} C _inst_1 (CategoryTheory.Functor.obj.{u1, u1, u3, u3} C _inst_1 C _inst_1 (CategoryTheory.Functor.id.{u1, u3} C _inst_1) (CategoryTheory.Comma.left.{u1, u1, u1, u3, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u3} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u3} C _inst_1 X) f)) (CategoryTheory.Functor.obj.{u1, u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.fromPUnit.{u1, u3} C _inst_1 X) (CategoryTheory.Comma.right.{u1, u1, u1, u3, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u3} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u3} C _inst_1 X) f)) (CategoryTheory.Comma.hom.{u1, u1, u1, u3, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u3} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u3} C _inst_1 X) f)))) (CategoryTheory.Over.{u1, u3} C _inst_1 X) (CategoryTheory.Over.category.{u3, u1} C _inst_1 X) (CategoryTheory.MonoOver.forget.{u1, u3} C _inst_1 X) f)))) (CategoryTheory.Comma.hom.{u2, u2, u2, u4, u2, u4} D _inst_2 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) D _inst_2 (CategoryTheory.Functor.id.{u2, u4} D _inst_2) (CategoryTheory.Functor.fromPUnit.{u2, u4} D _inst_2 Y) (CategoryTheory.Functor.obj.{u1, u2, max u3 u1, max u4 u2} (CategoryTheory.Over.{u1, u3} C _inst_1 X) (CategoryTheory.Over.category.{u3, u1} C _inst_1 X) (CategoryTheory.Over.{u2, u4} D _inst_2 Y) (CategoryTheory.Over.category.{u4, u2} D _inst_2 Y) F (CategoryTheory.Functor.obj.{u1, u1, max u3 u1, max u3 u1} (CategoryTheory.MonoOver.{u1, u3} C _inst_1 X) (CategoryTheory.InducedCategory.category.{u1, max u3 u1, max u3 u1} (CategoryTheory.FullSubcategoryₓ.{u1, max u3 u1} (CategoryTheory.Over.{u1, u3} C _inst_1 X) (CategoryTheory.Over.category.{u3, u1} C _inst_1 X) (fun (f : CategoryTheory.Over.{u1, u3} C _inst_1 X) => CategoryTheory.Mono.{u1, u3} C _inst_1 (CategoryTheory.Functor.obj.{u1, u1, u3, u3} C _inst_1 C _inst_1 (CategoryTheory.Functor.id.{u1, u3} C _inst_1) (CategoryTheory.Comma.left.{u1, u1, u1, u3, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u3} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u3} C _inst_1 X) f)) (CategoryTheory.Functor.obj.{u1, u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.fromPUnit.{u1, u3} C _inst_1 X) (CategoryTheory.Comma.right.{u1, u1, u1, u3, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u3} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u3} C _inst_1 X) f)) (CategoryTheory.Comma.hom.{u1, u1, u1, u3, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u3} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u3} C _inst_1 X) f))) (CategoryTheory.Over.{u1, u3} C _inst_1 X) (CategoryTheory.Over.category.{u3, u1} C _inst_1 X) (CategoryTheory.FullSubcategoryₓ.obj.{u1, max u3 u1} (CategoryTheory.Over.{u1, u3} C _inst_1 X) (CategoryTheory.Over.category.{u3, u1} C _inst_1 X) (fun (f : CategoryTheory.Over.{u1, u3} C _inst_1 X) => CategoryTheory.Mono.{u1, u3} C _inst_1 (CategoryTheory.Functor.obj.{u1, u1, u3, u3} C _inst_1 C _inst_1 (CategoryTheory.Functor.id.{u1, u3} C _inst_1) (CategoryTheory.Comma.left.{u1, u1, u1, u3, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u3} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u3} C _inst_1 X) f)) (CategoryTheory.Functor.obj.{u1, u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.fromPUnit.{u1, u3} C _inst_1 X) (CategoryTheory.Comma.right.{u1, u1, u1, u3, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u3} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u3} C _inst_1 X) f)) (CategoryTheory.Comma.hom.{u1, u1, u1, u3, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u3} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u3} C _inst_1 X) f)))) (CategoryTheory.Over.{u1, u3} C _inst_1 X) (CategoryTheory.Over.category.{u3, u1} C _inst_1 X) (CategoryTheory.MonoOver.forget.{u1, u3} C _inst_1 X) f)))) (h₂ : forall (f : CategoryTheory.MonoOver.{u2, u4} D _inst_2 Y), CategoryTheory.Mono.{u1, u3} C _inst_1 (CategoryTheory.Functor.obj.{u1, u1, u3, u3} C _inst_1 C _inst_1 (CategoryTheory.Functor.id.{u1, u3} C _inst_1) (CategoryTheory.Comma.left.{u1, u1, u1, u3, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u3} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u3} C _inst_1 Z) (CategoryTheory.Functor.obj.{u2, u1, max u4 u2, max u3 u1} (CategoryTheory.Over.{u2, u4} D _inst_2 Y) (CategoryTheory.Over.category.{u4, u2} D _inst_2 Y) (CategoryTheory.Over.{u1, u3} C _inst_1 Z) (CategoryTheory.Over.category.{u3, u1} C _inst_1 Z) G (CategoryTheory.Functor.obj.{u2, u2, max u4 u2, max u4 u2} (CategoryTheory.MonoOver.{u2, u4} D _inst_2 Y) (CategoryTheory.InducedCategory.category.{u2, max u4 u2, max u4 u2} (CategoryTheory.FullSubcategoryₓ.{u2, max u4 u2} (CategoryTheory.Over.{u2, u4} D _inst_2 Y) (CategoryTheory.Over.category.{u4, u2} D _inst_2 Y) (fun (f : CategoryTheory.Over.{u2, u4} D _inst_2 Y) => CategoryTheory.Mono.{u2, u4} D _inst_2 (CategoryTheory.Functor.obj.{u2, u2, u4, u4} D _inst_2 D _inst_2 (CategoryTheory.Functor.id.{u2, u4} D _inst_2) (CategoryTheory.Comma.left.{u2, u2, u2, u4, u2, u4} D _inst_2 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) D _inst_2 (CategoryTheory.Functor.id.{u2, u4} D _inst_2) (CategoryTheory.Functor.fromPUnit.{u2, u4} D _inst_2 Y) f)) (CategoryTheory.Functor.obj.{u2, u2, u2, u4} (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) D _inst_2 (CategoryTheory.Functor.fromPUnit.{u2, u4} D _inst_2 Y) (CategoryTheory.Comma.right.{u2, u2, u2, u4, u2, u4} D _inst_2 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) D _inst_2 (CategoryTheory.Functor.id.{u2, u4} D _inst_2) (CategoryTheory.Functor.fromPUnit.{u2, u4} D _inst_2 Y) f)) (CategoryTheory.Comma.hom.{u2, u2, u2, u4, u2, u4} D _inst_2 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) D _inst_2 (CategoryTheory.Functor.id.{u2, u4} D _inst_2) (CategoryTheory.Functor.fromPUnit.{u2, u4} D _inst_2 Y) f))) (CategoryTheory.Over.{u2, u4} D _inst_2 Y) (CategoryTheory.Over.category.{u4, u2} D _inst_2 Y) (CategoryTheory.FullSubcategoryₓ.obj.{u2, max u4 u2} (CategoryTheory.Over.{u2, u4} D _inst_2 Y) (CategoryTheory.Over.category.{u4, u2} D _inst_2 Y) (fun (f : CategoryTheory.Over.{u2, u4} D _inst_2 Y) => CategoryTheory.Mono.{u2, u4} D _inst_2 (CategoryTheory.Functor.obj.{u2, u2, u4, u4} D _inst_2 D _inst_2 (CategoryTheory.Functor.id.{u2, u4} D _inst_2) (CategoryTheory.Comma.left.{u2, u2, u2, u4, u2, u4} D _inst_2 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) D _inst_2 (CategoryTheory.Functor.id.{u2, u4} D _inst_2) (CategoryTheory.Functor.fromPUnit.{u2, u4} D _inst_2 Y) f)) (CategoryTheory.Functor.obj.{u2, u2, u2, u4} (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) D _inst_2 (CategoryTheory.Functor.fromPUnit.{u2, u4} D _inst_2 Y) (CategoryTheory.Comma.right.{u2, u2, u2, u4, u2, u4} D _inst_2 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) D _inst_2 (CategoryTheory.Functor.id.{u2, u4} D _inst_2) (CategoryTheory.Functor.fromPUnit.{u2, u4} D _inst_2 Y) f)) (CategoryTheory.Comma.hom.{u2, u2, u2, u4, u2, u4} D _inst_2 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) D _inst_2 (CategoryTheory.Functor.id.{u2, u4} D _inst_2) (CategoryTheory.Functor.fromPUnit.{u2, u4} D _inst_2 Y) f)))) (CategoryTheory.Over.{u2, u4} D _inst_2 Y) (CategoryTheory.Over.category.{u4, u2} D _inst_2 Y) (CategoryTheory.MonoOver.forget.{u2, u4} D _inst_2 Y) f)))) (CategoryTheory.Functor.obj.{u1, u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.fromPUnit.{u1, u3} C _inst_1 Z) (CategoryTheory.Comma.right.{u1, u1, u1, u3, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u3} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u3} C _inst_1 Z) (CategoryTheory.Functor.obj.{u2, u1, max u4 u2, max u3 u1} (CategoryTheory.Over.{u2, u4} D _inst_2 Y) (CategoryTheory.Over.category.{u4, u2} D _inst_2 Y) (CategoryTheory.Over.{u1, u3} C _inst_1 Z) (CategoryTheory.Over.category.{u3, u1} C _inst_1 Z) G (CategoryTheory.Functor.obj.{u2, u2, max u4 u2, max u4 u2} (CategoryTheory.MonoOver.{u2, u4} D _inst_2 Y) (CategoryTheory.InducedCategory.category.{u2, max u4 u2, max u4 u2} (CategoryTheory.FullSubcategoryₓ.{u2, max u4 u2} (CategoryTheory.Over.{u2, u4} D _inst_2 Y) (CategoryTheory.Over.category.{u4, u2} D _inst_2 Y) (fun (f : CategoryTheory.Over.{u2, u4} D _inst_2 Y) => CategoryTheory.Mono.{u2, u4} D _inst_2 (CategoryTheory.Functor.obj.{u2, u2, u4, u4} D _inst_2 D _inst_2 (CategoryTheory.Functor.id.{u2, u4} D _inst_2) (CategoryTheory.Comma.left.{u2, u2, u2, u4, u2, u4} D _inst_2 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) D _inst_2 (CategoryTheory.Functor.id.{u2, u4} D _inst_2) (CategoryTheory.Functor.fromPUnit.{u2, u4} D _inst_2 Y) f)) (CategoryTheory.Functor.obj.{u2, u2, u2, u4} (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) D _inst_2 (CategoryTheory.Functor.fromPUnit.{u2, u4} D _inst_2 Y) (CategoryTheory.Comma.right.{u2, u2, u2, u4, u2, u4} D _inst_2 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) D _inst_2 (CategoryTheory.Functor.id.{u2, u4} D _inst_2) (CategoryTheory.Functor.fromPUnit.{u2, u4} D _inst_2 Y) f)) (CategoryTheory.Comma.hom.{u2, u2, u2, u4, u2, u4} D _inst_2 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) D _inst_2 (CategoryTheory.Functor.id.{u2, u4} D _inst_2) (CategoryTheory.Functor.fromPUnit.{u2, u4} D _inst_2 Y) f))) (CategoryTheory.Over.{u2, u4} D _inst_2 Y) (CategoryTheory.Over.category.{u4, u2} D _inst_2 Y) (CategoryTheory.FullSubcategoryₓ.obj.{u2, max u4 u2} (CategoryTheory.Over.{u2, u4} D _inst_2 Y) (CategoryTheory.Over.category.{u4, u2} D _inst_2 Y) (fun (f : CategoryTheory.Over.{u2, u4} D _inst_2 Y) => CategoryTheory.Mono.{u2, u4} D _inst_2 (CategoryTheory.Functor.obj.{u2, u2, u4, u4} D _inst_2 D _inst_2 (CategoryTheory.Functor.id.{u2, u4} D _inst_2) (CategoryTheory.Comma.left.{u2, u2, u2, u4, u2, u4} D _inst_2 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) D _inst_2 (CategoryTheory.Functor.id.{u2, u4} D _inst_2) (CategoryTheory.Functor.fromPUnit.{u2, u4} D _inst_2 Y) f)) (CategoryTheory.Functor.obj.{u2, u2, u2, u4} (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) D _inst_2 (CategoryTheory.Functor.fromPUnit.{u2, u4} D _inst_2 Y) (CategoryTheory.Comma.right.{u2, u2, u2, u4, u2, u4} D _inst_2 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) D _inst_2 (CategoryTheory.Functor.id.{u2, u4} D _inst_2) (CategoryTheory.Functor.fromPUnit.{u2, u4} D _inst_2 Y) f)) (CategoryTheory.Comma.hom.{u2, u2, u2, u4, u2, u4} D _inst_2 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) D _inst_2 (CategoryTheory.Functor.id.{u2, u4} D _inst_2) (CategoryTheory.Functor.fromPUnit.{u2, u4} D _inst_2 Y) f)))) (CategoryTheory.Over.{u2, u4} D _inst_2 Y) (CategoryTheory.Over.category.{u4, u2} D _inst_2 Y) (CategoryTheory.MonoOver.forget.{u2, u4} D _inst_2 Y) f)))) (CategoryTheory.Comma.hom.{u1, u1, u1, u3, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u3} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u3} C _inst_1 Z) (CategoryTheory.Functor.obj.{u2, u1, max u4 u2, max u3 u1} (CategoryTheory.Over.{u2, u4} D _inst_2 Y) (CategoryTheory.Over.category.{u4, u2} D _inst_2 Y) (CategoryTheory.Over.{u1, u3} C _inst_1 Z) (CategoryTheory.Over.category.{u3, u1} C _inst_1 Z) G (CategoryTheory.Functor.obj.{u2, u2, max u4 u2, max u4 u2} (CategoryTheory.MonoOver.{u2, u4} D _inst_2 Y) (CategoryTheory.InducedCategory.category.{u2, max u4 u2, max u4 u2} (CategoryTheory.FullSubcategoryₓ.{u2, max u4 u2} (CategoryTheory.Over.{u2, u4} D _inst_2 Y) (CategoryTheory.Over.category.{u4, u2} D _inst_2 Y) (fun (f : CategoryTheory.Over.{u2, u4} D _inst_2 Y) => CategoryTheory.Mono.{u2, u4} D _inst_2 (CategoryTheory.Functor.obj.{u2, u2, u4, u4} D _inst_2 D _inst_2 (CategoryTheory.Functor.id.{u2, u4} D _inst_2) (CategoryTheory.Comma.left.{u2, u2, u2, u4, u2, u4} D _inst_2 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) D _inst_2 (CategoryTheory.Functor.id.{u2, u4} D _inst_2) (CategoryTheory.Functor.fromPUnit.{u2, u4} D _inst_2 Y) f)) (CategoryTheory.Functor.obj.{u2, u2, u2, u4} (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) D _inst_2 (CategoryTheory.Functor.fromPUnit.{u2, u4} D _inst_2 Y) (CategoryTheory.Comma.right.{u2, u2, u2, u4, u2, u4} D _inst_2 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) D _inst_2 (CategoryTheory.Functor.id.{u2, u4} D _inst_2) (CategoryTheory.Functor.fromPUnit.{u2, u4} D _inst_2 Y) f)) (CategoryTheory.Comma.hom.{u2, u2, u2, u4, u2, u4} D _inst_2 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) D _inst_2 (CategoryTheory.Functor.id.{u2, u4} D _inst_2) (CategoryTheory.Functor.fromPUnit.{u2, u4} D _inst_2 Y) f))) (CategoryTheory.Over.{u2, u4} D _inst_2 Y) (CategoryTheory.Over.category.{u4, u2} D _inst_2 Y) (CategoryTheory.FullSubcategoryₓ.obj.{u2, max u4 u2} (CategoryTheory.Over.{u2, u4} D _inst_2 Y) (CategoryTheory.Over.category.{u4, u2} D _inst_2 Y) (fun (f : CategoryTheory.Over.{u2, u4} D _inst_2 Y) => CategoryTheory.Mono.{u2, u4} D _inst_2 (CategoryTheory.Functor.obj.{u2, u2, u4, u4} D _inst_2 D _inst_2 (CategoryTheory.Functor.id.{u2, u4} D _inst_2) (CategoryTheory.Comma.left.{u2, u2, u2, u4, u2, u4} D _inst_2 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) D _inst_2 (CategoryTheory.Functor.id.{u2, u4} D _inst_2) (CategoryTheory.Functor.fromPUnit.{u2, u4} D _inst_2 Y) f)) (CategoryTheory.Functor.obj.{u2, u2, u2, u4} (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) D _inst_2 (CategoryTheory.Functor.fromPUnit.{u2, u4} D _inst_2 Y) (CategoryTheory.Comma.right.{u2, u2, u2, u4, u2, u4} D _inst_2 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) D _inst_2 (CategoryTheory.Functor.id.{u2, u4} D _inst_2) (CategoryTheory.Functor.fromPUnit.{u2, u4} D _inst_2 Y) f)) (CategoryTheory.Comma.hom.{u2, u2, u2, u4, u2, u4} D _inst_2 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) D _inst_2 (CategoryTheory.Functor.id.{u2, u4} D _inst_2) (CategoryTheory.Functor.fromPUnit.{u2, u4} D _inst_2 Y) f)))) (CategoryTheory.Over.{u2, u4} D _inst_2 Y) (CategoryTheory.Over.category.{u4, u2} D _inst_2 Y) (CategoryTheory.MonoOver.forget.{u2, u4} D _inst_2 Y) f)))), CategoryTheory.Iso.{max u3 u1, max u3 u1} (CategoryTheory.Functor.{u1, u1, max u3 u1, max u3 u1} (CategoryTheory.MonoOver.{u1, u3} C _inst_1 X) (CategoryTheory.MonoOver.category.{u3, u1} C _inst_1 X) (CategoryTheory.MonoOver.{u1, u3} C _inst_1 Z) (CategoryTheory.MonoOver.category.{u3, u1} C _inst_1 Z)) (CategoryTheory.Functor.category.{u1, u1, max u3 u1, max u3 u1} (CategoryTheory.MonoOver.{u1, u3} C _inst_1 X) (CategoryTheory.MonoOver.category.{u3, u1} C _inst_1 X) (CategoryTheory.MonoOver.{u1, u3} C _inst_1 Z) (CategoryTheory.MonoOver.category.{u3, u1} C _inst_1 Z)) (CategoryTheory.Functor.comp.{u1, u2, u1, max u3 u1, max u4 u2, max u3 u1} (CategoryTheory.MonoOver.{u1, u3} C _inst_1 X) (CategoryTheory.MonoOver.category.{u3, u1} C _inst_1 X) (CategoryTheory.MonoOver.{u2, u4} D _inst_2 Y) (CategoryTheory.MonoOver.category.{u4, u2} D _inst_2 Y) (CategoryTheory.MonoOver.{u1, u3} C _inst_1 Z) (CategoryTheory.MonoOver.category.{u3, u1} C _inst_1 Z) (CategoryTheory.MonoOver.lift.{u2, u1, u4, u3} D _inst_2 Y C _inst_1 X F h₁) (CategoryTheory.MonoOver.lift.{u1, u2, u3, u4} C _inst_1 Z D _inst_2 Y G h₂)) (CategoryTheory.MonoOver.lift.{u1, u1, u3, u3} C _inst_1 Z C _inst_1 X (CategoryTheory.Functor.comp.{u1, u2, u1, max u3 u1, max u4 u2, max u3 u1} (CategoryTheory.Over.{u1, u3} C _inst_1 X) (CategoryTheory.Over.category.{u3, u1} C _inst_1 X) (CategoryTheory.Over.{u2, u4} D _inst_2 Y) (CategoryTheory.Over.category.{u4, u2} D _inst_2 Y) (CategoryTheory.Over.{u1, u3} C _inst_1 Z) (CategoryTheory.Over.category.{u3, u1} C _inst_1 Z) F G) (CategoryTheory.MonoOver.liftComp._proof_1.{u3, u4, u1, u2} C _inst_1 D _inst_2 X Z Y F G h₁ h₂))
-but is expected to have type
-  forall {C : Type.{u3}} [_inst_1 : CategoryTheory.Category.{u1, u3} C] {D : Type.{u4}} [_inst_2 : CategoryTheory.Category.{u2, u4} D] {X : C} {Z : C} {Y : D} (F : CategoryTheory.Functor.{u1, u2, max u3 u1, max u4 u2} (CategoryTheory.Over.{u1, u3} C _inst_1 X) (CategoryTheory.instCategoryOver.{u1, u3} C _inst_1 X) (CategoryTheory.Over.{u2, u4} D _inst_2 Y) (CategoryTheory.instCategoryOver.{u2, u4} D _inst_2 Y)) (G : CategoryTheory.Functor.{u2, u1, max u4 u2, max u3 u1} (CategoryTheory.Over.{u2, u4} D _inst_2 Y) (CategoryTheory.instCategoryOver.{u2, u4} D _inst_2 Y) (CategoryTheory.Over.{u1, u3} C _inst_1 Z) (CategoryTheory.instCategoryOver.{u1, u3} C _inst_1 Z)) (h₁ : forall (f : CategoryTheory.MonoOver.{u1, u3} C _inst_1 X), CategoryTheory.Mono.{u2, u4} D _inst_2 (Prefunctor.obj.{succ u2, succ u2, u4, u4} D (CategoryTheory.CategoryStruct.toQuiver.{u2, u4} D (CategoryTheory.Category.toCategoryStruct.{u2, u4} D _inst_2)) D (CategoryTheory.CategoryStruct.toQuiver.{u2, u4} D (CategoryTheory.Category.toCategoryStruct.{u2, u4} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u2, u2, u4, u4} D _inst_2 D _inst_2 (CategoryTheory.Functor.id.{u2, u4} D _inst_2)) (CategoryTheory.Comma.left.{u2, u2, u2, u4, u2, u4} D _inst_2 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) D _inst_2 (CategoryTheory.Functor.id.{u2, u4} D _inst_2) (CategoryTheory.Functor.fromPUnit.{u2, u4} D _inst_2 Y) (Prefunctor.obj.{succ u1, succ u2, max u3 u1, max u4 u2} (CategoryTheory.Over.{u1, u3} C _inst_1 X) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u3 u1} (CategoryTheory.Over.{u1, u3} C _inst_1 X) (CategoryTheory.Category.toCategoryStruct.{u1, max u3 u1} (CategoryTheory.Over.{u1, u3} C _inst_1 X) (CategoryTheory.instCategoryOver.{u1, u3} C _inst_1 X))) (CategoryTheory.Over.{u2, u4} D _inst_2 Y) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u4 u2} (CategoryTheory.Over.{u2, u4} D _inst_2 Y) (CategoryTheory.Category.toCategoryStruct.{u2, max u4 u2} (CategoryTheory.Over.{u2, u4} D _inst_2 Y) (CategoryTheory.instCategoryOver.{u2, u4} D _inst_2 Y))) (CategoryTheory.Functor.toPrefunctor.{u1, u2, max u3 u1, max u4 u2} (CategoryTheory.Over.{u1, u3} C _inst_1 X) (CategoryTheory.instCategoryOver.{u1, u3} C _inst_1 X) (CategoryTheory.Over.{u2, u4} D _inst_2 Y) (CategoryTheory.instCategoryOver.{u2, u4} D _inst_2 Y) F) (Prefunctor.obj.{succ u1, succ u1, max u3 u1, max u3 u1} (CategoryTheory.MonoOver.{u1, u3} C _inst_1 X) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u3 u1} (CategoryTheory.MonoOver.{u1, u3} C _inst_1 X) (CategoryTheory.Category.toCategoryStruct.{u1, max u3 u1} (CategoryTheory.MonoOver.{u1, u3} C _inst_1 X) (CategoryTheory.instCategoryMonoOver.{u1, u3} C _inst_1 X))) (CategoryTheory.Over.{u1, u3} C _inst_1 X) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u3 u1} (CategoryTheory.Over.{u1, u3} C _inst_1 X) (CategoryTheory.Category.toCategoryStruct.{u1, max u3 u1} (CategoryTheory.Over.{u1, u3} C _inst_1 X) (CategoryTheory.instCategoryOver.{u1, u3} C _inst_1 X))) (CategoryTheory.Functor.toPrefunctor.{u1, u1, max u3 u1, max u3 u1} (CategoryTheory.MonoOver.{u1, u3} C _inst_1 X) (CategoryTheory.instCategoryMonoOver.{u1, u3} C _inst_1 X) (CategoryTheory.Over.{u1, u3} C _inst_1 X) (CategoryTheory.instCategoryOver.{u1, u3} C _inst_1 X) (CategoryTheory.MonoOver.forget.{u1, u3} C _inst_1 X)) f)))) (Prefunctor.obj.{succ u2, succ u2, u2, u4} (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}))) D (CategoryTheory.CategoryStruct.toQuiver.{u2, u4} D (CategoryTheory.Category.toCategoryStruct.{u2, u4} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u2, u2, u2, u4} (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) D _inst_2 (CategoryTheory.Functor.fromPUnit.{u2, u4} D _inst_2 Y)) (CategoryTheory.Comma.right.{u2, u2, u2, u4, u2, u4} D _inst_2 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) D _inst_2 (CategoryTheory.Functor.id.{u2, u4} D _inst_2) (CategoryTheory.Functor.fromPUnit.{u2, u4} D _inst_2 Y) (Prefunctor.obj.{succ u1, succ u2, max u3 u1, max u4 u2} (CategoryTheory.Over.{u1, u3} C _inst_1 X) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u3 u1} (CategoryTheory.Over.{u1, u3} C _inst_1 X) (CategoryTheory.Category.toCategoryStruct.{u1, max u3 u1} (CategoryTheory.Over.{u1, u3} C _inst_1 X) (CategoryTheory.instCategoryOver.{u1, u3} C _inst_1 X))) (CategoryTheory.Over.{u2, u4} D _inst_2 Y) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u4 u2} (CategoryTheory.Over.{u2, u4} D _inst_2 Y) (CategoryTheory.Category.toCategoryStruct.{u2, max u4 u2} (CategoryTheory.Over.{u2, u4} D _inst_2 Y) (CategoryTheory.instCategoryOver.{u2, u4} D _inst_2 Y))) (CategoryTheory.Functor.toPrefunctor.{u1, u2, max u3 u1, max u4 u2} (CategoryTheory.Over.{u1, u3} C _inst_1 X) (CategoryTheory.instCategoryOver.{u1, u3} C _inst_1 X) (CategoryTheory.Over.{u2, u4} D _inst_2 Y) (CategoryTheory.instCategoryOver.{u2, u4} D _inst_2 Y) F) (Prefunctor.obj.{succ u1, succ u1, max u3 u1, max u3 u1} (CategoryTheory.MonoOver.{u1, u3} C _inst_1 X) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u3 u1} (CategoryTheory.MonoOver.{u1, u3} C _inst_1 X) (CategoryTheory.Category.toCategoryStruct.{u1, max u3 u1} (CategoryTheory.MonoOver.{u1, u3} C _inst_1 X) (CategoryTheory.instCategoryMonoOver.{u1, u3} C _inst_1 X))) (CategoryTheory.Over.{u1, u3} C _inst_1 X) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u3 u1} (CategoryTheory.Over.{u1, u3} C _inst_1 X) (CategoryTheory.Category.toCategoryStruct.{u1, max u3 u1} (CategoryTheory.Over.{u1, u3} C _inst_1 X) (CategoryTheory.instCategoryOver.{u1, u3} C _inst_1 X))) (CategoryTheory.Functor.toPrefunctor.{u1, u1, max u3 u1, max u3 u1} (CategoryTheory.MonoOver.{u1, u3} C _inst_1 X) (CategoryTheory.instCategoryMonoOver.{u1, u3} C _inst_1 X) (CategoryTheory.Over.{u1, u3} C _inst_1 X) (CategoryTheory.instCategoryOver.{u1, u3} C _inst_1 X) (CategoryTheory.MonoOver.forget.{u1, u3} C _inst_1 X)) f)))) (CategoryTheory.Comma.hom.{u2, u2, u2, u4, u2, u4} D _inst_2 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) D _inst_2 (CategoryTheory.Functor.id.{u2, u4} D _inst_2) (CategoryTheory.Functor.fromPUnit.{u2, u4} D _inst_2 Y) (Prefunctor.obj.{succ u1, succ u2, max u3 u1, max u4 u2} (CategoryTheory.Over.{u1, u3} C _inst_1 X) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u3 u1} (CategoryTheory.Over.{u1, u3} C _inst_1 X) (CategoryTheory.Category.toCategoryStruct.{u1, max u3 u1} (CategoryTheory.Over.{u1, u3} C _inst_1 X) (CategoryTheory.instCategoryOver.{u1, u3} C _inst_1 X))) (CategoryTheory.Over.{u2, u4} D _inst_2 Y) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u4 u2} (CategoryTheory.Over.{u2, u4} D _inst_2 Y) (CategoryTheory.Category.toCategoryStruct.{u2, max u4 u2} (CategoryTheory.Over.{u2, u4} D _inst_2 Y) (CategoryTheory.instCategoryOver.{u2, u4} D _inst_2 Y))) (CategoryTheory.Functor.toPrefunctor.{u1, u2, max u3 u1, max u4 u2} (CategoryTheory.Over.{u1, u3} C _inst_1 X) (CategoryTheory.instCategoryOver.{u1, u3} C _inst_1 X) (CategoryTheory.Over.{u2, u4} D _inst_2 Y) (CategoryTheory.instCategoryOver.{u2, u4} D _inst_2 Y) F) (Prefunctor.obj.{succ u1, succ u1, max u3 u1, max u3 u1} (CategoryTheory.MonoOver.{u1, u3} C _inst_1 X) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u3 u1} (CategoryTheory.MonoOver.{u1, u3} C _inst_1 X) (CategoryTheory.Category.toCategoryStruct.{u1, max u3 u1} (CategoryTheory.MonoOver.{u1, u3} C _inst_1 X) (CategoryTheory.instCategoryMonoOver.{u1, u3} C _inst_1 X))) (CategoryTheory.Over.{u1, u3} C _inst_1 X) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u3 u1} (CategoryTheory.Over.{u1, u3} C _inst_1 X) (CategoryTheory.Category.toCategoryStruct.{u1, max u3 u1} (CategoryTheory.Over.{u1, u3} C _inst_1 X) (CategoryTheory.instCategoryOver.{u1, u3} C _inst_1 X))) (CategoryTheory.Functor.toPrefunctor.{u1, u1, max u3 u1, max u3 u1} (CategoryTheory.MonoOver.{u1, u3} C _inst_1 X) (CategoryTheory.instCategoryMonoOver.{u1, u3} C _inst_1 X) (CategoryTheory.Over.{u1, u3} C _inst_1 X) (CategoryTheory.instCategoryOver.{u1, u3} C _inst_1 X) (CategoryTheory.MonoOver.forget.{u1, u3} C _inst_1 X)) f)))) (h₂ : forall (f : CategoryTheory.MonoOver.{u2, u4} D _inst_2 Y), CategoryTheory.Mono.{u1, u3} C _inst_1 (Prefunctor.obj.{succ u1, succ u1, u3, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} C (CategoryTheory.Category.toCategoryStruct.{u1, u3} C _inst_1)) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} C (CategoryTheory.Category.toCategoryStruct.{u1, u3} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u3, u3} C _inst_1 C _inst_1 (CategoryTheory.Functor.id.{u1, u3} C _inst_1)) (CategoryTheory.Comma.left.{u1, u1, u1, u3, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u3} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u3} C _inst_1 Z) (Prefunctor.obj.{succ u2, succ u1, max u4 u2, max u3 u1} (CategoryTheory.Over.{u2, u4} D _inst_2 Y) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u4 u2} (CategoryTheory.Over.{u2, u4} D _inst_2 Y) (CategoryTheory.Category.toCategoryStruct.{u2, max u4 u2} (CategoryTheory.Over.{u2, u4} D _inst_2 Y) (CategoryTheory.instCategoryOver.{u2, u4} D _inst_2 Y))) (CategoryTheory.Over.{u1, u3} C _inst_1 Z) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u3 u1} (CategoryTheory.Over.{u1, u3} C _inst_1 Z) (CategoryTheory.Category.toCategoryStruct.{u1, max u3 u1} (CategoryTheory.Over.{u1, u3} C _inst_1 Z) (CategoryTheory.instCategoryOver.{u1, u3} C _inst_1 Z))) (CategoryTheory.Functor.toPrefunctor.{u2, u1, max u4 u2, max u3 u1} (CategoryTheory.Over.{u2, u4} D _inst_2 Y) (CategoryTheory.instCategoryOver.{u2, u4} D _inst_2 Y) (CategoryTheory.Over.{u1, u3} C _inst_1 Z) (CategoryTheory.instCategoryOver.{u1, u3} C _inst_1 Z) G) (Prefunctor.obj.{succ u2, succ u2, max u4 u2, max u4 u2} (CategoryTheory.MonoOver.{u2, u4} D _inst_2 Y) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u4 u2} (CategoryTheory.MonoOver.{u2, u4} D _inst_2 Y) (CategoryTheory.Category.toCategoryStruct.{u2, max u4 u2} (CategoryTheory.MonoOver.{u2, u4} D _inst_2 Y) (CategoryTheory.instCategoryMonoOver.{u2, u4} D _inst_2 Y))) (CategoryTheory.Over.{u2, u4} D _inst_2 Y) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u4 u2} (CategoryTheory.Over.{u2, u4} D _inst_2 Y) (CategoryTheory.Category.toCategoryStruct.{u2, max u4 u2} (CategoryTheory.Over.{u2, u4} D _inst_2 Y) (CategoryTheory.instCategoryOver.{u2, u4} D _inst_2 Y))) (CategoryTheory.Functor.toPrefunctor.{u2, u2, max u4 u2, max u4 u2} (CategoryTheory.MonoOver.{u2, u4} D _inst_2 Y) (CategoryTheory.instCategoryMonoOver.{u2, u4} D _inst_2 Y) (CategoryTheory.Over.{u2, u4} D _inst_2 Y) (CategoryTheory.instCategoryOver.{u2, u4} D _inst_2 Y) (CategoryTheory.MonoOver.forget.{u2, u4} D _inst_2 Y)) f)))) (Prefunctor.obj.{succ u1, succ u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.Category.toCategoryStruct.{u1, u1} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}))) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} C (CategoryTheory.Category.toCategoryStruct.{u1, u3} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.fromPUnit.{u1, u3} C _inst_1 Z)) (CategoryTheory.Comma.right.{u1, u1, u1, u3, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u3} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u3} C _inst_1 Z) (Prefunctor.obj.{succ u2, succ u1, max u4 u2, max u3 u1} (CategoryTheory.Over.{u2, u4} D _inst_2 Y) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u4 u2} (CategoryTheory.Over.{u2, u4} D _inst_2 Y) (CategoryTheory.Category.toCategoryStruct.{u2, max u4 u2} (CategoryTheory.Over.{u2, u4} D _inst_2 Y) (CategoryTheory.instCategoryOver.{u2, u4} D _inst_2 Y))) (CategoryTheory.Over.{u1, u3} C _inst_1 Z) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u3 u1} (CategoryTheory.Over.{u1, u3} C _inst_1 Z) (CategoryTheory.Category.toCategoryStruct.{u1, max u3 u1} (CategoryTheory.Over.{u1, u3} C _inst_1 Z) (CategoryTheory.instCategoryOver.{u1, u3} C _inst_1 Z))) (CategoryTheory.Functor.toPrefunctor.{u2, u1, max u4 u2, max u3 u1} (CategoryTheory.Over.{u2, u4} D _inst_2 Y) (CategoryTheory.instCategoryOver.{u2, u4} D _inst_2 Y) (CategoryTheory.Over.{u1, u3} C _inst_1 Z) (CategoryTheory.instCategoryOver.{u1, u3} C _inst_1 Z) G) (Prefunctor.obj.{succ u2, succ u2, max u4 u2, max u4 u2} (CategoryTheory.MonoOver.{u2, u4} D _inst_2 Y) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u4 u2} (CategoryTheory.MonoOver.{u2, u4} D _inst_2 Y) (CategoryTheory.Category.toCategoryStruct.{u2, max u4 u2} (CategoryTheory.MonoOver.{u2, u4} D _inst_2 Y) (CategoryTheory.instCategoryMonoOver.{u2, u4} D _inst_2 Y))) (CategoryTheory.Over.{u2, u4} D _inst_2 Y) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u4 u2} (CategoryTheory.Over.{u2, u4} D _inst_2 Y) (CategoryTheory.Category.toCategoryStruct.{u2, max u4 u2} (CategoryTheory.Over.{u2, u4} D _inst_2 Y) (CategoryTheory.instCategoryOver.{u2, u4} D _inst_2 Y))) (CategoryTheory.Functor.toPrefunctor.{u2, u2, max u4 u2, max u4 u2} (CategoryTheory.MonoOver.{u2, u4} D _inst_2 Y) (CategoryTheory.instCategoryMonoOver.{u2, u4} D _inst_2 Y) (CategoryTheory.Over.{u2, u4} D _inst_2 Y) (CategoryTheory.instCategoryOver.{u2, u4} D _inst_2 Y) (CategoryTheory.MonoOver.forget.{u2, u4} D _inst_2 Y)) f)))) (CategoryTheory.Comma.hom.{u1, u1, u1, u3, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u3} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u3} C _inst_1 Z) (Prefunctor.obj.{succ u2, succ u1, max u4 u2, max u3 u1} (CategoryTheory.Over.{u2, u4} D _inst_2 Y) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u4 u2} (CategoryTheory.Over.{u2, u4} D _inst_2 Y) (CategoryTheory.Category.toCategoryStruct.{u2, max u4 u2} (CategoryTheory.Over.{u2, u4} D _inst_2 Y) (CategoryTheory.instCategoryOver.{u2, u4} D _inst_2 Y))) (CategoryTheory.Over.{u1, u3} C _inst_1 Z) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u3 u1} (CategoryTheory.Over.{u1, u3} C _inst_1 Z) (CategoryTheory.Category.toCategoryStruct.{u1, max u3 u1} (CategoryTheory.Over.{u1, u3} C _inst_1 Z) (CategoryTheory.instCategoryOver.{u1, u3} C _inst_1 Z))) (CategoryTheory.Functor.toPrefunctor.{u2, u1, max u4 u2, max u3 u1} (CategoryTheory.Over.{u2, u4} D _inst_2 Y) (CategoryTheory.instCategoryOver.{u2, u4} D _inst_2 Y) (CategoryTheory.Over.{u1, u3} C _inst_1 Z) (CategoryTheory.instCategoryOver.{u1, u3} C _inst_1 Z) G) (Prefunctor.obj.{succ u2, succ u2, max u4 u2, max u4 u2} (CategoryTheory.MonoOver.{u2, u4} D _inst_2 Y) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u4 u2} (CategoryTheory.MonoOver.{u2, u4} D _inst_2 Y) (CategoryTheory.Category.toCategoryStruct.{u2, max u4 u2} (CategoryTheory.MonoOver.{u2, u4} D _inst_2 Y) (CategoryTheory.instCategoryMonoOver.{u2, u4} D _inst_2 Y))) (CategoryTheory.Over.{u2, u4} D _inst_2 Y) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u4 u2} (CategoryTheory.Over.{u2, u4} D _inst_2 Y) (CategoryTheory.Category.toCategoryStruct.{u2, max u4 u2} (CategoryTheory.Over.{u2, u4} D _inst_2 Y) (CategoryTheory.instCategoryOver.{u2, u4} D _inst_2 Y))) (CategoryTheory.Functor.toPrefunctor.{u2, u2, max u4 u2, max u4 u2} (CategoryTheory.MonoOver.{u2, u4} D _inst_2 Y) (CategoryTheory.instCategoryMonoOver.{u2, u4} D _inst_2 Y) (CategoryTheory.Over.{u2, u4} D _inst_2 Y) (CategoryTheory.instCategoryOver.{u2, u4} D _inst_2 Y) (CategoryTheory.MonoOver.forget.{u2, u4} D _inst_2 Y)) f)))), CategoryTheory.Iso.{max u3 u1, max u3 u1} (CategoryTheory.Functor.{u1, u1, max u3 u1, max u3 u1} (CategoryTheory.MonoOver.{u1, u3} C _inst_1 X) (CategoryTheory.instCategoryMonoOver.{u1, u3} C _inst_1 X) (CategoryTheory.MonoOver.{u1, u3} C _inst_1 Z) (CategoryTheory.instCategoryMonoOver.{u1, u3} C _inst_1 Z)) (CategoryTheory.Functor.category.{u1, u1, max u3 u1, max u3 u1} (CategoryTheory.MonoOver.{u1, u3} C _inst_1 X) (CategoryTheory.instCategoryMonoOver.{u1, u3} C _inst_1 X) (CategoryTheory.MonoOver.{u1, u3} C _inst_1 Z) (CategoryTheory.instCategoryMonoOver.{u1, u3} C _inst_1 Z)) (CategoryTheory.Functor.comp.{u1, u2, u1, max u3 u1, max u4 u2, max u3 u1} (CategoryTheory.MonoOver.{u1, u3} C _inst_1 X) (CategoryTheory.instCategoryMonoOver.{u1, u3} C _inst_1 X) (CategoryTheory.MonoOver.{u2, u4} D _inst_2 Y) (CategoryTheory.instCategoryMonoOver.{u2, u4} D _inst_2 Y) (CategoryTheory.MonoOver.{u1, u3} C _inst_1 Z) (CategoryTheory.instCategoryMonoOver.{u1, u3} C _inst_1 Z) (CategoryTheory.MonoOver.lift.{u2, u1, u4, u3} D _inst_2 Y C _inst_1 X F h₁) (CategoryTheory.MonoOver.lift.{u1, u2, u3, u4} C _inst_1 Z D _inst_2 Y G h₂)) (CategoryTheory.MonoOver.lift.{u1, u1, u3, u3} C _inst_1 Z C _inst_1 X (CategoryTheory.Functor.comp.{u1, u2, u1, max u3 u1, max u4 u2, max u3 u1} (CategoryTheory.Over.{u1, u3} C _inst_1 X) (CategoryTheory.instCategoryOver.{u1, u3} C _inst_1 X) (CategoryTheory.Over.{u2, u4} D _inst_2 Y) (CategoryTheory.instCategoryOver.{u2, u4} D _inst_2 Y) (CategoryTheory.Over.{u1, u3} C _inst_1 Z) (CategoryTheory.instCategoryOver.{u1, u3} C _inst_1 Z) F G) (fun (f : CategoryTheory.MonoOver.{u1, u3} C _inst_1 X) => h₂ (CategoryTheory.FullSubcategory.mk.{max u4 u2} (CategoryTheory.Over.{u2, u4} D _inst_2 Y) (fun (f : CategoryTheory.Over.{u2, u4} D _inst_2 Y) => CategoryTheory.Mono.{u2, u4} D _inst_2 (Prefunctor.obj.{succ u2, succ u2, u4, u4} D (CategoryTheory.CategoryStruct.toQuiver.{u2, u4} D (CategoryTheory.Category.toCategoryStruct.{u2, u4} D _inst_2)) D (CategoryTheory.CategoryStruct.toQuiver.{u2, u4} D (CategoryTheory.Category.toCategoryStruct.{u2, u4} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u2, u2, u4, u4} D _inst_2 D _inst_2 (CategoryTheory.Functor.id.{u2, u4} D _inst_2)) (CategoryTheory.Comma.left.{u2, u2, u2, u4, u2, u4} D _inst_2 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) D _inst_2 (CategoryTheory.Functor.id.{u2, u4} D _inst_2) (CategoryTheory.Functor.fromPUnit.{u2, u4} D _inst_2 Y) f)) (Prefunctor.obj.{succ u2, succ u2, u2, u4} (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}))) D (CategoryTheory.CategoryStruct.toQuiver.{u2, u4} D (CategoryTheory.Category.toCategoryStruct.{u2, u4} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u2, u2, u2, u4} (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) D _inst_2 (CategoryTheory.Functor.fromPUnit.{u2, u4} D _inst_2 Y)) (CategoryTheory.Comma.right.{u2, u2, u2, u4, u2, u4} D _inst_2 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) D _inst_2 (CategoryTheory.Functor.id.{u2, u4} D _inst_2) (CategoryTheory.Functor.fromPUnit.{u2, u4} D _inst_2 Y) f)) (CategoryTheory.Comma.hom.{u2, u2, u2, u4, u2, u4} D _inst_2 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) D _inst_2 (CategoryTheory.Functor.id.{u2, u4} D _inst_2) (CategoryTheory.Functor.fromPUnit.{u2, u4} D _inst_2 Y) f)) (Prefunctor.obj.{succ u1, succ u2, max u3 u1, max u4 u2} (CategoryTheory.Over.{u1, u3} C _inst_1 X) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u3 u1} (CategoryTheory.Over.{u1, u3} C _inst_1 X) (CategoryTheory.Category.toCategoryStruct.{u1, max u3 u1} (CategoryTheory.Over.{u1, u3} C _inst_1 X) (CategoryTheory.instCategoryOver.{u1, u3} C _inst_1 X))) (CategoryTheory.Over.{u2, u4} D _inst_2 Y) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u4 u2} (CategoryTheory.Over.{u2, u4} D _inst_2 Y) (CategoryTheory.Category.toCategoryStruct.{u2, max u4 u2} (CategoryTheory.Over.{u2, u4} D _inst_2 Y) (CategoryTheory.instCategoryOver.{u2, u4} D _inst_2 Y))) (CategoryTheory.Functor.toPrefunctor.{u1, u2, max u3 u1, max u4 u2} (CategoryTheory.Over.{u1, u3} C _inst_1 X) (CategoryTheory.instCategoryOver.{u1, u3} C _inst_1 X) (CategoryTheory.Over.{u2, u4} D _inst_2 Y) (CategoryTheory.instCategoryOver.{u2, u4} D _inst_2 Y) F) (Prefunctor.obj.{succ u1, succ u1, max u3 u1, max u3 u1} (CategoryTheory.MonoOver.{u1, u3} C _inst_1 X) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u3 u1} (CategoryTheory.MonoOver.{u1, u3} C _inst_1 X) (CategoryTheory.Category.toCategoryStruct.{u1, max u3 u1} (CategoryTheory.MonoOver.{u1, u3} C _inst_1 X) (CategoryTheory.instCategoryMonoOver.{u1, u3} C _inst_1 X))) (CategoryTheory.Over.{u1, u3} C _inst_1 X) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u3 u1} (CategoryTheory.Over.{u1, u3} C _inst_1 X) (CategoryTheory.Category.toCategoryStruct.{u1, max u3 u1} (CategoryTheory.Over.{u1, u3} C _inst_1 X) (CategoryTheory.instCategoryOver.{u1, u3} C _inst_1 X))) (CategoryTheory.Functor.toPrefunctor.{u1, u1, max u3 u1, max u3 u1} (CategoryTheory.MonoOver.{u1, u3} C _inst_1 X) (CategoryTheory.instCategoryMonoOver.{u1, u3} C _inst_1 X) (CategoryTheory.Over.{u1, u3} C _inst_1 X) (CategoryTheory.instCategoryOver.{u1, u3} C _inst_1 X) (CategoryTheory.MonoOver.forget.{u1, u3} C _inst_1 X)) f)) (h₁ f))))
+<too large>
 Case conversion may be inaccurate. Consider using '#align category_theory.mono_over.lift_comp CategoryTheory.MonoOver.liftCompₓ'. -/
 /-- `mono_over.lift` commutes with composition of functors. -/
 def liftComp {X Z : C} {Y : D} (F : Over X ⥤ Over Y) (G : Over Y ⥤ Over Z) (h₁ h₂) :
@@ -256,10 +241,7 @@ def liftId : (lift (𝟭 (Over X)) fun f => f.2) ≅ 𝟭 _ :=
 -/
 
 /- warning: category_theory.mono_over.lift_comm -> CategoryTheory.MonoOver.lift_comm is a dubious translation:
-lean 3 declaration is
-  forall {C : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} C] {X : C} {Y : C} (F : CategoryTheory.Functor.{u1, u1, max u2 u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 Y) (CategoryTheory.Over.category.{u2, u1} C _inst_1 Y) (CategoryTheory.Over.{u1, u2} C _inst_1 X) (CategoryTheory.Over.category.{u2, u1} C _inst_1 X)) (h : forall (f : CategoryTheory.MonoOver.{u1, u2} C _inst_1 Y), CategoryTheory.Mono.{u1, u2} C _inst_1 (CategoryTheory.Functor.obj.{u1, u1, u2, u2} C _inst_1 C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 X) (CategoryTheory.Functor.obj.{u1, u1, max u2 u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 Y) (CategoryTheory.Over.category.{u2, u1} C _inst_1 Y) (CategoryTheory.Over.{u1, u2} C _inst_1 X) (CategoryTheory.Over.category.{u2, u1} C _inst_1 X) F (CategoryTheory.Functor.obj.{u1, u1, max u2 u1, max u2 u1} (CategoryTheory.MonoOver.{u1, u2} C _inst_1 Y) (CategoryTheory.InducedCategory.category.{u1, max u2 u1, max u2 u1} (CategoryTheory.FullSubcategoryₓ.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 Y) (CategoryTheory.Over.category.{u2, u1} C _inst_1 Y) (fun (f : CategoryTheory.Over.{u1, u2} C _inst_1 Y) => CategoryTheory.Mono.{u1, u2} C _inst_1 (CategoryTheory.Functor.obj.{u1, u1, u2, u2} C _inst_1 C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 Y) f)) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 Y) (CategoryTheory.Comma.right.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 Y) f)) (CategoryTheory.Comma.hom.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 Y) f))) (CategoryTheory.Over.{u1, u2} C _inst_1 Y) (CategoryTheory.Over.category.{u2, u1} C _inst_1 Y) (CategoryTheory.FullSubcategoryₓ.obj.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 Y) (CategoryTheory.Over.category.{u2, u1} C _inst_1 Y) (fun (f : CategoryTheory.Over.{u1, u2} C _inst_1 Y) => CategoryTheory.Mono.{u1, u2} C _inst_1 (CategoryTheory.Functor.obj.{u1, u1, u2, u2} C _inst_1 C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 Y) f)) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 Y) (CategoryTheory.Comma.right.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 Y) f)) (CategoryTheory.Comma.hom.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 Y) f)))) (CategoryTheory.Over.{u1, u2} C _inst_1 Y) (CategoryTheory.Over.category.{u2, u1} C _inst_1 Y) (CategoryTheory.MonoOver.forget.{u1, u2} C _inst_1 Y) f)))) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 X) (CategoryTheory.Comma.right.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 X) (CategoryTheory.Functor.obj.{u1, u1, max u2 u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 Y) (CategoryTheory.Over.category.{u2, u1} C _inst_1 Y) (CategoryTheory.Over.{u1, u2} C _inst_1 X) (CategoryTheory.Over.category.{u2, u1} C _inst_1 X) F (CategoryTheory.Functor.obj.{u1, u1, max u2 u1, max u2 u1} (CategoryTheory.MonoOver.{u1, u2} C _inst_1 Y) (CategoryTheory.InducedCategory.category.{u1, max u2 u1, max u2 u1} (CategoryTheory.FullSubcategoryₓ.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 Y) (CategoryTheory.Over.category.{u2, u1} C _inst_1 Y) (fun (f : CategoryTheory.Over.{u1, u2} C _inst_1 Y) => CategoryTheory.Mono.{u1, u2} C _inst_1 (CategoryTheory.Functor.obj.{u1, u1, u2, u2} C _inst_1 C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 Y) f)) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 Y) (CategoryTheory.Comma.right.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 Y) f)) (CategoryTheory.Comma.hom.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 Y) f))) (CategoryTheory.Over.{u1, u2} C _inst_1 Y) (CategoryTheory.Over.category.{u2, u1} C _inst_1 Y) (CategoryTheory.FullSubcategoryₓ.obj.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 Y) (CategoryTheory.Over.category.{u2, u1} C _inst_1 Y) (fun (f : CategoryTheory.Over.{u1, u2} C _inst_1 Y) => CategoryTheory.Mono.{u1, u2} C _inst_1 (CategoryTheory.Functor.obj.{u1, u1, u2, u2} C _inst_1 C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 Y) f)) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 Y) (CategoryTheory.Comma.right.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 Y) f)) (CategoryTheory.Comma.hom.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 Y) f)))) (CategoryTheory.Over.{u1, u2} C _inst_1 Y) (CategoryTheory.Over.category.{u2, u1} C _inst_1 Y) (CategoryTheory.MonoOver.forget.{u1, u2} C _inst_1 Y) f)))) (CategoryTheory.Comma.hom.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 X) (CategoryTheory.Functor.obj.{u1, u1, max u2 u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 Y) (CategoryTheory.Over.category.{u2, u1} C _inst_1 Y) (CategoryTheory.Over.{u1, u2} C _inst_1 X) (CategoryTheory.Over.category.{u2, u1} C _inst_1 X) F (CategoryTheory.Functor.obj.{u1, u1, max u2 u1, max u2 u1} (CategoryTheory.MonoOver.{u1, u2} C _inst_1 Y) (CategoryTheory.InducedCategory.category.{u1, max u2 u1, max u2 u1} (CategoryTheory.FullSubcategoryₓ.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 Y) (CategoryTheory.Over.category.{u2, u1} C _inst_1 Y) (fun (f : CategoryTheory.Over.{u1, u2} C _inst_1 Y) => CategoryTheory.Mono.{u1, u2} C _inst_1 (CategoryTheory.Functor.obj.{u1, u1, u2, u2} C _inst_1 C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 Y) f)) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 Y) (CategoryTheory.Comma.right.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 Y) f)) (CategoryTheory.Comma.hom.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 Y) f))) (CategoryTheory.Over.{u1, u2} C _inst_1 Y) (CategoryTheory.Over.category.{u2, u1} C _inst_1 Y) (CategoryTheory.FullSubcategoryₓ.obj.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 Y) (CategoryTheory.Over.category.{u2, u1} C _inst_1 Y) (fun (f : CategoryTheory.Over.{u1, u2} C _inst_1 Y) => CategoryTheory.Mono.{u1, u2} C _inst_1 (CategoryTheory.Functor.obj.{u1, u1, u2, u2} C _inst_1 C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 Y) f)) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 Y) (CategoryTheory.Comma.right.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 Y) f)) (CategoryTheory.Comma.hom.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 Y) f)))) (CategoryTheory.Over.{u1, u2} C _inst_1 Y) (CategoryTheory.Over.category.{u2, u1} C _inst_1 Y) (CategoryTheory.MonoOver.forget.{u1, u2} C _inst_1 Y) f)))), Eq.{succ (max u2 u1)} (CategoryTheory.Functor.{u1, u1, max u2 u1, max u2 u1} (CategoryTheory.MonoOver.{u1, u2} C _inst_1 Y) (CategoryTheory.MonoOver.category.{u2, u1} C _inst_1 Y) (CategoryTheory.Over.{u1, u2} C _inst_1 X) (CategoryTheory.Over.category.{u2, u1} C _inst_1 X)) (CategoryTheory.Functor.comp.{u1, u1, u1, max u2 u1, max u2 u1, max u2 u1} (CategoryTheory.MonoOver.{u1, u2} C _inst_1 Y) (CategoryTheory.MonoOver.category.{u2, u1} C _inst_1 Y) (CategoryTheory.MonoOver.{u1, u2} C _inst_1 X) (CategoryTheory.MonoOver.category.{u2, u1} C _inst_1 X) (CategoryTheory.Over.{u1, u2} C _inst_1 X) (CategoryTheory.Over.category.{u2, u1} C _inst_1 X) (CategoryTheory.MonoOver.lift.{u1, u1, u2, u2} C _inst_1 X C _inst_1 Y F h) (CategoryTheory.MonoOver.forget.{u1, u2} C _inst_1 X)) (CategoryTheory.Functor.comp.{u1, u1, u1, max u2 u1, max u2 u1, max u2 u1} (CategoryTheory.MonoOver.{u1, u2} C _inst_1 Y) (CategoryTheory.MonoOver.category.{u2, u1} C _inst_1 Y) (CategoryTheory.Over.{u1, u2} C _inst_1 Y) (CategoryTheory.Over.category.{u2, u1} C _inst_1 Y) (CategoryTheory.Over.{u1, u2} C _inst_1 X) (CategoryTheory.Over.category.{u2, u1} C _inst_1 X) (CategoryTheory.MonoOver.forget.{u1, u2} C _inst_1 Y) F)
-but is expected to have type
-  forall {C : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} C] {X : C} {Y : C} (F : CategoryTheory.Functor.{u1, u1, max u2 u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 Y) (CategoryTheory.instCategoryOver.{u1, u2} C _inst_1 Y) (CategoryTheory.Over.{u1, u2} C _inst_1 X) (CategoryTheory.instCategoryOver.{u1, u2} C _inst_1 X)) (h : forall (f : CategoryTheory.MonoOver.{u1, u2} C _inst_1 Y), CategoryTheory.Mono.{u1, u2} C _inst_1 (Prefunctor.obj.{succ u1, succ u1, u2, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u2, u2} C _inst_1 C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1)) (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 X) (Prefunctor.obj.{succ u1, succ u1, max u2 u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 Y) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 Y) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 Y) (CategoryTheory.instCategoryOver.{u1, u2} C _inst_1 Y))) (CategoryTheory.Over.{u1, u2} C _inst_1 X) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 X) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 X) (CategoryTheory.instCategoryOver.{u1, u2} C _inst_1 X))) (CategoryTheory.Functor.toPrefunctor.{u1, u1, max u2 u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 Y) (CategoryTheory.instCategoryOver.{u1, u2} C _inst_1 Y) (CategoryTheory.Over.{u1, u2} C _inst_1 X) (CategoryTheory.instCategoryOver.{u1, u2} C _inst_1 X) F) (Prefunctor.obj.{succ u1, succ u1, max u2 u1, max u2 u1} (CategoryTheory.MonoOver.{u1, u2} C _inst_1 Y) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u2 u1} (CategoryTheory.MonoOver.{u1, u2} C _inst_1 Y) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 u1} (CategoryTheory.MonoOver.{u1, u2} C _inst_1 Y) (CategoryTheory.instCategoryMonoOver.{u1, u2} C _inst_1 Y))) (CategoryTheory.Over.{u1, u2} C _inst_1 Y) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 Y) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 Y) (CategoryTheory.instCategoryOver.{u1, u2} C _inst_1 Y))) (CategoryTheory.Functor.toPrefunctor.{u1, u1, max u2 u1, max u2 u1} (CategoryTheory.MonoOver.{u1, u2} C _inst_1 Y) (CategoryTheory.instCategoryMonoOver.{u1, u2} C _inst_1 Y) (CategoryTheory.Over.{u1, u2} C _inst_1 Y) (CategoryTheory.instCategoryOver.{u1, u2} C _inst_1 Y) (CategoryTheory.MonoOver.forget.{u1, u2} C _inst_1 Y)) f)))) (Prefunctor.obj.{succ u1, succ u1, u1, u2} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.Category.toCategoryStruct.{u1, u1} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}))) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u2} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 X)) (CategoryTheory.Comma.right.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 X) (Prefunctor.obj.{succ u1, succ u1, max u2 u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 Y) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 Y) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 Y) (CategoryTheory.instCategoryOver.{u1, u2} C _inst_1 Y))) (CategoryTheory.Over.{u1, u2} C _inst_1 X) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 X) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 X) (CategoryTheory.instCategoryOver.{u1, u2} C _inst_1 X))) (CategoryTheory.Functor.toPrefunctor.{u1, u1, max u2 u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 Y) (CategoryTheory.instCategoryOver.{u1, u2} C _inst_1 Y) (CategoryTheory.Over.{u1, u2} C _inst_1 X) (CategoryTheory.instCategoryOver.{u1, u2} C _inst_1 X) F) (Prefunctor.obj.{succ u1, succ u1, max u2 u1, max u2 u1} (CategoryTheory.MonoOver.{u1, u2} C _inst_1 Y) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u2 u1} (CategoryTheory.MonoOver.{u1, u2} C _inst_1 Y) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 u1} (CategoryTheory.MonoOver.{u1, u2} C _inst_1 Y) (CategoryTheory.instCategoryMonoOver.{u1, u2} C _inst_1 Y))) (CategoryTheory.Over.{u1, u2} C _inst_1 Y) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 Y) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 Y) (CategoryTheory.instCategoryOver.{u1, u2} C _inst_1 Y))) (CategoryTheory.Functor.toPrefunctor.{u1, u1, max u2 u1, max u2 u1} (CategoryTheory.MonoOver.{u1, u2} C _inst_1 Y) (CategoryTheory.instCategoryMonoOver.{u1, u2} C _inst_1 Y) (CategoryTheory.Over.{u1, u2} C _inst_1 Y) (CategoryTheory.instCategoryOver.{u1, u2} C _inst_1 Y) (CategoryTheory.MonoOver.forget.{u1, u2} C _inst_1 Y)) f)))) (CategoryTheory.Comma.hom.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 X) (Prefunctor.obj.{succ u1, succ u1, max u2 u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 Y) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 Y) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 Y) (CategoryTheory.instCategoryOver.{u1, u2} C _inst_1 Y))) (CategoryTheory.Over.{u1, u2} C _inst_1 X) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 X) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 X) (CategoryTheory.instCategoryOver.{u1, u2} C _inst_1 X))) (CategoryTheory.Functor.toPrefunctor.{u1, u1, max u2 u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 Y) (CategoryTheory.instCategoryOver.{u1, u2} C _inst_1 Y) (CategoryTheory.Over.{u1, u2} C _inst_1 X) (CategoryTheory.instCategoryOver.{u1, u2} C _inst_1 X) F) (Prefunctor.obj.{succ u1, succ u1, max u2 u1, max u2 u1} (CategoryTheory.MonoOver.{u1, u2} C _inst_1 Y) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u2 u1} (CategoryTheory.MonoOver.{u1, u2} C _inst_1 Y) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 u1} (CategoryTheory.MonoOver.{u1, u2} C _inst_1 Y) (CategoryTheory.instCategoryMonoOver.{u1, u2} C _inst_1 Y))) (CategoryTheory.Over.{u1, u2} C _inst_1 Y) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 Y) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 Y) (CategoryTheory.instCategoryOver.{u1, u2} C _inst_1 Y))) (CategoryTheory.Functor.toPrefunctor.{u1, u1, max u2 u1, max u2 u1} (CategoryTheory.MonoOver.{u1, u2} C _inst_1 Y) (CategoryTheory.instCategoryMonoOver.{u1, u2} C _inst_1 Y) (CategoryTheory.Over.{u1, u2} C _inst_1 Y) (CategoryTheory.instCategoryOver.{u1, u2} C _inst_1 Y) (CategoryTheory.MonoOver.forget.{u1, u2} C _inst_1 Y)) f)))), Eq.{max (succ u2) (succ u1)} (CategoryTheory.Functor.{u1, u1, max u2 u1, max u2 u1} (CategoryTheory.MonoOver.{u1, u2} C _inst_1 Y) (CategoryTheory.instCategoryMonoOver.{u1, u2} C _inst_1 Y) (CategoryTheory.Over.{u1, u2} C _inst_1 X) (CategoryTheory.instCategoryOver.{u1, u2} C _inst_1 X)) (CategoryTheory.Functor.comp.{u1, u1, u1, max u2 u1, max u2 u1, max u2 u1} (CategoryTheory.MonoOver.{u1, u2} C _inst_1 Y) (CategoryTheory.instCategoryMonoOver.{u1, u2} C _inst_1 Y) (CategoryTheory.MonoOver.{u1, u2} C _inst_1 X) (CategoryTheory.instCategoryMonoOver.{u1, u2} C _inst_1 X) (CategoryTheory.Over.{u1, u2} C _inst_1 X) (CategoryTheory.instCategoryOver.{u1, u2} C _inst_1 X) (CategoryTheory.MonoOver.lift.{u1, u1, u2, u2} C _inst_1 X C _inst_1 Y F h) (CategoryTheory.MonoOver.forget.{u1, u2} C _inst_1 X)) (CategoryTheory.Functor.comp.{u1, u1, u1, max u2 u1, max u2 u1, max u2 u1} (CategoryTheory.MonoOver.{u1, u2} C _inst_1 Y) (CategoryTheory.instCategoryMonoOver.{u1, u2} C _inst_1 Y) (CategoryTheory.Over.{u1, u2} C _inst_1 Y) (CategoryTheory.instCategoryOver.{u1, u2} C _inst_1 Y) (CategoryTheory.Over.{u1, u2} C _inst_1 X) (CategoryTheory.instCategoryOver.{u1, u2} C _inst_1 X) (CategoryTheory.MonoOver.forget.{u1, u2} C _inst_1 Y) F)
+<too large>
 Case conversion may be inaccurate. Consider using '#align category_theory.mono_over.lift_comm CategoryTheory.MonoOver.lift_commₓ'. -/
 @[simp]
 theorem lift_comm (F : Over Y ⥤ Over X)
@@ -269,10 +251,7 @@ theorem lift_comm (F : Over Y ⥤ Over X)
 #align category_theory.mono_over.lift_comm CategoryTheory.MonoOver.lift_comm
 
 /- warning: category_theory.mono_over.lift_obj_arrow -> CategoryTheory.MonoOver.lift_obj_arrow is a dubious translation:
-lean 3 declaration is
-  forall {C : Type.{u3}} [_inst_1 : CategoryTheory.Category.{u1, u3} C] {X : C} {D : Type.{u4}} [_inst_2 : CategoryTheory.Category.{u2, u4} D] {Y : D} (F : CategoryTheory.Functor.{u2, u1, max u4 u2, max u3 u1} (CategoryTheory.Over.{u2, u4} D _inst_2 Y) (CategoryTheory.Over.category.{u4, u2} D _inst_2 Y) (CategoryTheory.Over.{u1, u3} C _inst_1 X) (CategoryTheory.Over.category.{u3, u1} C _inst_1 X)) (h : forall (f : CategoryTheory.MonoOver.{u2, u4} D _inst_2 Y), CategoryTheory.Mono.{u1, u3} C _inst_1 (CategoryTheory.Functor.obj.{u1, u1, u3, u3} C _inst_1 C _inst_1 (CategoryTheory.Functor.id.{u1, u3} C _inst_1) (CategoryTheory.Comma.left.{u1, u1, u1, u3, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u3} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u3} C _inst_1 X) (CategoryTheory.Functor.obj.{u2, u1, max u4 u2, max u3 u1} (CategoryTheory.Over.{u2, u4} D _inst_2 Y) (CategoryTheory.Over.category.{u4, u2} D _inst_2 Y) (CategoryTheory.Over.{u1, u3} C _inst_1 X) (CategoryTheory.Over.category.{u3, u1} C _inst_1 X) F (CategoryTheory.Functor.obj.{u2, u2, max u4 u2, max u4 u2} (CategoryTheory.MonoOver.{u2, u4} D _inst_2 Y) (CategoryTheory.InducedCategory.category.{u2, max u4 u2, max u4 u2} (CategoryTheory.FullSubcategoryₓ.{u2, max u4 u2} (CategoryTheory.Over.{u2, u4} D _inst_2 Y) (CategoryTheory.Over.category.{u4, u2} D _inst_2 Y) (fun (f : CategoryTheory.Over.{u2, u4} D _inst_2 Y) => CategoryTheory.Mono.{u2, u4} D _inst_2 (CategoryTheory.Functor.obj.{u2, u2, u4, u4} D _inst_2 D _inst_2 (CategoryTheory.Functor.id.{u2, u4} D _inst_2) (CategoryTheory.Comma.left.{u2, u2, u2, u4, u2, u4} D _inst_2 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) D _inst_2 (CategoryTheory.Functor.id.{u2, u4} D _inst_2) (CategoryTheory.Functor.fromPUnit.{u2, u4} D _inst_2 Y) f)) (CategoryTheory.Functor.obj.{u2, u2, u2, u4} (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) D _inst_2 (CategoryTheory.Functor.fromPUnit.{u2, u4} D _inst_2 Y) (CategoryTheory.Comma.right.{u2, u2, u2, u4, u2, u4} D _inst_2 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) D _inst_2 (CategoryTheory.Functor.id.{u2, u4} D _inst_2) (CategoryTheory.Functor.fromPUnit.{u2, u4} D _inst_2 Y) f)) (CategoryTheory.Comma.hom.{u2, u2, u2, u4, u2, u4} D _inst_2 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) D _inst_2 (CategoryTheory.Functor.id.{u2, u4} D _inst_2) (CategoryTheory.Functor.fromPUnit.{u2, u4} D _inst_2 Y) f))) (CategoryTheory.Over.{u2, u4} D _inst_2 Y) (CategoryTheory.Over.category.{u4, u2} D _inst_2 Y) (CategoryTheory.FullSubcategoryₓ.obj.{u2, max u4 u2} (CategoryTheory.Over.{u2, u4} D _inst_2 Y) (CategoryTheory.Over.category.{u4, u2} D _inst_2 Y) (fun (f : CategoryTheory.Over.{u2, u4} D _inst_2 Y) => CategoryTheory.Mono.{u2, u4} D _inst_2 (CategoryTheory.Functor.obj.{u2, u2, u4, u4} D _inst_2 D _inst_2 (CategoryTheory.Functor.id.{u2, u4} D _inst_2) (CategoryTheory.Comma.left.{u2, u2, u2, u4, u2, u4} D _inst_2 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) D _inst_2 (CategoryTheory.Functor.id.{u2, u4} D _inst_2) (CategoryTheory.Functor.fromPUnit.{u2, u4} D _inst_2 Y) f)) (CategoryTheory.Functor.obj.{u2, u2, u2, u4} (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) D _inst_2 (CategoryTheory.Functor.fromPUnit.{u2, u4} D _inst_2 Y) (CategoryTheory.Comma.right.{u2, u2, u2, u4, u2, u4} D _inst_2 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) D _inst_2 (CategoryTheory.Functor.id.{u2, u4} D _inst_2) (CategoryTheory.Functor.fromPUnit.{u2, u4} D _inst_2 Y) f)) (CategoryTheory.Comma.hom.{u2, u2, u2, u4, u2, u4} D _inst_2 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) D _inst_2 (CategoryTheory.Functor.id.{u2, u4} D _inst_2) (CategoryTheory.Functor.fromPUnit.{u2, u4} D _inst_2 Y) f)))) (CategoryTheory.Over.{u2, u4} D _inst_2 Y) (CategoryTheory.Over.category.{u4, u2} D _inst_2 Y) (CategoryTheory.MonoOver.forget.{u2, u4} D _inst_2 Y) f)))) (CategoryTheory.Functor.obj.{u1, u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.fromPUnit.{u1, u3} C _inst_1 X) (CategoryTheory.Comma.right.{u1, u1, u1, u3, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u3} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u3} C _inst_1 X) (CategoryTheory.Functor.obj.{u2, u1, max u4 u2, max u3 u1} (CategoryTheory.Over.{u2, u4} D _inst_2 Y) (CategoryTheory.Over.category.{u4, u2} D _inst_2 Y) (CategoryTheory.Over.{u1, u3} C _inst_1 X) (CategoryTheory.Over.category.{u3, u1} C _inst_1 X) F (CategoryTheory.Functor.obj.{u2, u2, max u4 u2, max u4 u2} (CategoryTheory.MonoOver.{u2, u4} D _inst_2 Y) (CategoryTheory.InducedCategory.category.{u2, max u4 u2, max u4 u2} (CategoryTheory.FullSubcategoryₓ.{u2, max u4 u2} (CategoryTheory.Over.{u2, u4} D _inst_2 Y) (CategoryTheory.Over.category.{u4, u2} D _inst_2 Y) (fun (f : CategoryTheory.Over.{u2, u4} D _inst_2 Y) => CategoryTheory.Mono.{u2, u4} D _inst_2 (CategoryTheory.Functor.obj.{u2, u2, u4, u4} D _inst_2 D _inst_2 (CategoryTheory.Functor.id.{u2, u4} D _inst_2) (CategoryTheory.Comma.left.{u2, u2, u2, u4, u2, u4} D _inst_2 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) D _inst_2 (CategoryTheory.Functor.id.{u2, u4} D _inst_2) (CategoryTheory.Functor.fromPUnit.{u2, u4} D _inst_2 Y) f)) (CategoryTheory.Functor.obj.{u2, u2, u2, u4} (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) D _inst_2 (CategoryTheory.Functor.fromPUnit.{u2, u4} D _inst_2 Y) (CategoryTheory.Comma.right.{u2, u2, u2, u4, u2, u4} D _inst_2 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) D _inst_2 (CategoryTheory.Functor.id.{u2, u4} D _inst_2) (CategoryTheory.Functor.fromPUnit.{u2, u4} D _inst_2 Y) f)) (CategoryTheory.Comma.hom.{u2, u2, u2, u4, u2, u4} D _inst_2 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) D _inst_2 (CategoryTheory.Functor.id.{u2, u4} D _inst_2) (CategoryTheory.Functor.fromPUnit.{u2, u4} D _inst_2 Y) f))) (CategoryTheory.Over.{u2, u4} D _inst_2 Y) (CategoryTheory.Over.category.{u4, u2} D _inst_2 Y) (CategoryTheory.FullSubcategoryₓ.obj.{u2, max u4 u2} (CategoryTheory.Over.{u2, u4} D _inst_2 Y) (CategoryTheory.Over.category.{u4, u2} D _inst_2 Y) (fun (f : CategoryTheory.Over.{u2, u4} D _inst_2 Y) => CategoryTheory.Mono.{u2, u4} D _inst_2 (CategoryTheory.Functor.obj.{u2, u2, u4, u4} D _inst_2 D _inst_2 (CategoryTheory.Functor.id.{u2, u4} D _inst_2) (CategoryTheory.Comma.left.{u2, u2, u2, u4, u2, u4} D _inst_2 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) D _inst_2 (CategoryTheory.Functor.id.{u2, u4} D _inst_2) (CategoryTheory.Functor.fromPUnit.{u2, u4} D _inst_2 Y) f)) (CategoryTheory.Functor.obj.{u2, u2, u2, u4} (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) D _inst_2 (CategoryTheory.Functor.fromPUnit.{u2, u4} D _inst_2 Y) (CategoryTheory.Comma.right.{u2, u2, u2, u4, u2, u4} D _inst_2 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) D _inst_2 (CategoryTheory.Functor.id.{u2, u4} D _inst_2) (CategoryTheory.Functor.fromPUnit.{u2, u4} D _inst_2 Y) f)) (CategoryTheory.Comma.hom.{u2, u2, u2, u4, u2, u4} D _inst_2 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) D _inst_2 (CategoryTheory.Functor.id.{u2, u4} D _inst_2) (CategoryTheory.Functor.fromPUnit.{u2, u4} D _inst_2 Y) f)))) (CategoryTheory.Over.{u2, u4} D _inst_2 Y) (CategoryTheory.Over.category.{u4, u2} D _inst_2 Y) (CategoryTheory.MonoOver.forget.{u2, u4} D _inst_2 Y) f)))) (CategoryTheory.Comma.hom.{u1, u1, u1, u3, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u3} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u3} C _inst_1 X) (CategoryTheory.Functor.obj.{u2, u1, max u4 u2, max u3 u1} (CategoryTheory.Over.{u2, u4} D _inst_2 Y) (CategoryTheory.Over.category.{u4, u2} D _inst_2 Y) (CategoryTheory.Over.{u1, u3} C _inst_1 X) (CategoryTheory.Over.category.{u3, u1} C _inst_1 X) F (CategoryTheory.Functor.obj.{u2, u2, max u4 u2, max u4 u2} (CategoryTheory.MonoOver.{u2, u4} D _inst_2 Y) (CategoryTheory.InducedCategory.category.{u2, max u4 u2, max u4 u2} (CategoryTheory.FullSubcategoryₓ.{u2, max u4 u2} (CategoryTheory.Over.{u2, u4} D _inst_2 Y) (CategoryTheory.Over.category.{u4, u2} D _inst_2 Y) (fun (f : CategoryTheory.Over.{u2, u4} D _inst_2 Y) => CategoryTheory.Mono.{u2, u4} D _inst_2 (CategoryTheory.Functor.obj.{u2, u2, u4, u4} D _inst_2 D _inst_2 (CategoryTheory.Functor.id.{u2, u4} D _inst_2) (CategoryTheory.Comma.left.{u2, u2, u2, u4, u2, u4} D _inst_2 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) D _inst_2 (CategoryTheory.Functor.id.{u2, u4} D _inst_2) (CategoryTheory.Functor.fromPUnit.{u2, u4} D _inst_2 Y) f)) (CategoryTheory.Functor.obj.{u2, u2, u2, u4} (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) D _inst_2 (CategoryTheory.Functor.fromPUnit.{u2, u4} D _inst_2 Y) (CategoryTheory.Comma.right.{u2, u2, u2, u4, u2, u4} D _inst_2 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) D _inst_2 (CategoryTheory.Functor.id.{u2, u4} D _inst_2) (CategoryTheory.Functor.fromPUnit.{u2, u4} D _inst_2 Y) f)) (CategoryTheory.Comma.hom.{u2, u2, u2, u4, u2, u4} D _inst_2 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) D _inst_2 (CategoryTheory.Functor.id.{u2, u4} D _inst_2) (CategoryTheory.Functor.fromPUnit.{u2, u4} D _inst_2 Y) f))) (CategoryTheory.Over.{u2, u4} D _inst_2 Y) (CategoryTheory.Over.category.{u4, u2} D _inst_2 Y) (CategoryTheory.FullSubcategoryₓ.obj.{u2, max u4 u2} (CategoryTheory.Over.{u2, u4} D _inst_2 Y) (CategoryTheory.Over.category.{u4, u2} D _inst_2 Y) (fun (f : CategoryTheory.Over.{u2, u4} D _inst_2 Y) => CategoryTheory.Mono.{u2, u4} D _inst_2 (CategoryTheory.Functor.obj.{u2, u2, u4, u4} D _inst_2 D _inst_2 (CategoryTheory.Functor.id.{u2, u4} D _inst_2) (CategoryTheory.Comma.left.{u2, u2, u2, u4, u2, u4} D _inst_2 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) D _inst_2 (CategoryTheory.Functor.id.{u2, u4} D _inst_2) (CategoryTheory.Functor.fromPUnit.{u2, u4} D _inst_2 Y) f)) (CategoryTheory.Functor.obj.{u2, u2, u2, u4} (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) D _inst_2 (CategoryTheory.Functor.fromPUnit.{u2, u4} D _inst_2 Y) (CategoryTheory.Comma.right.{u2, u2, u2, u4, u2, u4} D _inst_2 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) D _inst_2 (CategoryTheory.Functor.id.{u2, u4} D _inst_2) (CategoryTheory.Functor.fromPUnit.{u2, u4} D _inst_2 Y) f)) (CategoryTheory.Comma.hom.{u2, u2, u2, u4, u2, u4} D _inst_2 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) D _inst_2 (CategoryTheory.Functor.id.{u2, u4} D _inst_2) (CategoryTheory.Functor.fromPUnit.{u2, u4} D _inst_2 Y) f)))) (CategoryTheory.Over.{u2, u4} D _inst_2 Y) (CategoryTheory.Over.category.{u4, u2} D _inst_2 Y) (CategoryTheory.MonoOver.forget.{u2, u4} D _inst_2 Y) f)))) (f : CategoryTheory.MonoOver.{u2, u4} D _inst_2 Y), Eq.{succ u1} (Quiver.Hom.{succ u1, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} C (CategoryTheory.Category.toCategoryStruct.{u1, u3} C _inst_1)) ((fun (a : Type.{max u3 u1}) (b : Type.{u3}) [self : HasLiftT.{succ (max u3 u1), succ u3} a b] => self.0) (CategoryTheory.MonoOver.{u1, u3} C _inst_1 X) C (HasLiftT.mk.{succ (max u3 u1), succ u3} (CategoryTheory.MonoOver.{u1, u3} C _inst_1 X) C (CoeTCₓ.coe.{succ (max u3 u1), succ u3} (CategoryTheory.MonoOver.{u1, u3} C _inst_1 X) C (coeBase.{succ (max u3 u1), succ u3} (CategoryTheory.MonoOver.{u1, u3} C _inst_1 X) C (CategoryTheory.MonoOver.hasCoe.{u1, u3} C _inst_1 X)))) (CategoryTheory.Functor.obj.{u2, u1, max u4 u2, max u3 u1} (CategoryTheory.MonoOver.{u2, u4} D _inst_2 Y) (CategoryTheory.MonoOver.category.{u4, u2} D _inst_2 Y) (CategoryTheory.MonoOver.{u1, u3} C _inst_1 X) (CategoryTheory.MonoOver.category.{u3, u1} C _inst_1 X) (CategoryTheory.MonoOver.lift.{u1, u2, u3, u4} C _inst_1 X D _inst_2 Y F h) f)) X) (CategoryTheory.MonoOver.arrow.{u1, u3} C _inst_1 X (CategoryTheory.Functor.obj.{u2, u1, max u4 u2, max u3 u1} (CategoryTheory.MonoOver.{u2, u4} D _inst_2 Y) (CategoryTheory.MonoOver.category.{u4, u2} D _inst_2 Y) (CategoryTheory.MonoOver.{u1, u3} C _inst_1 X) (CategoryTheory.MonoOver.category.{u3, u1} C _inst_1 X) (CategoryTheory.MonoOver.lift.{u1, u2, u3, u4} C _inst_1 X D _inst_2 Y F h) f)) (CategoryTheory.Comma.hom.{u1, u1, u1, u3, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u3} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u3} C _inst_1 X) (CategoryTheory.Functor.obj.{u2, u1, max u4 u2, max u3 u1} (CategoryTheory.Over.{u2, u4} D _inst_2 Y) (CategoryTheory.Over.category.{u4, u2} D _inst_2 Y) (CategoryTheory.Over.{u1, u3} C _inst_1 X) (CategoryTheory.Over.category.{u3, u1} C _inst_1 X) F (CategoryTheory.Functor.obj.{u2, u2, max u4 u2, max u4 u2} (CategoryTheory.MonoOver.{u2, u4} D _inst_2 Y) (CategoryTheory.InducedCategory.category.{u2, max u4 u2, max u4 u2} (CategoryTheory.FullSubcategoryₓ.{u2, max u4 u2} (CategoryTheory.Over.{u2, u4} D _inst_2 Y) (CategoryTheory.Over.category.{u4, u2} D _inst_2 Y) (fun (f : CategoryTheory.Over.{u2, u4} D _inst_2 Y) => CategoryTheory.Mono.{u2, u4} D _inst_2 (CategoryTheory.Functor.obj.{u2, u2, u4, u4} D _inst_2 D _inst_2 (CategoryTheory.Functor.id.{u2, u4} D _inst_2) (CategoryTheory.Comma.left.{u2, u2, u2, u4, u2, u4} D _inst_2 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) D _inst_2 (CategoryTheory.Functor.id.{u2, u4} D _inst_2) (CategoryTheory.Functor.fromPUnit.{u2, u4} D _inst_2 Y) f)) (CategoryTheory.Functor.obj.{u2, u2, u2, u4} (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) D _inst_2 (CategoryTheory.Functor.fromPUnit.{u2, u4} D _inst_2 Y) (CategoryTheory.Comma.right.{u2, u2, u2, u4, u2, u4} D _inst_2 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) D _inst_2 (CategoryTheory.Functor.id.{u2, u4} D _inst_2) (CategoryTheory.Functor.fromPUnit.{u2, u4} D _inst_2 Y) f)) (CategoryTheory.Comma.hom.{u2, u2, u2, u4, u2, u4} D _inst_2 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) D _inst_2 (CategoryTheory.Functor.id.{u2, u4} D _inst_2) (CategoryTheory.Functor.fromPUnit.{u2, u4} D _inst_2 Y) f))) (CategoryTheory.Over.{u2, u4} D _inst_2 Y) (CategoryTheory.Over.category.{u4, u2} D _inst_2 Y) (CategoryTheory.FullSubcategoryₓ.obj.{u2, max u4 u2} (CategoryTheory.Over.{u2, u4} D _inst_2 Y) (CategoryTheory.Over.category.{u4, u2} D _inst_2 Y) (fun (f : CategoryTheory.Over.{u2, u4} D _inst_2 Y) => CategoryTheory.Mono.{u2, u4} D _inst_2 (CategoryTheory.Functor.obj.{u2, u2, u4, u4} D _inst_2 D _inst_2 (CategoryTheory.Functor.id.{u2, u4} D _inst_2) (CategoryTheory.Comma.left.{u2, u2, u2, u4, u2, u4} D _inst_2 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) D _inst_2 (CategoryTheory.Functor.id.{u2, u4} D _inst_2) (CategoryTheory.Functor.fromPUnit.{u2, u4} D _inst_2 Y) f)) (CategoryTheory.Functor.obj.{u2, u2, u2, u4} (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) D _inst_2 (CategoryTheory.Functor.fromPUnit.{u2, u4} D _inst_2 Y) (CategoryTheory.Comma.right.{u2, u2, u2, u4, u2, u4} D _inst_2 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) D _inst_2 (CategoryTheory.Functor.id.{u2, u4} D _inst_2) (CategoryTheory.Functor.fromPUnit.{u2, u4} D _inst_2 Y) f)) (CategoryTheory.Comma.hom.{u2, u2, u2, u4, u2, u4} D _inst_2 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) D _inst_2 (CategoryTheory.Functor.id.{u2, u4} D _inst_2) (CategoryTheory.Functor.fromPUnit.{u2, u4} D _inst_2 Y) f)))) (CategoryTheory.Over.{u2, u4} D _inst_2 Y) (CategoryTheory.Over.category.{u4, u2} D _inst_2 Y) (CategoryTheory.MonoOver.forget.{u2, u4} D _inst_2 Y) f)))
-but is expected to have type
-  forall {C : Type.{u3}} [_inst_1 : CategoryTheory.Category.{u1, u3} C] {X : C} {D : Type.{u4}} [_inst_2 : CategoryTheory.Category.{u2, u4} D] {Y : D} (F : CategoryTheory.Functor.{u2, u1, max u4 u2, max u3 u1} (CategoryTheory.Over.{u2, u4} D _inst_2 Y) (CategoryTheory.instCategoryOver.{u2, u4} D _inst_2 Y) (CategoryTheory.Over.{u1, u3} C _inst_1 X) (CategoryTheory.instCategoryOver.{u1, u3} C _inst_1 X)) (h : forall (f : CategoryTheory.MonoOver.{u2, u4} D _inst_2 Y), CategoryTheory.Mono.{u1, u3} C _inst_1 (Prefunctor.obj.{succ u1, succ u1, u3, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} C (CategoryTheory.Category.toCategoryStruct.{u1, u3} C _inst_1)) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} C (CategoryTheory.Category.toCategoryStruct.{u1, u3} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u3, u3} C _inst_1 C _inst_1 (CategoryTheory.Functor.id.{u1, u3} C _inst_1)) (CategoryTheory.Comma.left.{u1, u1, u1, u3, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u3} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u3} C _inst_1 X) (Prefunctor.obj.{succ u2, succ u1, max u4 u2, max u3 u1} (CategoryTheory.Over.{u2, u4} D _inst_2 Y) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u4 u2} (CategoryTheory.Over.{u2, u4} D _inst_2 Y) (CategoryTheory.Category.toCategoryStruct.{u2, max u4 u2} (CategoryTheory.Over.{u2, u4} D _inst_2 Y) (CategoryTheory.instCategoryOver.{u2, u4} D _inst_2 Y))) (CategoryTheory.Over.{u1, u3} C _inst_1 X) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u3 u1} (CategoryTheory.Over.{u1, u3} C _inst_1 X) (CategoryTheory.Category.toCategoryStruct.{u1, max u3 u1} (CategoryTheory.Over.{u1, u3} C _inst_1 X) (CategoryTheory.instCategoryOver.{u1, u3} C _inst_1 X))) (CategoryTheory.Functor.toPrefunctor.{u2, u1, max u4 u2, max u3 u1} (CategoryTheory.Over.{u2, u4} D _inst_2 Y) (CategoryTheory.instCategoryOver.{u2, u4} D _inst_2 Y) (CategoryTheory.Over.{u1, u3} C _inst_1 X) (CategoryTheory.instCategoryOver.{u1, u3} C _inst_1 X) F) (Prefunctor.obj.{succ u2, succ u2, max u4 u2, max u4 u2} (CategoryTheory.MonoOver.{u2, u4} D _inst_2 Y) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u4 u2} (CategoryTheory.MonoOver.{u2, u4} D _inst_2 Y) (CategoryTheory.Category.toCategoryStruct.{u2, max u4 u2} (CategoryTheory.MonoOver.{u2, u4} D _inst_2 Y) (CategoryTheory.instCategoryMonoOver.{u2, u4} D _inst_2 Y))) (CategoryTheory.Over.{u2, u4} D _inst_2 Y) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u4 u2} (CategoryTheory.Over.{u2, u4} D _inst_2 Y) (CategoryTheory.Category.toCategoryStruct.{u2, max u4 u2} (CategoryTheory.Over.{u2, u4} D _inst_2 Y) (CategoryTheory.instCategoryOver.{u2, u4} D _inst_2 Y))) (CategoryTheory.Functor.toPrefunctor.{u2, u2, max u4 u2, max u4 u2} (CategoryTheory.MonoOver.{u2, u4} D _inst_2 Y) (CategoryTheory.instCategoryMonoOver.{u2, u4} D _inst_2 Y) (CategoryTheory.Over.{u2, u4} D _inst_2 Y) (CategoryTheory.instCategoryOver.{u2, u4} D _inst_2 Y) (CategoryTheory.MonoOver.forget.{u2, u4} D _inst_2 Y)) f)))) (Prefunctor.obj.{succ u1, succ u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.Category.toCategoryStruct.{u1, u1} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}))) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} C (CategoryTheory.Category.toCategoryStruct.{u1, u3} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.fromPUnit.{u1, u3} C _inst_1 X)) (CategoryTheory.Comma.right.{u1, u1, u1, u3, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u3} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u3} C _inst_1 X) (Prefunctor.obj.{succ u2, succ u1, max u4 u2, max u3 u1} (CategoryTheory.Over.{u2, u4} D _inst_2 Y) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u4 u2} (CategoryTheory.Over.{u2, u4} D _inst_2 Y) (CategoryTheory.Category.toCategoryStruct.{u2, max u4 u2} (CategoryTheory.Over.{u2, u4} D _inst_2 Y) (CategoryTheory.instCategoryOver.{u2, u4} D _inst_2 Y))) (CategoryTheory.Over.{u1, u3} C _inst_1 X) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u3 u1} (CategoryTheory.Over.{u1, u3} C _inst_1 X) (CategoryTheory.Category.toCategoryStruct.{u1, max u3 u1} (CategoryTheory.Over.{u1, u3} C _inst_1 X) (CategoryTheory.instCategoryOver.{u1, u3} C _inst_1 X))) (CategoryTheory.Functor.toPrefunctor.{u2, u1, max u4 u2, max u3 u1} (CategoryTheory.Over.{u2, u4} D _inst_2 Y) (CategoryTheory.instCategoryOver.{u2, u4} D _inst_2 Y) (CategoryTheory.Over.{u1, u3} C _inst_1 X) (CategoryTheory.instCategoryOver.{u1, u3} C _inst_1 X) F) (Prefunctor.obj.{succ u2, succ u2, max u4 u2, max u4 u2} (CategoryTheory.MonoOver.{u2, u4} D _inst_2 Y) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u4 u2} (CategoryTheory.MonoOver.{u2, u4} D _inst_2 Y) (CategoryTheory.Category.toCategoryStruct.{u2, max u4 u2} (CategoryTheory.MonoOver.{u2, u4} D _inst_2 Y) (CategoryTheory.instCategoryMonoOver.{u2, u4} D _inst_2 Y))) (CategoryTheory.Over.{u2, u4} D _inst_2 Y) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u4 u2} (CategoryTheory.Over.{u2, u4} D _inst_2 Y) (CategoryTheory.Category.toCategoryStruct.{u2, max u4 u2} (CategoryTheory.Over.{u2, u4} D _inst_2 Y) (CategoryTheory.instCategoryOver.{u2, u4} D _inst_2 Y))) (CategoryTheory.Functor.toPrefunctor.{u2, u2, max u4 u2, max u4 u2} (CategoryTheory.MonoOver.{u2, u4} D _inst_2 Y) (CategoryTheory.instCategoryMonoOver.{u2, u4} D _inst_2 Y) (CategoryTheory.Over.{u2, u4} D _inst_2 Y) (CategoryTheory.instCategoryOver.{u2, u4} D _inst_2 Y) (CategoryTheory.MonoOver.forget.{u2, u4} D _inst_2 Y)) f)))) (CategoryTheory.Comma.hom.{u1, u1, u1, u3, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u3} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u3} C _inst_1 X) (Prefunctor.obj.{succ u2, succ u1, max u4 u2, max u3 u1} (CategoryTheory.Over.{u2, u4} D _inst_2 Y) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u4 u2} (CategoryTheory.Over.{u2, u4} D _inst_2 Y) (CategoryTheory.Category.toCategoryStruct.{u2, max u4 u2} (CategoryTheory.Over.{u2, u4} D _inst_2 Y) (CategoryTheory.instCategoryOver.{u2, u4} D _inst_2 Y))) (CategoryTheory.Over.{u1, u3} C _inst_1 X) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u3 u1} (CategoryTheory.Over.{u1, u3} C _inst_1 X) (CategoryTheory.Category.toCategoryStruct.{u1, max u3 u1} (CategoryTheory.Over.{u1, u3} C _inst_1 X) (CategoryTheory.instCategoryOver.{u1, u3} C _inst_1 X))) (CategoryTheory.Functor.toPrefunctor.{u2, u1, max u4 u2, max u3 u1} (CategoryTheory.Over.{u2, u4} D _inst_2 Y) (CategoryTheory.instCategoryOver.{u2, u4} D _inst_2 Y) (CategoryTheory.Over.{u1, u3} C _inst_1 X) (CategoryTheory.instCategoryOver.{u1, u3} C _inst_1 X) F) (Prefunctor.obj.{succ u2, succ u2, max u4 u2, max u4 u2} (CategoryTheory.MonoOver.{u2, u4} D _inst_2 Y) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u4 u2} (CategoryTheory.MonoOver.{u2, u4} D _inst_2 Y) (CategoryTheory.Category.toCategoryStruct.{u2, max u4 u2} (CategoryTheory.MonoOver.{u2, u4} D _inst_2 Y) (CategoryTheory.instCategoryMonoOver.{u2, u4} D _inst_2 Y))) (CategoryTheory.Over.{u2, u4} D _inst_2 Y) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u4 u2} (CategoryTheory.Over.{u2, u4} D _inst_2 Y) (CategoryTheory.Category.toCategoryStruct.{u2, max u4 u2} (CategoryTheory.Over.{u2, u4} D _inst_2 Y) (CategoryTheory.instCategoryOver.{u2, u4} D _inst_2 Y))) (CategoryTheory.Functor.toPrefunctor.{u2, u2, max u4 u2, max u4 u2} (CategoryTheory.MonoOver.{u2, u4} D _inst_2 Y) (CategoryTheory.instCategoryMonoOver.{u2, u4} D _inst_2 Y) (CategoryTheory.Over.{u2, u4} D _inst_2 Y) (CategoryTheory.instCategoryOver.{u2, u4} D _inst_2 Y) (CategoryTheory.MonoOver.forget.{u2, u4} D _inst_2 Y)) f)))) (f : CategoryTheory.MonoOver.{u2, u4} D _inst_2 Y), Eq.{succ u1} (Quiver.Hom.{succ u1, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} C (CategoryTheory.Category.toCategoryStruct.{u1, u3} C _inst_1)) (CategoryTheory.Comma.left.{u1, u1, u1, u3, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u3} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u3} C _inst_1 X) (CategoryTheory.FullSubcategory.obj.{max u3 u1} (CategoryTheory.Over.{u1, u3} C _inst_1 X) (fun (f : CategoryTheory.Over.{u1, u3} C _inst_1 X) => CategoryTheory.Mono.{u1, u3} C _inst_1 (Prefunctor.obj.{succ u1, succ u1, u3, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} C (CategoryTheory.Category.toCategoryStruct.{u1, u3} C _inst_1)) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} C (CategoryTheory.Category.toCategoryStruct.{u1, u3} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u3, u3} C _inst_1 C _inst_1 (CategoryTheory.Functor.id.{u1, u3} C _inst_1)) (CategoryTheory.Comma.left.{u1, u1, u1, u3, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u3} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u3} C _inst_1 X) f)) (Prefunctor.obj.{succ u1, succ u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.Category.toCategoryStruct.{u1, u1} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}))) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} C (CategoryTheory.Category.toCategoryStruct.{u1, u3} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.fromPUnit.{u1, u3} C _inst_1 X)) (CategoryTheory.Comma.right.{u1, u1, u1, u3, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u3} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u3} C _inst_1 X) f)) (CategoryTheory.Comma.hom.{u1, u1, u1, u3, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u3} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u3} C _inst_1 X) f)) (Prefunctor.obj.{succ u2, succ u1, max u4 u2, max u3 u1} (CategoryTheory.MonoOver.{u2, u4} D _inst_2 Y) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u4 u2} (CategoryTheory.MonoOver.{u2, u4} D _inst_2 Y) (CategoryTheory.Category.toCategoryStruct.{u2, max u4 u2} (CategoryTheory.MonoOver.{u2, u4} D _inst_2 Y) (CategoryTheory.instCategoryMonoOver.{u2, u4} D _inst_2 Y))) (CategoryTheory.MonoOver.{u1, u3} C _inst_1 X) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u3 u1} (CategoryTheory.MonoOver.{u1, u3} C _inst_1 X) (CategoryTheory.Category.toCategoryStruct.{u1, max u3 u1} (CategoryTheory.MonoOver.{u1, u3} C _inst_1 X) (CategoryTheory.instCategoryMonoOver.{u1, u3} C _inst_1 X))) (CategoryTheory.Functor.toPrefunctor.{u2, u1, max u4 u2, max u3 u1} (CategoryTheory.MonoOver.{u2, u4} D _inst_2 Y) (CategoryTheory.instCategoryMonoOver.{u2, u4} D _inst_2 Y) (CategoryTheory.MonoOver.{u1, u3} C _inst_1 X) (CategoryTheory.instCategoryMonoOver.{u1, u3} C _inst_1 X) (CategoryTheory.MonoOver.lift.{u1, u2, u3, u4} C _inst_1 X D _inst_2 Y F h)) f))) X) (CategoryTheory.MonoOver.arrow.{u1, u3} C _inst_1 X (Prefunctor.obj.{succ u2, succ u1, max u4 u2, max u3 u1} (CategoryTheory.MonoOver.{u2, u4} D _inst_2 Y) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u4 u2} (CategoryTheory.MonoOver.{u2, u4} D _inst_2 Y) (CategoryTheory.Category.toCategoryStruct.{u2, max u4 u2} (CategoryTheory.MonoOver.{u2, u4} D _inst_2 Y) (CategoryTheory.instCategoryMonoOver.{u2, u4} D _inst_2 Y))) (CategoryTheory.MonoOver.{u1, u3} C _inst_1 X) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u3 u1} (CategoryTheory.MonoOver.{u1, u3} C _inst_1 X) (CategoryTheory.Category.toCategoryStruct.{u1, max u3 u1} (CategoryTheory.MonoOver.{u1, u3} C _inst_1 X) (CategoryTheory.instCategoryMonoOver.{u1, u3} C _inst_1 X))) (CategoryTheory.Functor.toPrefunctor.{u2, u1, max u4 u2, max u3 u1} (CategoryTheory.MonoOver.{u2, u4} D _inst_2 Y) (CategoryTheory.instCategoryMonoOver.{u2, u4} D _inst_2 Y) (CategoryTheory.MonoOver.{u1, u3} C _inst_1 X) (CategoryTheory.instCategoryMonoOver.{u1, u3} C _inst_1 X) (CategoryTheory.MonoOver.lift.{u1, u2, u3, u4} C _inst_1 X D _inst_2 Y F h)) f)) (CategoryTheory.Comma.hom.{u1, u1, u1, u3, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u3} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u3} C _inst_1 X) (Prefunctor.obj.{succ u2, succ u1, max u4 u2, max u3 u1} (CategoryTheory.Over.{u2, u4} D _inst_2 Y) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u4 u2} (CategoryTheory.Over.{u2, u4} D _inst_2 Y) (CategoryTheory.Category.toCategoryStruct.{u2, max u4 u2} (CategoryTheory.Over.{u2, u4} D _inst_2 Y) (CategoryTheory.instCategoryOver.{u2, u4} D _inst_2 Y))) (CategoryTheory.Over.{u1, u3} C _inst_1 X) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u3 u1} (CategoryTheory.Over.{u1, u3} C _inst_1 X) (CategoryTheory.Category.toCategoryStruct.{u1, max u3 u1} (CategoryTheory.Over.{u1, u3} C _inst_1 X) (CategoryTheory.instCategoryOver.{u1, u3} C _inst_1 X))) (CategoryTheory.Functor.toPrefunctor.{u2, u1, max u4 u2, max u3 u1} (CategoryTheory.Over.{u2, u4} D _inst_2 Y) (CategoryTheory.instCategoryOver.{u2, u4} D _inst_2 Y) (CategoryTheory.Over.{u1, u3} C _inst_1 X) (CategoryTheory.instCategoryOver.{u1, u3} C _inst_1 X) F) (Prefunctor.obj.{succ u2, succ u2, max u4 u2, max u4 u2} (CategoryTheory.MonoOver.{u2, u4} D _inst_2 Y) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u4 u2} (CategoryTheory.MonoOver.{u2, u4} D _inst_2 Y) (CategoryTheory.Category.toCategoryStruct.{u2, max u4 u2} (CategoryTheory.MonoOver.{u2, u4} D _inst_2 Y) (CategoryTheory.instCategoryMonoOver.{u2, u4} D _inst_2 Y))) (CategoryTheory.Over.{u2, u4} D _inst_2 Y) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u4 u2} (CategoryTheory.Over.{u2, u4} D _inst_2 Y) (CategoryTheory.Category.toCategoryStruct.{u2, max u4 u2} (CategoryTheory.Over.{u2, u4} D _inst_2 Y) (CategoryTheory.instCategoryOver.{u2, u4} D _inst_2 Y))) (CategoryTheory.Functor.toPrefunctor.{u2, u2, max u4 u2, max u4 u2} (CategoryTheory.MonoOver.{u2, u4} D _inst_2 Y) (CategoryTheory.instCategoryMonoOver.{u2, u4} D _inst_2 Y) (CategoryTheory.Over.{u2, u4} D _inst_2 Y) (CategoryTheory.instCategoryOver.{u2, u4} D _inst_2 Y) (CategoryTheory.MonoOver.forget.{u2, u4} D _inst_2 Y)) f)))
+<too large>
 Case conversion may be inaccurate. Consider using '#align category_theory.mono_over.lift_obj_arrow CategoryTheory.MonoOver.lift_obj_arrowₓ'. -/
 @[simp]
 theorem lift_obj_arrow {Y : D} (F : Over Y ⥤ Over X)
@@ -282,10 +261,7 @@ theorem lift_obj_arrow {Y : D} (F : Over Y ⥤ Over X)
 #align category_theory.mono_over.lift_obj_arrow CategoryTheory.MonoOver.lift_obj_arrow
 
 /- warning: category_theory.mono_over.slice -> CategoryTheory.MonoOver.slice is a dubious translation:
-lean 3 declaration is
-  forall {C : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} C] {A : C} {f : CategoryTheory.Over.{u1, u2} C _inst_1 A}, (forall (f_1 : CategoryTheory.MonoOver.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.Over.category.{u2, u1} C _inst_1 A) f), CategoryTheory.Mono.{u1, u2} C _inst_1 (CategoryTheory.Functor.obj.{u1, u1, u2, u2} C _inst_1 C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 A) f)) (CategoryTheory.Functor.obj.{u1, u1, max u2 u1, max u2 u1} (CategoryTheory.Over.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.Over.category.{u2, u1} C _inst_1 A) f) (CategoryTheory.Over.category.{max u2 u1, u1} (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.Over.category.{u2, u1} C _inst_1 A) f) (CategoryTheory.Over.{u1, u2} C _inst_1 (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 A) f)) (CategoryTheory.Over.category.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 A) f)) (CategoryTheory.Equivalence.functor.{u1, u1, max u2 u1, max u2 u1} (CategoryTheory.Over.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.Over.category.{u2, u1} C _inst_1 A) f) (CategoryTheory.Over.category.{max u2 u1, u1} (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.Over.category.{u2, u1} C _inst_1 A) f) (CategoryTheory.Over.{u1, u2} C _inst_1 (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 A) f)) (CategoryTheory.Over.category.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 A) f)) (CategoryTheory.Over.iteratedSliceEquiv.{u1, u2} C _inst_1 A f)) (CategoryTheory.Functor.obj.{u1, u1, max u2 u1, max u2 u1} (CategoryTheory.MonoOver.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.Over.category.{u2, u1} C _inst_1 A) f) (CategoryTheory.InducedCategory.category.{u1, max u2 u1, max u2 u1} (CategoryTheory.FullSubcategoryₓ.{u1, max u2 u1} (CategoryTheory.Over.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.Over.category.{u2, u1} C _inst_1 A) f) (CategoryTheory.Over.category.{max u2 u1, u1} (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.Over.category.{u2, u1} C _inst_1 A) f) (fun (f_1 : CategoryTheory.Over.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.Over.category.{u2, u1} C _inst_1 A) f) => CategoryTheory.Mono.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.Over.category.{u2, u1} C _inst_1 A) (CategoryTheory.Functor.obj.{u1, u1, max u2 u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.Over.category.{u2, u1} C _inst_1 A) (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.Over.category.{u2, u1} C _inst_1 A) (CategoryTheory.Functor.id.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.Over.category.{u2, u1} C _inst_1 A)) (CategoryTheory.Comma.left.{u1, u1, u1, max u2 u1, u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.Over.category.{u2, u1} C _inst_1 A) (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.Over.category.{u2, u1} C _inst_1 A) (CategoryTheory.Functor.id.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.Over.category.{u2, u1} C _inst_1 A)) (CategoryTheory.Functor.fromPUnit.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.Over.category.{u2, u1} C _inst_1 A) f) f_1)) (CategoryTheory.Functor.obj.{u1, u1, u1, max u2 u1} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.Over.category.{u2, u1} C _inst_1 A) (CategoryTheory.Functor.fromPUnit.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.Over.category.{u2, u1} C _inst_1 A) f) (CategoryTheory.Comma.right.{u1, u1, u1, max u2 u1, u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.Over.category.{u2, u1} C _inst_1 A) (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.Over.category.{u2, u1} C _inst_1 A) (CategoryTheory.Functor.id.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.Over.category.{u2, u1} C _inst_1 A)) (CategoryTheory.Functor.fromPUnit.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.Over.category.{u2, u1} C _inst_1 A) f) f_1)) (CategoryTheory.Comma.hom.{u1, u1, u1, max u2 u1, u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.Over.category.{u2, u1} C _inst_1 A) (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.Over.category.{u2, u1} C _inst_1 A) (CategoryTheory.Functor.id.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.Over.category.{u2, u1} C _inst_1 A)) (CategoryTheory.Functor.fromPUnit.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.Over.category.{u2, u1} C _inst_1 A) f) f_1))) (CategoryTheory.Over.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.Over.category.{u2, u1} C _inst_1 A) f) (CategoryTheory.Over.category.{max u2 u1, u1} (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.Over.category.{u2, u1} C _inst_1 A) f) (CategoryTheory.FullSubcategoryₓ.obj.{u1, max u2 u1} (CategoryTheory.Over.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.Over.category.{u2, u1} C _inst_1 A) f) (CategoryTheory.Over.category.{max u2 u1, u1} (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.Over.category.{u2, u1} C _inst_1 A) f) (fun (f_1 : CategoryTheory.Over.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.Over.category.{u2, u1} C _inst_1 A) f) => CategoryTheory.Mono.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.Over.category.{u2, u1} C _inst_1 A) (CategoryTheory.Functor.obj.{u1, u1, max u2 u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.Over.category.{u2, u1} C _inst_1 A) (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.Over.category.{u2, u1} C _inst_1 A) (CategoryTheory.Functor.id.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.Over.category.{u2, u1} C _inst_1 A)) (CategoryTheory.Comma.left.{u1, u1, u1, max u2 u1, u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.Over.category.{u2, u1} C _inst_1 A) (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.Over.category.{u2, u1} C _inst_1 A) (CategoryTheory.Functor.id.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.Over.category.{u2, u1} C _inst_1 A)) (CategoryTheory.Functor.fromPUnit.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.Over.category.{u2, u1} C _inst_1 A) f) f_1)) (CategoryTheory.Functor.obj.{u1, u1, u1, max u2 u1} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.Over.category.{u2, u1} C _inst_1 A) (CategoryTheory.Functor.fromPUnit.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.Over.category.{u2, u1} C _inst_1 A) f) (CategoryTheory.Comma.right.{u1, u1, u1, max u2 u1, u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.Over.category.{u2, u1} C _inst_1 A) (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.Over.category.{u2, u1} C _inst_1 A) (CategoryTheory.Functor.id.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.Over.category.{u2, u1} C _inst_1 A)) (CategoryTheory.Functor.fromPUnit.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.Over.category.{u2, u1} C _inst_1 A) f) f_1)) (CategoryTheory.Comma.hom.{u1, u1, u1, max u2 u1, u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.Over.category.{u2, u1} C _inst_1 A) (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.Over.category.{u2, u1} C _inst_1 A) (CategoryTheory.Functor.id.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.Over.category.{u2, u1} C _inst_1 A)) (CategoryTheory.Functor.fromPUnit.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.Over.category.{u2, u1} C _inst_1 A) f) f_1)))) (CategoryTheory.Over.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.Over.category.{u2, u1} C _inst_1 A) f) (CategoryTheory.Over.category.{max u2 u1, u1} (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.Over.category.{u2, u1} C _inst_1 A) f) (CategoryTheory.MonoOver.forget.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.Over.category.{u2, u1} C _inst_1 A) f) f_1)))) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 A) f)) (CategoryTheory.Comma.right.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 A) f)) (CategoryTheory.Functor.obj.{u1, u1, max u2 u1, max u2 u1} (CategoryTheory.Over.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.Over.category.{u2, u1} C _inst_1 A) f) (CategoryTheory.Over.category.{max u2 u1, u1} (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.Over.category.{u2, u1} C _inst_1 A) f) (CategoryTheory.Over.{u1, u2} C _inst_1 (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 A) f)) (CategoryTheory.Over.category.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 A) f)) (CategoryTheory.Equivalence.functor.{u1, u1, max u2 u1, max u2 u1} (CategoryTheory.Over.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.Over.category.{u2, u1} C _inst_1 A) f) (CategoryTheory.Over.category.{max u2 u1, u1} (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.Over.category.{u2, u1} C _inst_1 A) f) (CategoryTheory.Over.{u1, u2} C _inst_1 (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 A) f)) (CategoryTheory.Over.category.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 A) f)) (CategoryTheory.Over.iteratedSliceEquiv.{u1, u2} C _inst_1 A f)) (CategoryTheory.Functor.obj.{u1, u1, max u2 u1, max u2 u1} (CategoryTheory.MonoOver.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.Over.category.{u2, u1} C _inst_1 A) f) (CategoryTheory.InducedCategory.category.{u1, max u2 u1, max u2 u1} (CategoryTheory.FullSubcategoryₓ.{u1, max u2 u1} (CategoryTheory.Over.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.Over.category.{u2, u1} C _inst_1 A) f) (CategoryTheory.Over.category.{max u2 u1, u1} (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.Over.category.{u2, u1} C _inst_1 A) f) (fun (f_1 : CategoryTheory.Over.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.Over.category.{u2, u1} C _inst_1 A) f) => CategoryTheory.Mono.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.Over.category.{u2, u1} C _inst_1 A) (CategoryTheory.Functor.obj.{u1, u1, max u2 u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.Over.category.{u2, u1} C _inst_1 A) (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.Over.category.{u2, u1} C _inst_1 A) (CategoryTheory.Functor.id.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.Over.category.{u2, u1} C _inst_1 A)) (CategoryTheory.Comma.left.{u1, u1, u1, max u2 u1, u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.Over.category.{u2, u1} C _inst_1 A) (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.Over.category.{u2, u1} C _inst_1 A) (CategoryTheory.Functor.id.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.Over.category.{u2, u1} C _inst_1 A)) (CategoryTheory.Functor.fromPUnit.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.Over.category.{u2, u1} C _inst_1 A) f) f_1)) (CategoryTheory.Functor.obj.{u1, u1, u1, max u2 u1} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.Over.category.{u2, u1} C _inst_1 A) (CategoryTheory.Functor.fromPUnit.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.Over.category.{u2, u1} C _inst_1 A) f) (CategoryTheory.Comma.right.{u1, u1, u1, max u2 u1, u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.Over.category.{u2, u1} C _inst_1 A) (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.Over.category.{u2, u1} C _inst_1 A) (CategoryTheory.Functor.id.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.Over.category.{u2, u1} C _inst_1 A)) (CategoryTheory.Functor.fromPUnit.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.Over.category.{u2, u1} C _inst_1 A) f) f_1)) (CategoryTheory.Comma.hom.{u1, u1, u1, max u2 u1, u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.Over.category.{u2, u1} C _inst_1 A) (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.Over.category.{u2, u1} C _inst_1 A) (CategoryTheory.Functor.id.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.Over.category.{u2, u1} C _inst_1 A)) (CategoryTheory.Functor.fromPUnit.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.Over.category.{u2, u1} C _inst_1 A) f) f_1))) (CategoryTheory.Over.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.Over.category.{u2, u1} C _inst_1 A) f) (CategoryTheory.Over.category.{max u2 u1, u1} (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.Over.category.{u2, u1} C _inst_1 A) f) (CategoryTheory.FullSubcategoryₓ.obj.{u1, max u2 u1} (CategoryTheory.Over.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.Over.category.{u2, u1} C _inst_1 A) f) (CategoryTheory.Over.category.{max u2 u1, u1} (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.Over.category.{u2, u1} C _inst_1 A) f) (fun (f_1 : CategoryTheory.Over.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.Over.category.{u2, u1} C _inst_1 A) f) => CategoryTheory.Mono.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.Over.category.{u2, u1} C _inst_1 A) (CategoryTheory.Functor.obj.{u1, u1, max u2 u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.Over.category.{u2, u1} C _inst_1 A) (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.Over.category.{u2, u1} C _inst_1 A) (CategoryTheory.Functor.id.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.Over.category.{u2, u1} C _inst_1 A)) (CategoryTheory.Comma.left.{u1, u1, u1, max u2 u1, u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.Over.category.{u2, u1} C _inst_1 A) (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.Over.category.{u2, u1} C _inst_1 A) (CategoryTheory.Functor.id.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.Over.category.{u2, u1} C _inst_1 A)) (CategoryTheory.Functor.fromPUnit.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.Over.category.{u2, u1} C _inst_1 A) f) f_1)) (CategoryTheory.Functor.obj.{u1, u1, u1, max u2 u1} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.Over.category.{u2, u1} C _inst_1 A) (CategoryTheory.Functor.fromPUnit.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.Over.category.{u2, u1} C _inst_1 A) f) (CategoryTheory.Comma.right.{u1, u1, u1, max u2 u1, u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.Over.category.{u2, u1} C _inst_1 A) (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.Over.category.{u2, u1} C _inst_1 A) (CategoryTheory.Functor.id.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.Over.category.{u2, u1} C _inst_1 A)) (CategoryTheory.Functor.fromPUnit.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.Over.category.{u2, u1} C _inst_1 A) f) f_1)) (CategoryTheory.Comma.hom.{u1, u1, u1, max u2 u1, u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.Over.category.{u2, u1} C _inst_1 A) (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.Over.category.{u2, u1} C _inst_1 A) (CategoryTheory.Functor.id.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.Over.category.{u2, u1} C _inst_1 A)) (CategoryTheory.Functor.fromPUnit.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.Over.category.{u2, u1} C _inst_1 A) f) f_1)))) (CategoryTheory.Over.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.Over.category.{u2, u1} C _inst_1 A) f) (CategoryTheory.Over.category.{max u2 u1, u1} (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.Over.category.{u2, u1} C _inst_1 A) f) (CategoryTheory.MonoOver.forget.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.Over.category.{u2, u1} C _inst_1 A) f) f_1)))) (CategoryTheory.Comma.hom.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 A) f)) (CategoryTheory.Functor.obj.{u1, u1, max u2 u1, max u2 u1} (CategoryTheory.Over.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.Over.category.{u2, u1} C _inst_1 A) f) (CategoryTheory.Over.category.{max u2 u1, u1} (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.Over.category.{u2, u1} C _inst_1 A) f) (CategoryTheory.Over.{u1, u2} C _inst_1 (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 A) f)) (CategoryTheory.Over.category.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 A) f)) (CategoryTheory.Equivalence.functor.{u1, u1, max u2 u1, max u2 u1} (CategoryTheory.Over.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.Over.category.{u2, u1} C _inst_1 A) f) (CategoryTheory.Over.category.{max u2 u1, u1} (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.Over.category.{u2, u1} C _inst_1 A) f) (CategoryTheory.Over.{u1, u2} C _inst_1 (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 A) f)) (CategoryTheory.Over.category.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 A) f)) (CategoryTheory.Over.iteratedSliceEquiv.{u1, u2} C _inst_1 A f)) (CategoryTheory.Functor.obj.{u1, u1, max u2 u1, max u2 u1} (CategoryTheory.MonoOver.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.Over.category.{u2, u1} C _inst_1 A) f) (CategoryTheory.InducedCategory.category.{u1, max u2 u1, max u2 u1} (CategoryTheory.FullSubcategoryₓ.{u1, max u2 u1} (CategoryTheory.Over.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.Over.category.{u2, u1} C _inst_1 A) f) (CategoryTheory.Over.category.{max u2 u1, u1} (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.Over.category.{u2, u1} C _inst_1 A) f) (fun (f_1 : CategoryTheory.Over.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.Over.category.{u2, u1} C _inst_1 A) f) => CategoryTheory.Mono.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.Over.category.{u2, u1} C _inst_1 A) (CategoryTheory.Functor.obj.{u1, u1, max u2 u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.Over.category.{u2, u1} C _inst_1 A) (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.Over.category.{u2, u1} C _inst_1 A) (CategoryTheory.Functor.id.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.Over.category.{u2, u1} C _inst_1 A)) (CategoryTheory.Comma.left.{u1, u1, u1, max u2 u1, u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.Over.category.{u2, u1} C _inst_1 A) (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.Over.category.{u2, u1} C _inst_1 A) (CategoryTheory.Functor.id.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.Over.category.{u2, u1} C _inst_1 A)) (CategoryTheory.Functor.fromPUnit.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.Over.category.{u2, u1} C _inst_1 A) f) f_1)) (CategoryTheory.Functor.obj.{u1, u1, u1, max u2 u1} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.Over.category.{u2, u1} C _inst_1 A) (CategoryTheory.Functor.fromPUnit.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.Over.category.{u2, u1} C _inst_1 A) f) (CategoryTheory.Comma.right.{u1, u1, u1, max u2 u1, u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.Over.category.{u2, u1} C _inst_1 A) (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.Over.category.{u2, u1} C _inst_1 A) (CategoryTheory.Functor.id.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.Over.category.{u2, u1} C _inst_1 A)) (CategoryTheory.Functor.fromPUnit.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.Over.category.{u2, u1} C _inst_1 A) f) f_1)) (CategoryTheory.Comma.hom.{u1, u1, u1, max u2 u1, u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.Over.category.{u2, u1} C _inst_1 A) (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.Over.category.{u2, u1} C _inst_1 A) (CategoryTheory.Functor.id.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.Over.category.{u2, u1} C _inst_1 A)) (CategoryTheory.Functor.fromPUnit.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.Over.category.{u2, u1} C _inst_1 A) f) f_1))) (CategoryTheory.Over.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.Over.category.{u2, u1} C _inst_1 A) f) (CategoryTheory.Over.category.{max u2 u1, u1} (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.Over.category.{u2, u1} C _inst_1 A) f) (CategoryTheory.FullSubcategoryₓ.obj.{u1, max u2 u1} (CategoryTheory.Over.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.Over.category.{u2, u1} C _inst_1 A) f) (CategoryTheory.Over.category.{max u2 u1, u1} (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.Over.category.{u2, u1} C _inst_1 A) f) (fun (f_1 : CategoryTheory.Over.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.Over.category.{u2, u1} C _inst_1 A) f) => CategoryTheory.Mono.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.Over.category.{u2, u1} C _inst_1 A) (CategoryTheory.Functor.obj.{u1, u1, max u2 u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.Over.category.{u2, u1} C _inst_1 A) (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.Over.category.{u2, u1} C _inst_1 A) (CategoryTheory.Functor.id.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.Over.category.{u2, u1} C _inst_1 A)) (CategoryTheory.Comma.left.{u1, u1, u1, max u2 u1, u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.Over.category.{u2, u1} C _inst_1 A) (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.Over.category.{u2, u1} C _inst_1 A) (CategoryTheory.Functor.id.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.Over.category.{u2, u1} C _inst_1 A)) (CategoryTheory.Functor.fromPUnit.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.Over.category.{u2, u1} C _inst_1 A) f) f_1)) (CategoryTheory.Functor.obj.{u1, u1, u1, max u2 u1} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.Over.category.{u2, u1} C _inst_1 A) (CategoryTheory.Functor.fromPUnit.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.Over.category.{u2, u1} C _inst_1 A) f) (CategoryTheory.Comma.right.{u1, u1, u1, max u2 u1, u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.Over.category.{u2, u1} C _inst_1 A) (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.Over.category.{u2, u1} C _inst_1 A) (CategoryTheory.Functor.id.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.Over.category.{u2, u1} C _inst_1 A)) (CategoryTheory.Functor.fromPUnit.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.Over.category.{u2, u1} C _inst_1 A) f) f_1)) (CategoryTheory.Comma.hom.{u1, u1, u1, max u2 u1, u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.Over.category.{u2, u1} C _inst_1 A) (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.Over.category.{u2, u1} C _inst_1 A) (CategoryTheory.Functor.id.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.Over.category.{u2, u1} C _inst_1 A)) (CategoryTheory.Functor.fromPUnit.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.Over.category.{u2, u1} C _inst_1 A) f) f_1)))) (CategoryTheory.Over.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.Over.category.{u2, u1} C _inst_1 A) f) (CategoryTheory.Over.category.{max u2 u1, u1} (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.Over.category.{u2, u1} C _inst_1 A) f) (CategoryTheory.MonoOver.forget.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.Over.category.{u2, u1} C _inst_1 A) f) f_1)))) -> (forall (f_1 : CategoryTheory.MonoOver.{u1, u2} C _inst_1 (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 A) f)), CategoryTheory.Mono.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.Over.category.{u2, u1} C _inst_1 A) (CategoryTheory.Functor.obj.{u1, u1, max u2 u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.Over.category.{u2, u1} C _inst_1 A) (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.Over.category.{u2, u1} C _inst_1 A) (CategoryTheory.Functor.id.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.Over.category.{u2, u1} C _inst_1 A)) (CategoryTheory.Comma.left.{u1, u1, u1, max u2 u1, u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.Over.category.{u2, u1} C _inst_1 A) (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.Over.category.{u2, u1} C _inst_1 A) (CategoryTheory.Functor.id.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.Over.category.{u2, u1} C _inst_1 A)) (CategoryTheory.Functor.fromPUnit.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.Over.category.{u2, u1} C _inst_1 A) f) (CategoryTheory.Functor.obj.{u1, u1, max u2 u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 A) f)) (CategoryTheory.Over.category.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 A) f)) (CategoryTheory.Over.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.Over.category.{u2, u1} C _inst_1 A) f) (CategoryTheory.Over.category.{max u2 u1, u1} (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.Over.category.{u2, u1} C _inst_1 A) f) (CategoryTheory.Equivalence.inverse.{u1, u1, max u2 u1, max u2 u1} (CategoryTheory.Over.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.Over.category.{u2, u1} C _inst_1 A) f) (CategoryTheory.Over.category.{max u2 u1, u1} (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.Over.category.{u2, u1} C _inst_1 A) f) (CategoryTheory.Over.{u1, u2} C _inst_1 (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 A) f)) (CategoryTheory.Over.category.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 A) f)) (CategoryTheory.Over.iteratedSliceEquiv.{u1, u2} C _inst_1 A f)) (CategoryTheory.Functor.obj.{u1, u1, max u2 u1, max u2 u1} (CategoryTheory.MonoOver.{u1, u2} C _inst_1 (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 A) f)) (CategoryTheory.InducedCategory.category.{u1, max u2 u1, max u2 u1} (CategoryTheory.FullSubcategoryₓ.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 A) f)) (CategoryTheory.Over.category.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 A) f)) (fun (f_1 : CategoryTheory.Over.{u1, u2} C _inst_1 (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 A) f)) => CategoryTheory.Mono.{u1, u2} C _inst_1 (CategoryTheory.Functor.obj.{u1, u1, u2, u2} C _inst_1 C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 A) f)) f_1)) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 A) f)) (CategoryTheory.Comma.right.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 A) f)) f_1)) (CategoryTheory.Comma.hom.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 A) f)) f_1))) (CategoryTheory.Over.{u1, u2} C _inst_1 (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 A) f)) (CategoryTheory.Over.category.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 A) f)) (CategoryTheory.FullSubcategoryₓ.obj.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 A) f)) (CategoryTheory.Over.category.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 A) f)) (fun (f_1 : CategoryTheory.Over.{u1, u2} C _inst_1 (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 A) f)) => CategoryTheory.Mono.{u1, u2} C _inst_1 (CategoryTheory.Functor.obj.{u1, u1, u2, u2} C _inst_1 C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 A) f)) f_1)) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 A) f)) (CategoryTheory.Comma.right.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 A) f)) f_1)) (CategoryTheory.Comma.hom.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 A) f)) f_1)))) (CategoryTheory.Over.{u1, u2} C _inst_1 (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 A) f)) (CategoryTheory.Over.category.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 A) f)) (CategoryTheory.MonoOver.forget.{u1, u2} C _inst_1 (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 A) f)) f_1)))) (CategoryTheory.Functor.obj.{u1, u1, u1, max u2 u1} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.Over.category.{u2, u1} C _inst_1 A) (CategoryTheory.Functor.fromPUnit.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.Over.category.{u2, u1} C _inst_1 A) f) (CategoryTheory.Comma.right.{u1, u1, u1, max u2 u1, u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.Over.category.{u2, u1} C _inst_1 A) (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.Over.category.{u2, u1} C _inst_1 A) (CategoryTheory.Functor.id.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.Over.category.{u2, u1} C _inst_1 A)) (CategoryTheory.Functor.fromPUnit.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.Over.category.{u2, u1} C _inst_1 A) f) (CategoryTheory.Functor.obj.{u1, u1, max u2 u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 A) f)) (CategoryTheory.Over.category.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 A) f)) (CategoryTheory.Over.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.Over.category.{u2, u1} C _inst_1 A) f) (CategoryTheory.Over.category.{max u2 u1, u1} (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.Over.category.{u2, u1} C _inst_1 A) f) (CategoryTheory.Equivalence.inverse.{u1, u1, max u2 u1, max u2 u1} (CategoryTheory.Over.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.Over.category.{u2, u1} C _inst_1 A) f) (CategoryTheory.Over.category.{max u2 u1, u1} (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.Over.category.{u2, u1} C _inst_1 A) f) (CategoryTheory.Over.{u1, u2} C _inst_1 (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 A) f)) (CategoryTheory.Over.category.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 A) f)) (CategoryTheory.Over.iteratedSliceEquiv.{u1, u2} C _inst_1 A f)) (CategoryTheory.Functor.obj.{u1, u1, max u2 u1, max u2 u1} (CategoryTheory.MonoOver.{u1, u2} C _inst_1 (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 A) f)) (CategoryTheory.InducedCategory.category.{u1, max u2 u1, max u2 u1} (CategoryTheory.FullSubcategoryₓ.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 A) f)) (CategoryTheory.Over.category.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 A) f)) (fun (f_1 : CategoryTheory.Over.{u1, u2} C _inst_1 (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 A) f)) => CategoryTheory.Mono.{u1, u2} C _inst_1 (CategoryTheory.Functor.obj.{u1, u1, u2, u2} C _inst_1 C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 A) f)) f_1)) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 A) f)) (CategoryTheory.Comma.right.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 A) f)) f_1)) (CategoryTheory.Comma.hom.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 A) f)) f_1))) (CategoryTheory.Over.{u1, u2} C _inst_1 (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 A) f)) (CategoryTheory.Over.category.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 A) f)) (CategoryTheory.FullSubcategoryₓ.obj.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 A) f)) (CategoryTheory.Over.category.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 A) f)) (fun (f_1 : CategoryTheory.Over.{u1, u2} C _inst_1 (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 A) f)) => CategoryTheory.Mono.{u1, u2} C _inst_1 (CategoryTheory.Functor.obj.{u1, u1, u2, u2} C _inst_1 C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 A) f)) f_1)) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 A) f)) (CategoryTheory.Comma.right.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 A) f)) f_1)) (CategoryTheory.Comma.hom.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 A) f)) f_1)))) (CategoryTheory.Over.{u1, u2} C _inst_1 (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 A) f)) (CategoryTheory.Over.category.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 A) f)) (CategoryTheory.MonoOver.forget.{u1, u2} C _inst_1 (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 A) f)) f_1)))) (CategoryTheory.Comma.hom.{u1, u1, u1, max u2 u1, u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.Over.category.{u2, u1} C _inst_1 A) (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.Over.category.{u2, u1} C _inst_1 A) (CategoryTheory.Functor.id.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.Over.category.{u2, u1} C _inst_1 A)) (CategoryTheory.Functor.fromPUnit.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.Over.category.{u2, u1} C _inst_1 A) f) (CategoryTheory.Functor.obj.{u1, u1, max u2 u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 A) f)) (CategoryTheory.Over.category.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 A) f)) (CategoryTheory.Over.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.Over.category.{u2, u1} C _inst_1 A) f) (CategoryTheory.Over.category.{max u2 u1, u1} (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.Over.category.{u2, u1} C _inst_1 A) f) (CategoryTheory.Equivalence.inverse.{u1, u1, max u2 u1, max u2 u1} (CategoryTheory.Over.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.Over.category.{u2, u1} C _inst_1 A) f) (CategoryTheory.Over.category.{max u2 u1, u1} (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.Over.category.{u2, u1} C _inst_1 A) f) (CategoryTheory.Over.{u1, u2} C _inst_1 (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 A) f)) (CategoryTheory.Over.category.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 A) f)) (CategoryTheory.Over.iteratedSliceEquiv.{u1, u2} C _inst_1 A f)) (CategoryTheory.Functor.obj.{u1, u1, max u2 u1, max u2 u1} (CategoryTheory.MonoOver.{u1, u2} C _inst_1 (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 A) f)) (CategoryTheory.InducedCategory.category.{u1, max u2 u1, max u2 u1} (CategoryTheory.FullSubcategoryₓ.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 A) f)) (CategoryTheory.Over.category.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 A) f)) (fun (f_1 : CategoryTheory.Over.{u1, u2} C _inst_1 (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 A) f)) => CategoryTheory.Mono.{u1, u2} C _inst_1 (CategoryTheory.Functor.obj.{u1, u1, u2, u2} C _inst_1 C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 A) f)) f_1)) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 A) f)) (CategoryTheory.Comma.right.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 A) f)) f_1)) (CategoryTheory.Comma.hom.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 A) f)) f_1))) (CategoryTheory.Over.{u1, u2} C _inst_1 (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 A) f)) (CategoryTheory.Over.category.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 A) f)) (CategoryTheory.FullSubcategoryₓ.obj.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 A) f)) (CategoryTheory.Over.category.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 A) f)) (fun (f_1 : CategoryTheory.Over.{u1, u2} C _inst_1 (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 A) f)) => CategoryTheory.Mono.{u1, u2} C _inst_1 (CategoryTheory.Functor.obj.{u1, u1, u2, u2} C _inst_1 C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 A) f)) f_1)) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 A) f)) (CategoryTheory.Comma.right.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 A) f)) f_1)) (CategoryTheory.Comma.hom.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 A) f)) f_1)))) (CategoryTheory.Over.{u1, u2} C _inst_1 (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 A) f)) (CategoryTheory.Over.category.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 A) f)) (CategoryTheory.MonoOver.forget.{u1, u2} C _inst_1 (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 A) f)) f_1)))) -> (CategoryTheory.Equivalence.{u1, u1, max u2 u1, max u2 u1} (CategoryTheory.MonoOver.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.Over.category.{u2, u1} C _inst_1 A) f) (CategoryTheory.MonoOver.category.{max u2 u1, u1} (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.Over.category.{u2, u1} C _inst_1 A) f) (CategoryTheory.MonoOver.{u1, u2} C _inst_1 (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 A) f)) (CategoryTheory.MonoOver.category.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 A) f)))
-but is expected to have type
-  forall {C : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} C] {A : C} {f : CategoryTheory.Over.{u1, u2} C _inst_1 A}, (forall (f_1 : CategoryTheory.MonoOver.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.instCategoryOver.{u1, u2} C _inst_1 A) f), CategoryTheory.Mono.{u1, u2} C _inst_1 (Prefunctor.obj.{succ u1, succ u1, u2, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u2, u2} C _inst_1 C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1)) (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 A) f)) (Prefunctor.obj.{succ u1, succ u1, max u2 u1, max u2 u1} (CategoryTheory.Over.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.instCategoryOver.{u1, u2} C _inst_1 A) f) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u2 u1} (CategoryTheory.Over.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.instCategoryOver.{u1, u2} C _inst_1 A) f) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 u1} (CategoryTheory.Over.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.instCategoryOver.{u1, u2} C _inst_1 A) f) (CategoryTheory.instCategoryOver.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.instCategoryOver.{u1, u2} C _inst_1 A) f))) (CategoryTheory.Over.{u1, u2} C _inst_1 (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 A) f)) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 A) f)) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 A) f)) (CategoryTheory.instCategoryOver.{u1, u2} C _inst_1 (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 A) f)))) (CategoryTheory.Functor.toPrefunctor.{u1, u1, max u2 u1, max u2 u1} (CategoryTheory.Over.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.instCategoryOver.{u1, u2} C _inst_1 A) f) (CategoryTheory.instCategoryOver.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.instCategoryOver.{u1, u2} C _inst_1 A) f) (CategoryTheory.Over.{u1, u2} C _inst_1 (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 A) f)) (CategoryTheory.instCategoryOver.{u1, u2} C _inst_1 (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 A) f)) (CategoryTheory.Equivalence.functor.{u1, u1, max u2 u1, max u2 u1} (CategoryTheory.Over.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.instCategoryOver.{u1, u2} C _inst_1 A) f) (CategoryTheory.Over.{u1, u2} C _inst_1 (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 A) f)) (CategoryTheory.instCategoryOver.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.instCategoryOver.{u1, u2} C _inst_1 A) f) (CategoryTheory.instCategoryOver.{u1, u2} C _inst_1 (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 A) f)) (CategoryTheory.Over.iteratedSliceEquiv.{u1, u2} C _inst_1 A f))) (Prefunctor.obj.{succ u1, succ u1, max u2 u1, max u2 u1} (CategoryTheory.MonoOver.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.instCategoryOver.{u1, u2} C _inst_1 A) f) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u2 u1} (CategoryTheory.MonoOver.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.instCategoryOver.{u1, u2} C _inst_1 A) f) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 u1} (CategoryTheory.MonoOver.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.instCategoryOver.{u1, u2} C _inst_1 A) f) (CategoryTheory.instCategoryMonoOver.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.instCategoryOver.{u1, u2} C _inst_1 A) f))) (CategoryTheory.Over.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.instCategoryOver.{u1, u2} C _inst_1 A) f) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u2 u1} (CategoryTheory.Over.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.instCategoryOver.{u1, u2} C _inst_1 A) f) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 u1} (CategoryTheory.Over.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.instCategoryOver.{u1, u2} C _inst_1 A) f) (CategoryTheory.instCategoryOver.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.instCategoryOver.{u1, u2} C _inst_1 A) f))) (CategoryTheory.Functor.toPrefunctor.{u1, u1, max u2 u1, max u2 u1} (CategoryTheory.MonoOver.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.instCategoryOver.{u1, u2} C _inst_1 A) f) (CategoryTheory.instCategoryMonoOver.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.instCategoryOver.{u1, u2} C _inst_1 A) f) (CategoryTheory.Over.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.instCategoryOver.{u1, u2} C _inst_1 A) f) (CategoryTheory.instCategoryOver.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.instCategoryOver.{u1, u2} C _inst_1 A) f) (CategoryTheory.MonoOver.forget.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.instCategoryOver.{u1, u2} C _inst_1 A) f)) f_1)))) (Prefunctor.obj.{succ u1, succ u1, u1, u2} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.Category.toCategoryStruct.{u1, u1} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}))) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u2} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 A) f))) (CategoryTheory.Comma.right.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 A) f)) (Prefunctor.obj.{succ u1, succ u1, max u2 u1, max u2 u1} (CategoryTheory.Over.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.instCategoryOver.{u1, u2} C _inst_1 A) f) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u2 u1} (CategoryTheory.Over.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.instCategoryOver.{u1, u2} C _inst_1 A) f) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 u1} (CategoryTheory.Over.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.instCategoryOver.{u1, u2} C _inst_1 A) f) (CategoryTheory.instCategoryOver.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.instCategoryOver.{u1, u2} C _inst_1 A) f))) (CategoryTheory.Over.{u1, u2} C _inst_1 (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 A) f)) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 A) f)) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 A) f)) (CategoryTheory.instCategoryOver.{u1, u2} C _inst_1 (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 A) f)))) (CategoryTheory.Functor.toPrefunctor.{u1, u1, max u2 u1, max u2 u1} (CategoryTheory.Over.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.instCategoryOver.{u1, u2} C _inst_1 A) f) (CategoryTheory.instCategoryOver.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.instCategoryOver.{u1, u2} C _inst_1 A) f) (CategoryTheory.Over.{u1, u2} C _inst_1 (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 A) f)) (CategoryTheory.instCategoryOver.{u1, u2} C _inst_1 (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 A) f)) (CategoryTheory.Equivalence.functor.{u1, u1, max u2 u1, max u2 u1} (CategoryTheory.Over.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.instCategoryOver.{u1, u2} C _inst_1 A) f) (CategoryTheory.Over.{u1, u2} C _inst_1 (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 A) f)) (CategoryTheory.instCategoryOver.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.instCategoryOver.{u1, u2} C _inst_1 A) f) (CategoryTheory.instCategoryOver.{u1, u2} C _inst_1 (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 A) f)) (CategoryTheory.Over.iteratedSliceEquiv.{u1, u2} C _inst_1 A f))) (Prefunctor.obj.{succ u1, succ u1, max u2 u1, max u2 u1} (CategoryTheory.MonoOver.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.instCategoryOver.{u1, u2} C _inst_1 A) f) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u2 u1} (CategoryTheory.MonoOver.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.instCategoryOver.{u1, u2} C _inst_1 A) f) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 u1} (CategoryTheory.MonoOver.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.instCategoryOver.{u1, u2} C _inst_1 A) f) (CategoryTheory.instCategoryMonoOver.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.instCategoryOver.{u1, u2} C _inst_1 A) f))) (CategoryTheory.Over.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.instCategoryOver.{u1, u2} C _inst_1 A) f) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u2 u1} (CategoryTheory.Over.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.instCategoryOver.{u1, u2} C _inst_1 A) f) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 u1} (CategoryTheory.Over.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.instCategoryOver.{u1, u2} C _inst_1 A) f) (CategoryTheory.instCategoryOver.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.instCategoryOver.{u1, u2} C _inst_1 A) f))) (CategoryTheory.Functor.toPrefunctor.{u1, u1, max u2 u1, max u2 u1} (CategoryTheory.MonoOver.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.instCategoryOver.{u1, u2} C _inst_1 A) f) (CategoryTheory.instCategoryMonoOver.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.instCategoryOver.{u1, u2} C _inst_1 A) f) (CategoryTheory.Over.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.instCategoryOver.{u1, u2} C _inst_1 A) f) (CategoryTheory.instCategoryOver.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.instCategoryOver.{u1, u2} C _inst_1 A) f) (CategoryTheory.MonoOver.forget.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.instCategoryOver.{u1, u2} C _inst_1 A) f)) f_1)))) (CategoryTheory.Comma.hom.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 A) f)) (Prefunctor.obj.{succ u1, succ u1, max u2 u1, max u2 u1} (CategoryTheory.Over.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.instCategoryOver.{u1, u2} C _inst_1 A) f) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u2 u1} (CategoryTheory.Over.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.instCategoryOver.{u1, u2} C _inst_1 A) f) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 u1} (CategoryTheory.Over.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.instCategoryOver.{u1, u2} C _inst_1 A) f) (CategoryTheory.instCategoryOver.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.instCategoryOver.{u1, u2} C _inst_1 A) f))) (CategoryTheory.Over.{u1, u2} C _inst_1 (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 A) f)) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 A) f)) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 A) f)) (CategoryTheory.instCategoryOver.{u1, u2} C _inst_1 (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 A) f)))) (CategoryTheory.Functor.toPrefunctor.{u1, u1, max u2 u1, max u2 u1} (CategoryTheory.Over.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.instCategoryOver.{u1, u2} C _inst_1 A) f) (CategoryTheory.instCategoryOver.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.instCategoryOver.{u1, u2} C _inst_1 A) f) (CategoryTheory.Over.{u1, u2} C _inst_1 (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 A) f)) (CategoryTheory.instCategoryOver.{u1, u2} C _inst_1 (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 A) f)) (CategoryTheory.Equivalence.functor.{u1, u1, max u2 u1, max u2 u1} (CategoryTheory.Over.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.instCategoryOver.{u1, u2} C _inst_1 A) f) (CategoryTheory.Over.{u1, u2} C _inst_1 (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 A) f)) (CategoryTheory.instCategoryOver.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.instCategoryOver.{u1, u2} C _inst_1 A) f) (CategoryTheory.instCategoryOver.{u1, u2} C _inst_1 (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 A) f)) (CategoryTheory.Over.iteratedSliceEquiv.{u1, u2} C _inst_1 A f))) (Prefunctor.obj.{succ u1, succ u1, max u2 u1, max u2 u1} (CategoryTheory.MonoOver.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.instCategoryOver.{u1, u2} C _inst_1 A) f) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u2 u1} (CategoryTheory.MonoOver.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.instCategoryOver.{u1, u2} C _inst_1 A) f) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 u1} (CategoryTheory.MonoOver.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.instCategoryOver.{u1, u2} C _inst_1 A) f) (CategoryTheory.instCategoryMonoOver.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.instCategoryOver.{u1, u2} C _inst_1 A) f))) (CategoryTheory.Over.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.instCategoryOver.{u1, u2} C _inst_1 A) f) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u2 u1} (CategoryTheory.Over.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.instCategoryOver.{u1, u2} C _inst_1 A) f) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 u1} (CategoryTheory.Over.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.instCategoryOver.{u1, u2} C _inst_1 A) f) (CategoryTheory.instCategoryOver.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.instCategoryOver.{u1, u2} C _inst_1 A) f))) (CategoryTheory.Functor.toPrefunctor.{u1, u1, max u2 u1, max u2 u1} (CategoryTheory.MonoOver.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.instCategoryOver.{u1, u2} C _inst_1 A) f) (CategoryTheory.instCategoryMonoOver.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.instCategoryOver.{u1, u2} C _inst_1 A) f) (CategoryTheory.Over.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.instCategoryOver.{u1, u2} C _inst_1 A) f) (CategoryTheory.instCategoryOver.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.instCategoryOver.{u1, u2} C _inst_1 A) f) (CategoryTheory.MonoOver.forget.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.instCategoryOver.{u1, u2} C _inst_1 A) f)) f_1)))) -> (forall (f_1 : CategoryTheory.MonoOver.{u1, u2} C _inst_1 (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 A) f)), CategoryTheory.Mono.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.instCategoryOver.{u1, u2} C _inst_1 A) (Prefunctor.obj.{succ u1, succ u1, max u2 u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.instCategoryOver.{u1, u2} C _inst_1 A))) (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.instCategoryOver.{u1, u2} C _inst_1 A))) (CategoryTheory.Functor.toPrefunctor.{u1, u1, max u2 u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.instCategoryOver.{u1, u2} C _inst_1 A) (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.instCategoryOver.{u1, u2} C _inst_1 A) (CategoryTheory.Functor.id.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.instCategoryOver.{u1, u2} C _inst_1 A))) (CategoryTheory.Comma.left.{u1, u1, u1, max u2 u1, u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.instCategoryOver.{u1, u2} C _inst_1 A) (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.instCategoryOver.{u1, u2} C _inst_1 A) (CategoryTheory.Functor.id.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.instCategoryOver.{u1, u2} C _inst_1 A)) (CategoryTheory.Functor.fromPUnit.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.instCategoryOver.{u1, u2} C _inst_1 A) f) (Prefunctor.obj.{succ u1, succ u1, max u2 u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 A) f)) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 A) f)) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 A) f)) (CategoryTheory.instCategoryOver.{u1, u2} C _inst_1 (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 A) f)))) (CategoryTheory.Over.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.instCategoryOver.{u1, u2} C _inst_1 A) f) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u2 u1} (CategoryTheory.Over.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.instCategoryOver.{u1, u2} C _inst_1 A) f) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 u1} (CategoryTheory.Over.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.instCategoryOver.{u1, u2} C _inst_1 A) f) (CategoryTheory.instCategoryOver.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.instCategoryOver.{u1, u2} C _inst_1 A) f))) (CategoryTheory.Functor.toPrefunctor.{u1, u1, max u2 u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 A) f)) (CategoryTheory.instCategoryOver.{u1, u2} C _inst_1 (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 A) f)) (CategoryTheory.Over.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.instCategoryOver.{u1, u2} C _inst_1 A) f) (CategoryTheory.instCategoryOver.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.instCategoryOver.{u1, u2} C _inst_1 A) f) (CategoryTheory.Equivalence.inverse.{u1, u1, max u2 u1, max u2 u1} (CategoryTheory.Over.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.instCategoryOver.{u1, u2} C _inst_1 A) f) (CategoryTheory.Over.{u1, u2} C _inst_1 (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 A) f)) (CategoryTheory.instCategoryOver.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.instCategoryOver.{u1, u2} C _inst_1 A) f) (CategoryTheory.instCategoryOver.{u1, u2} C _inst_1 (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 A) f)) (CategoryTheory.Over.iteratedSliceEquiv.{u1, u2} C _inst_1 A f))) (Prefunctor.obj.{succ u1, succ u1, max u2 u1, max u2 u1} (CategoryTheory.MonoOver.{u1, u2} C _inst_1 (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 A) f)) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u2 u1} (CategoryTheory.MonoOver.{u1, u2} C _inst_1 (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 A) f)) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 u1} (CategoryTheory.MonoOver.{u1, u2} C _inst_1 (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 A) f)) (CategoryTheory.instCategoryMonoOver.{u1, u2} C _inst_1 (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 A) f)))) (CategoryTheory.Over.{u1, u2} C _inst_1 (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 A) f)) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 A) f)) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 A) f)) (CategoryTheory.instCategoryOver.{u1, u2} C _inst_1 (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 A) f)))) (CategoryTheory.Functor.toPrefunctor.{u1, u1, max u2 u1, max u2 u1} (CategoryTheory.MonoOver.{u1, u2} C _inst_1 (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 A) f)) (CategoryTheory.instCategoryMonoOver.{u1, u2} C _inst_1 (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 A) f)) (CategoryTheory.Over.{u1, u2} C _inst_1 (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 A) f)) (CategoryTheory.instCategoryOver.{u1, u2} C _inst_1 (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 A) f)) (CategoryTheory.MonoOver.forget.{u1, u2} C _inst_1 (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 A) f))) f_1)))) (Prefunctor.obj.{succ u1, succ u1, u1, max u2 u1} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.Category.toCategoryStruct.{u1, u1} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}))) (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.instCategoryOver.{u1, u2} C _inst_1 A))) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, max u2 u1} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.instCategoryOver.{u1, u2} C _inst_1 A) (CategoryTheory.Functor.fromPUnit.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.instCategoryOver.{u1, u2} C _inst_1 A) f)) (CategoryTheory.Comma.right.{u1, u1, u1, max u2 u1, u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.instCategoryOver.{u1, u2} C _inst_1 A) (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.instCategoryOver.{u1, u2} C _inst_1 A) (CategoryTheory.Functor.id.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.instCategoryOver.{u1, u2} C _inst_1 A)) (CategoryTheory.Functor.fromPUnit.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.instCategoryOver.{u1, u2} C _inst_1 A) f) (Prefunctor.obj.{succ u1, succ u1, max u2 u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 A) f)) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 A) f)) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 A) f)) (CategoryTheory.instCategoryOver.{u1, u2} C _inst_1 (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 A) f)))) (CategoryTheory.Over.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.instCategoryOver.{u1, u2} C _inst_1 A) f) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u2 u1} (CategoryTheory.Over.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.instCategoryOver.{u1, u2} C _inst_1 A) f) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 u1} (CategoryTheory.Over.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.instCategoryOver.{u1, u2} C _inst_1 A) f) (CategoryTheory.instCategoryOver.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.instCategoryOver.{u1, u2} C _inst_1 A) f))) (CategoryTheory.Functor.toPrefunctor.{u1, u1, max u2 u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 A) f)) (CategoryTheory.instCategoryOver.{u1, u2} C _inst_1 (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 A) f)) (CategoryTheory.Over.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.instCategoryOver.{u1, u2} C _inst_1 A) f) (CategoryTheory.instCategoryOver.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.instCategoryOver.{u1, u2} C _inst_1 A) f) (CategoryTheory.Equivalence.inverse.{u1, u1, max u2 u1, max u2 u1} (CategoryTheory.Over.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.instCategoryOver.{u1, u2} C _inst_1 A) f) (CategoryTheory.Over.{u1, u2} C _inst_1 (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 A) f)) (CategoryTheory.instCategoryOver.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.instCategoryOver.{u1, u2} C _inst_1 A) f) (CategoryTheory.instCategoryOver.{u1, u2} C _inst_1 (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 A) f)) (CategoryTheory.Over.iteratedSliceEquiv.{u1, u2} C _inst_1 A f))) (Prefunctor.obj.{succ u1, succ u1, max u2 u1, max u2 u1} (CategoryTheory.MonoOver.{u1, u2} C _inst_1 (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 A) f)) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u2 u1} (CategoryTheory.MonoOver.{u1, u2} C _inst_1 (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 A) f)) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 u1} (CategoryTheory.MonoOver.{u1, u2} C _inst_1 (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 A) f)) (CategoryTheory.instCategoryMonoOver.{u1, u2} C _inst_1 (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 A) f)))) (CategoryTheory.Over.{u1, u2} C _inst_1 (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 A) f)) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 A) f)) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 A) f)) (CategoryTheory.instCategoryOver.{u1, u2} C _inst_1 (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 A) f)))) (CategoryTheory.Functor.toPrefunctor.{u1, u1, max u2 u1, max u2 u1} (CategoryTheory.MonoOver.{u1, u2} C _inst_1 (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 A) f)) (CategoryTheory.instCategoryMonoOver.{u1, u2} C _inst_1 (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 A) f)) (CategoryTheory.Over.{u1, u2} C _inst_1 (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 A) f)) (CategoryTheory.instCategoryOver.{u1, u2} C _inst_1 (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 A) f)) (CategoryTheory.MonoOver.forget.{u1, u2} C _inst_1 (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 A) f))) f_1)))) (CategoryTheory.Comma.hom.{u1, u1, u1, max u2 u1, u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.instCategoryOver.{u1, u2} C _inst_1 A) (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.instCategoryOver.{u1, u2} C _inst_1 A) (CategoryTheory.Functor.id.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.instCategoryOver.{u1, u2} C _inst_1 A)) (CategoryTheory.Functor.fromPUnit.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.instCategoryOver.{u1, u2} C _inst_1 A) f) (Prefunctor.obj.{succ u1, succ u1, max u2 u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 A) f)) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 A) f)) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 A) f)) (CategoryTheory.instCategoryOver.{u1, u2} C _inst_1 (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 A) f)))) (CategoryTheory.Over.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.instCategoryOver.{u1, u2} C _inst_1 A) f) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u2 u1} (CategoryTheory.Over.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.instCategoryOver.{u1, u2} C _inst_1 A) f) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 u1} (CategoryTheory.Over.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.instCategoryOver.{u1, u2} C _inst_1 A) f) (CategoryTheory.instCategoryOver.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.instCategoryOver.{u1, u2} C _inst_1 A) f))) (CategoryTheory.Functor.toPrefunctor.{u1, u1, max u2 u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 A) f)) (CategoryTheory.instCategoryOver.{u1, u2} C _inst_1 (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 A) f)) (CategoryTheory.Over.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.instCategoryOver.{u1, u2} C _inst_1 A) f) (CategoryTheory.instCategoryOver.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.instCategoryOver.{u1, u2} C _inst_1 A) f) (CategoryTheory.Equivalence.inverse.{u1, u1, max u2 u1, max u2 u1} (CategoryTheory.Over.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.instCategoryOver.{u1, u2} C _inst_1 A) f) (CategoryTheory.Over.{u1, u2} C _inst_1 (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 A) f)) (CategoryTheory.instCategoryOver.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.instCategoryOver.{u1, u2} C _inst_1 A) f) (CategoryTheory.instCategoryOver.{u1, u2} C _inst_1 (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 A) f)) (CategoryTheory.Over.iteratedSliceEquiv.{u1, u2} C _inst_1 A f))) (Prefunctor.obj.{succ u1, succ u1, max u2 u1, max u2 u1} (CategoryTheory.MonoOver.{u1, u2} C _inst_1 (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 A) f)) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u2 u1} (CategoryTheory.MonoOver.{u1, u2} C _inst_1 (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 A) f)) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 u1} (CategoryTheory.MonoOver.{u1, u2} C _inst_1 (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 A) f)) (CategoryTheory.instCategoryMonoOver.{u1, u2} C _inst_1 (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 A) f)))) (CategoryTheory.Over.{u1, u2} C _inst_1 (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 A) f)) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 A) f)) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 A) f)) (CategoryTheory.instCategoryOver.{u1, u2} C _inst_1 (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 A) f)))) (CategoryTheory.Functor.toPrefunctor.{u1, u1, max u2 u1, max u2 u1} (CategoryTheory.MonoOver.{u1, u2} C _inst_1 (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 A) f)) (CategoryTheory.instCategoryMonoOver.{u1, u2} C _inst_1 (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 A) f)) (CategoryTheory.Over.{u1, u2} C _inst_1 (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 A) f)) (CategoryTheory.instCategoryOver.{u1, u2} C _inst_1 (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 A) f)) (CategoryTheory.MonoOver.forget.{u1, u2} C _inst_1 (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 A) f))) f_1)))) -> (CategoryTheory.Equivalence.{u1, u1, max u2 u1, max u2 u1} (CategoryTheory.MonoOver.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.instCategoryOver.{u1, u2} C _inst_1 A) f) (CategoryTheory.MonoOver.{u1, u2} C _inst_1 (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 A) f)) (CategoryTheory.instCategoryMonoOver.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.instCategoryOver.{u1, u2} C _inst_1 A) f) (CategoryTheory.instCategoryMonoOver.{u1, u2} C _inst_1 (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 A) f)))
+<too large>
 Case conversion may be inaccurate. Consider using '#align category_theory.mono_over.slice CategoryTheory.MonoOver.sliceₓ'. -/
 /-- Monomorphisms over an object `f : over A` in an over category
 are equivalent to monomorphisms over the source of `f`.
@@ -334,10 +310,7 @@ def pullbackId : pullback (𝟙 X) ≅ 𝟭 _ :=
 -/
 
 /- warning: category_theory.mono_over.pullback_obj_left -> CategoryTheory.MonoOver.pullback_obj_left is a dubious translation:
-lean 3 declaration is
-  forall {C : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} C] {X : C} {Y : C} [_inst_3 : CategoryTheory.Limits.HasPullbacks.{u1, u2} C _inst_1] (f : Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) X Y) (g : CategoryTheory.MonoOver.{u1, u2} C _inst_1 Y), Eq.{succ u2} C ((fun (a : Type.{max u2 u1}) (b : Type.{u2}) [self : HasLiftT.{succ (max u2 u1), succ u2} a b] => self.0) (CategoryTheory.MonoOver.{u1, u2} C _inst_1 X) C (HasLiftT.mk.{succ (max u2 u1), succ u2} (CategoryTheory.MonoOver.{u1, u2} C _inst_1 X) C (CoeTCₓ.coe.{succ (max u2 u1), succ u2} (CategoryTheory.MonoOver.{u1, u2} C _inst_1 X) C (coeBase.{succ (max u2 u1), succ u2} (CategoryTheory.MonoOver.{u1, u2} C _inst_1 X) C (CategoryTheory.MonoOver.hasCoe.{u1, u2} C _inst_1 X)))) (CategoryTheory.Functor.obj.{u1, u1, max u2 u1, max u2 u1} (CategoryTheory.MonoOver.{u1, u2} C _inst_1 Y) (CategoryTheory.MonoOver.category.{u2, u1} C _inst_1 Y) (CategoryTheory.MonoOver.{u1, u2} C _inst_1 X) (CategoryTheory.MonoOver.category.{u2, u1} C _inst_1 X) (CategoryTheory.MonoOver.pullback.{u1, u2} C _inst_1 X Y _inst_3 f) g)) (CategoryTheory.Limits.pullback.{u1, u2} C _inst_1 ((fun (a : Type.{max u2 u1}) (b : Type.{u2}) [self : HasLiftT.{succ (max u2 u1), succ u2} a b] => self.0) (CategoryTheory.MonoOver.{u1, u2} C _inst_1 Y) C (HasLiftT.mk.{succ (max u2 u1), succ u2} (CategoryTheory.MonoOver.{u1, u2} C _inst_1 Y) C (CoeTCₓ.coe.{succ (max u2 u1), succ u2} (CategoryTheory.MonoOver.{u1, u2} C _inst_1 Y) C (coeBase.{succ (max u2 u1), succ u2} (CategoryTheory.MonoOver.{u1, u2} C _inst_1 Y) C (CategoryTheory.MonoOver.hasCoe.{u1, u2} C _inst_1 Y)))) g) X Y (CategoryTheory.MonoOver.arrow.{u1, u2} C _inst_1 Y g) f (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u1, u2} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_3 (CategoryTheory.Limits.cospan.{u1, u2} C _inst_1 ((fun (a : Type.{max u2 u1}) (b : Type.{u2}) [self : HasLiftT.{succ (max u2 u1), succ u2} a b] => self.0) (CategoryTheory.MonoOver.{u1, u2} C _inst_1 Y) C (HasLiftT.mk.{succ (max u2 u1), succ u2} (CategoryTheory.MonoOver.{u1, u2} C _inst_1 Y) C (CoeTCₓ.coe.{succ (max u2 u1), succ u2} (CategoryTheory.MonoOver.{u1, u2} C _inst_1 Y) C (coeBase.{succ (max u2 u1), succ u2} (CategoryTheory.MonoOver.{u1, u2} C _inst_1 Y) C (CategoryTheory.MonoOver.hasCoe.{u1, u2} C _inst_1 Y)))) g) X Y (CategoryTheory.MonoOver.arrow.{u1, u2} C _inst_1 Y g) f)))
-but is expected to have type
-  forall {C : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} C] {X : C} {Y : C} [_inst_3 : CategoryTheory.Limits.HasPullbacks.{u1, u2} C _inst_1] (f : Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) X Y) (g : CategoryTheory.MonoOver.{u1, u2} C _inst_1 Y), Eq.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 X) (CategoryTheory.FullSubcategory.obj.{max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 X) (fun (f : CategoryTheory.Over.{u1, u2} C _inst_1 X) => CategoryTheory.Mono.{u1, u2} C _inst_1 (Prefunctor.obj.{succ u1, succ u1, u2, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u2, u2} C _inst_1 C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1)) (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 X) f)) (Prefunctor.obj.{succ u1, succ u1, u1, u2} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.Category.toCategoryStruct.{u1, u1} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}))) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u2} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 X)) (CategoryTheory.Comma.right.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 X) f)) (CategoryTheory.Comma.hom.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 X) f)) (Prefunctor.obj.{succ u1, succ u1, max u2 u1, max u2 u1} (CategoryTheory.MonoOver.{u1, u2} C _inst_1 Y) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u2 u1} (CategoryTheory.MonoOver.{u1, u2} C _inst_1 Y) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 u1} (CategoryTheory.MonoOver.{u1, u2} C _inst_1 Y) (CategoryTheory.instCategoryMonoOver.{u1, u2} C _inst_1 Y))) (CategoryTheory.MonoOver.{u1, u2} C _inst_1 X) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u2 u1} (CategoryTheory.MonoOver.{u1, u2} C _inst_1 X) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 u1} (CategoryTheory.MonoOver.{u1, u2} C _inst_1 X) (CategoryTheory.instCategoryMonoOver.{u1, u2} C _inst_1 X))) (CategoryTheory.Functor.toPrefunctor.{u1, u1, max u2 u1, max u2 u1} (CategoryTheory.MonoOver.{u1, u2} C _inst_1 Y) (CategoryTheory.instCategoryMonoOver.{u1, u2} C _inst_1 Y) (CategoryTheory.MonoOver.{u1, u2} C _inst_1 X) (CategoryTheory.instCategoryMonoOver.{u1, u2} C _inst_1 X) (CategoryTheory.MonoOver.pullback.{u1, u2} C _inst_1 X Y _inst_3 f)) g))) (CategoryTheory.Limits.pullback.{u1, u2} C _inst_1 (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 Y) (CategoryTheory.FullSubcategory.obj.{max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 Y) (fun (f : CategoryTheory.Over.{u1, u2} C _inst_1 Y) => CategoryTheory.Mono.{u1, u2} C _inst_1 (Prefunctor.obj.{succ u1, succ u1, u2, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u2, u2} C _inst_1 C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1)) (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 Y) f)) (Prefunctor.obj.{succ u1, succ u1, u1, u2} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.Category.toCategoryStruct.{u1, u1} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}))) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u2} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 Y)) (CategoryTheory.Comma.right.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 Y) f)) (CategoryTheory.Comma.hom.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 Y) f)) g)) X Y (CategoryTheory.MonoOver.arrow.{u1, u2} C _inst_1 Y g) f (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u1, u2} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_3 (CategoryTheory.Limits.cospan.{u1, u2} C _inst_1 (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 Y) (CategoryTheory.FullSubcategory.obj.{max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 Y) (fun (f : CategoryTheory.Over.{u1, u2} C _inst_1 Y) => CategoryTheory.Mono.{u1, u2} C _inst_1 (Prefunctor.obj.{succ u1, succ u1, u2, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u2, u2} C _inst_1 C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1)) (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 Y) f)) (Prefunctor.obj.{succ u1, succ u1, u1, u2} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.Category.toCategoryStruct.{u1, u1} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}))) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u2} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 Y)) (CategoryTheory.Comma.right.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 Y) f)) (CategoryTheory.Comma.hom.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 Y) f)) g)) X Y (CategoryTheory.MonoOver.arrow.{u1, u2} C _inst_1 Y g) f)))
+<too large>
 Case conversion may be inaccurate. Consider using '#align category_theory.mono_over.pullback_obj_left CategoryTheory.MonoOver.pullback_obj_leftₓ'. -/
 @[simp]
 theorem pullback_obj_left (f : X ⟶ Y) (g : MonoOver Y) :
@@ -346,10 +319,7 @@ theorem pullback_obj_left (f : X ⟶ Y) (g : MonoOver Y) :
 #align category_theory.mono_over.pullback_obj_left CategoryTheory.MonoOver.pullback_obj_left
 
 /- warning: category_theory.mono_over.pullback_obj_arrow -> CategoryTheory.MonoOver.pullback_obj_arrow is a dubious translation:
-lean 3 declaration is
-  forall {C : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} C] {X : C} {Y : C} [_inst_3 : CategoryTheory.Limits.HasPullbacks.{u1, u2} C _inst_1] (f : Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) X Y) (g : CategoryTheory.MonoOver.{u1, u2} C _inst_1 Y), Eq.{succ u1} (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) ((fun (a : Type.{max u2 u1}) (b : Type.{u2}) [self : HasLiftT.{succ (max u2 u1), succ u2} a b] => self.0) (CategoryTheory.MonoOver.{u1, u2} C _inst_1 X) C (HasLiftT.mk.{succ (max u2 u1), succ u2} (CategoryTheory.MonoOver.{u1, u2} C _inst_1 X) C (CoeTCₓ.coe.{succ (max u2 u1), succ u2} (CategoryTheory.MonoOver.{u1, u2} C _inst_1 X) C (coeBase.{succ (max u2 u1), succ u2} (CategoryTheory.MonoOver.{u1, u2} C _inst_1 X) C (CategoryTheory.MonoOver.hasCoe.{u1, u2} C _inst_1 X)))) (CategoryTheory.Functor.obj.{u1, u1, max u2 u1, max u2 u1} (CategoryTheory.MonoOver.{u1, u2} C _inst_1 Y) (CategoryTheory.MonoOver.category.{u2, u1} C _inst_1 Y) (CategoryTheory.MonoOver.{u1, u2} C _inst_1 X) (CategoryTheory.MonoOver.category.{u2, u1} C _inst_1 X) (CategoryTheory.MonoOver.pullback.{u1, u2} C _inst_1 X Y _inst_3 f) g)) X) (CategoryTheory.MonoOver.arrow.{u1, u2} C _inst_1 X (CategoryTheory.Functor.obj.{u1, u1, max u2 u1, max u2 u1} (CategoryTheory.MonoOver.{u1, u2} C _inst_1 Y) (CategoryTheory.MonoOver.category.{u2, u1} C _inst_1 Y) (CategoryTheory.MonoOver.{u1, u2} C _inst_1 X) (CategoryTheory.MonoOver.category.{u2, u1} C _inst_1 X) (CategoryTheory.MonoOver.pullback.{u1, u2} C _inst_1 X Y _inst_3 f) g)) (CategoryTheory.Limits.pullback.snd.{u1, u2} C _inst_1 (CategoryTheory.Functor.obj.{u1, u1, u2, u2} C _inst_1 C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 Y) (CategoryTheory.Functor.obj.{u1, u1, max u2 u1, max u2 u1} (CategoryTheory.MonoOver.{u1, u2} C _inst_1 Y) (CategoryTheory.InducedCategory.category.{u1, max u2 u1, max u2 u1} (CategoryTheory.FullSubcategoryₓ.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 Y) (CategoryTheory.Over.category.{u2, u1} C _inst_1 Y) (fun (f : CategoryTheory.Over.{u1, u2} C _inst_1 Y) => CategoryTheory.Mono.{u1, u2} C _inst_1 (CategoryTheory.Functor.obj.{u1, u1, u2, u2} C _inst_1 C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 Y) f)) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 Y) (CategoryTheory.Comma.right.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 Y) f)) (CategoryTheory.Comma.hom.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 Y) f))) (CategoryTheory.Over.{u1, u2} C _inst_1 Y) (CategoryTheory.Over.category.{u2, u1} C _inst_1 Y) (CategoryTheory.FullSubcategoryₓ.obj.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 Y) (CategoryTheory.Over.category.{u2, u1} C _inst_1 Y) (fun (f : CategoryTheory.Over.{u1, u2} C _inst_1 Y) => CategoryTheory.Mono.{u1, u2} C _inst_1 (CategoryTheory.Functor.obj.{u1, u1, u2, u2} C _inst_1 C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 Y) f)) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 Y) (CategoryTheory.Comma.right.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 Y) f)) (CategoryTheory.Comma.hom.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 Y) f)))) (CategoryTheory.Over.{u1, u2} C _inst_1 Y) (CategoryTheory.Over.category.{u2, u1} C _inst_1 Y) (CategoryTheory.MonoOver.forget.{u1, u2} C _inst_1 Y) g))) X (CategoryTheory.Functor.obj.{u1, u1, u1, u2} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 Y) (CategoryTheory.Comma.right.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 Y) (CategoryTheory.Functor.obj.{u1, u1, max u2 u1, max u2 u1} (CategoryTheory.MonoOver.{u1, u2} C _inst_1 Y) (CategoryTheory.InducedCategory.category.{u1, max u2 u1, max u2 u1} (CategoryTheory.FullSubcategoryₓ.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 Y) (CategoryTheory.Over.category.{u2, u1} C _inst_1 Y) (fun (f : CategoryTheory.Over.{u1, u2} C _inst_1 Y) => CategoryTheory.Mono.{u1, u2} C _inst_1 (CategoryTheory.Functor.obj.{u1, u1, u2, u2} C _inst_1 C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 Y) f)) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 Y) (CategoryTheory.Comma.right.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 Y) f)) (CategoryTheory.Comma.hom.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 Y) f))) (CategoryTheory.Over.{u1, u2} C _inst_1 Y) (CategoryTheory.Over.category.{u2, u1} C _inst_1 Y) (CategoryTheory.FullSubcategoryₓ.obj.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 Y) (CategoryTheory.Over.category.{u2, u1} C _inst_1 Y) (fun (f : CategoryTheory.Over.{u1, u2} C _inst_1 Y) => CategoryTheory.Mono.{u1, u2} C _inst_1 (CategoryTheory.Functor.obj.{u1, u1, u2, u2} C _inst_1 C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 Y) f)) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 Y) (CategoryTheory.Comma.right.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 Y) f)) (CategoryTheory.Comma.hom.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 Y) f)))) (CategoryTheory.Over.{u1, u2} C _inst_1 Y) (CategoryTheory.Over.category.{u2, u1} C _inst_1 Y) (CategoryTheory.MonoOver.forget.{u1, u2} C _inst_1 Y) g))) (CategoryTheory.Comma.hom.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 Y) (CategoryTheory.Functor.obj.{u1, u1, max u2 u1, max u2 u1} (CategoryTheory.MonoOver.{u1, u2} C _inst_1 Y) (CategoryTheory.InducedCategory.category.{u1, max u2 u1, max u2 u1} (CategoryTheory.FullSubcategoryₓ.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 Y) (CategoryTheory.Over.category.{u2, u1} C _inst_1 Y) (fun (f : CategoryTheory.Over.{u1, u2} C _inst_1 Y) => CategoryTheory.Mono.{u1, u2} C _inst_1 (CategoryTheory.Functor.obj.{u1, u1, u2, u2} C _inst_1 C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 Y) f)) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 Y) (CategoryTheory.Comma.right.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 Y) f)) (CategoryTheory.Comma.hom.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 Y) f))) (CategoryTheory.Over.{u1, u2} C _inst_1 Y) (CategoryTheory.Over.category.{u2, u1} C _inst_1 Y) (CategoryTheory.FullSubcategoryₓ.obj.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 Y) (CategoryTheory.Over.category.{u2, u1} C _inst_1 Y) (fun (f : CategoryTheory.Over.{u1, u2} C _inst_1 Y) => CategoryTheory.Mono.{u1, u2} C _inst_1 (CategoryTheory.Functor.obj.{u1, u1, u2, u2} C _inst_1 C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 Y) f)) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 Y) (CategoryTheory.Comma.right.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 Y) f)) (CategoryTheory.Comma.hom.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 Y) f)))) (CategoryTheory.Over.{u1, u2} C _inst_1 Y) (CategoryTheory.Over.category.{u2, u1} C _inst_1 Y) (CategoryTheory.MonoOver.forget.{u1, u2} C _inst_1 Y) g)) f (CategoryTheory.Over.pullback._proof_1.{u2, u1} C _inst_1 _inst_3 X Y f (CategoryTheory.Functor.obj.{u1, u1, max u2 u1, max u2 u1} (CategoryTheory.MonoOver.{u1, u2} C _inst_1 Y) (CategoryTheory.InducedCategory.category.{u1, max u2 u1, max u2 u1} (CategoryTheory.FullSubcategoryₓ.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 Y) (CategoryTheory.Over.category.{u2, u1} C _inst_1 Y) (fun (f : CategoryTheory.Over.{u1, u2} C _inst_1 Y) => CategoryTheory.Mono.{u1, u2} C _inst_1 (CategoryTheory.Functor.obj.{u1, u1, u2, u2} C _inst_1 C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 Y) f)) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 Y) (CategoryTheory.Comma.right.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 Y) f)) (CategoryTheory.Comma.hom.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 Y) f))) (CategoryTheory.Over.{u1, u2} C _inst_1 Y) (CategoryTheory.Over.category.{u2, u1} C _inst_1 Y) (CategoryTheory.FullSubcategoryₓ.obj.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 Y) (CategoryTheory.Over.category.{u2, u1} C _inst_1 Y) (fun (f : CategoryTheory.Over.{u1, u2} C _inst_1 Y) => CategoryTheory.Mono.{u1, u2} C _inst_1 (CategoryTheory.Functor.obj.{u1, u1, u2, u2} C _inst_1 C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 Y) f)) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 Y) (CategoryTheory.Comma.right.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 Y) f)) (CategoryTheory.Comma.hom.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 Y) f)))) (CategoryTheory.Over.{u1, u2} C _inst_1 Y) (CategoryTheory.Over.category.{u2, u1} C _inst_1 Y) (CategoryTheory.MonoOver.forget.{u1, u2} C _inst_1 Y) g)))
-but is expected to have type
-  forall {C : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} C] {X : C} {Y : C} [_inst_3 : CategoryTheory.Limits.HasPullbacks.{u1, u2} C _inst_1] (f : Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) X Y) (g : CategoryTheory.MonoOver.{u1, u2} C _inst_1 Y), Eq.{succ u1} (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 X) (CategoryTheory.FullSubcategory.obj.{max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 X) (fun (f : CategoryTheory.Over.{u1, u2} C _inst_1 X) => CategoryTheory.Mono.{u1, u2} C _inst_1 (Prefunctor.obj.{succ u1, succ u1, u2, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u2, u2} C _inst_1 C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1)) (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 X) f)) (Prefunctor.obj.{succ u1, succ u1, u1, u2} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.Category.toCategoryStruct.{u1, u1} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}))) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u2} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 X)) (CategoryTheory.Comma.right.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 X) f)) (CategoryTheory.Comma.hom.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 X) f)) (Prefunctor.obj.{succ u1, succ u1, max u2 u1, max u2 u1} (CategoryTheory.MonoOver.{u1, u2} C _inst_1 Y) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u2 u1} (CategoryTheory.MonoOver.{u1, u2} C _inst_1 Y) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 u1} (CategoryTheory.MonoOver.{u1, u2} C _inst_1 Y) (CategoryTheory.instCategoryMonoOver.{u1, u2} C _inst_1 Y))) (CategoryTheory.MonoOver.{u1, u2} C _inst_1 X) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u2 u1} (CategoryTheory.MonoOver.{u1, u2} C _inst_1 X) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 u1} (CategoryTheory.MonoOver.{u1, u2} C _inst_1 X) (CategoryTheory.instCategoryMonoOver.{u1, u2} C _inst_1 X))) (CategoryTheory.Functor.toPrefunctor.{u1, u1, max u2 u1, max u2 u1} (CategoryTheory.MonoOver.{u1, u2} C _inst_1 Y) (CategoryTheory.instCategoryMonoOver.{u1, u2} C _inst_1 Y) (CategoryTheory.MonoOver.{u1, u2} C _inst_1 X) (CategoryTheory.instCategoryMonoOver.{u1, u2} C _inst_1 X) (CategoryTheory.MonoOver.pullback.{u1, u2} C _inst_1 X Y _inst_3 f)) g))) X) (CategoryTheory.MonoOver.arrow.{u1, u2} C _inst_1 X (Prefunctor.obj.{succ u1, succ u1, max u2 u1, max u2 u1} (CategoryTheory.MonoOver.{u1, u2} C _inst_1 Y) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u2 u1} (CategoryTheory.MonoOver.{u1, u2} C _inst_1 Y) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 u1} (CategoryTheory.MonoOver.{u1, u2} C _inst_1 Y) (CategoryTheory.instCategoryMonoOver.{u1, u2} C _inst_1 Y))) (CategoryTheory.MonoOver.{u1, u2} C _inst_1 X) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u2 u1} (CategoryTheory.MonoOver.{u1, u2} C _inst_1 X) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 u1} (CategoryTheory.MonoOver.{u1, u2} C _inst_1 X) (CategoryTheory.instCategoryMonoOver.{u1, u2} C _inst_1 X))) (CategoryTheory.Functor.toPrefunctor.{u1, u1, max u2 u1, max u2 u1} (CategoryTheory.MonoOver.{u1, u2} C _inst_1 Y) (CategoryTheory.instCategoryMonoOver.{u1, u2} C _inst_1 Y) (CategoryTheory.MonoOver.{u1, u2} C _inst_1 X) (CategoryTheory.instCategoryMonoOver.{u1, u2} C _inst_1 X) (CategoryTheory.MonoOver.pullback.{u1, u2} C _inst_1 X Y _inst_3 f)) g)) (CategoryTheory.Limits.pullback.snd.{u1, u2} C _inst_1 (Prefunctor.obj.{succ u1, succ u1, u2, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u2, u2} C _inst_1 C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1)) (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 Y) (Prefunctor.obj.{succ u1, succ u1, max u2 u1, max u2 u1} (CategoryTheory.MonoOver.{u1, u2} C _inst_1 Y) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u2 u1} (CategoryTheory.MonoOver.{u1, u2} C _inst_1 Y) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 u1} (CategoryTheory.MonoOver.{u1, u2} C _inst_1 Y) (CategoryTheory.instCategoryMonoOver.{u1, u2} C _inst_1 Y))) (CategoryTheory.Over.{u1, u2} C _inst_1 Y) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 Y) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 Y) (CategoryTheory.instCategoryOver.{u1, u2} C _inst_1 Y))) (CategoryTheory.Functor.toPrefunctor.{u1, u1, max u2 u1, max u2 u1} (CategoryTheory.MonoOver.{u1, u2} C _inst_1 Y) (CategoryTheory.instCategoryMonoOver.{u1, u2} C _inst_1 Y) (CategoryTheory.Over.{u1, u2} C _inst_1 Y) (CategoryTheory.instCategoryOver.{u1, u2} C _inst_1 Y) (CategoryTheory.MonoOver.forget.{u1, u2} C _inst_1 Y)) g))) X (Prefunctor.obj.{succ u1, succ u1, u1, u2} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.Category.toCategoryStruct.{u1, u1} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}))) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u2} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 Y)) (CategoryTheory.Comma.right.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 Y) (Prefunctor.obj.{succ u1, succ u1, max u2 u1, max u2 u1} (CategoryTheory.MonoOver.{u1, u2} C _inst_1 Y) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u2 u1} (CategoryTheory.MonoOver.{u1, u2} C _inst_1 Y) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 u1} (CategoryTheory.MonoOver.{u1, u2} C _inst_1 Y) (CategoryTheory.instCategoryMonoOver.{u1, u2} C _inst_1 Y))) (CategoryTheory.Over.{u1, u2} C _inst_1 Y) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 Y) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 Y) (CategoryTheory.instCategoryOver.{u1, u2} C _inst_1 Y))) (CategoryTheory.Functor.toPrefunctor.{u1, u1, max u2 u1, max u2 u1} (CategoryTheory.MonoOver.{u1, u2} C _inst_1 Y) (CategoryTheory.instCategoryMonoOver.{u1, u2} C _inst_1 Y) (CategoryTheory.Over.{u1, u2} C _inst_1 Y) (CategoryTheory.instCategoryOver.{u1, u2} C _inst_1 Y) (CategoryTheory.MonoOver.forget.{u1, u2} C _inst_1 Y)) g))) (CategoryTheory.Comma.hom.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 Y) (Prefunctor.obj.{succ u1, succ u1, max u2 u1, max u2 u1} (CategoryTheory.MonoOver.{u1, u2} C _inst_1 Y) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u2 u1} (CategoryTheory.MonoOver.{u1, u2} C _inst_1 Y) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 u1} (CategoryTheory.MonoOver.{u1, u2} C _inst_1 Y) (CategoryTheory.instCategoryMonoOver.{u1, u2} C _inst_1 Y))) (CategoryTheory.Over.{u1, u2} C _inst_1 Y) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 Y) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 Y) (CategoryTheory.instCategoryOver.{u1, u2} C _inst_1 Y))) (CategoryTheory.Functor.toPrefunctor.{u1, u1, max u2 u1, max u2 u1} (CategoryTheory.MonoOver.{u1, u2} C _inst_1 Y) (CategoryTheory.instCategoryMonoOver.{u1, u2} C _inst_1 Y) (CategoryTheory.Over.{u1, u2} C _inst_1 Y) (CategoryTheory.instCategoryOver.{u1, u2} C _inst_1 Y) (CategoryTheory.MonoOver.forget.{u1, u2} C _inst_1 Y)) g)) f (CategoryTheory.Over.pullback.proof_1.{u1, u2} C _inst_1 _inst_3 X Y f (Prefunctor.obj.{succ u1, succ u1, max u2 u1, max u2 u1} (CategoryTheory.MonoOver.{u1, u2} C _inst_1 Y) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u2 u1} (CategoryTheory.MonoOver.{u1, u2} C _inst_1 Y) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 u1} (CategoryTheory.MonoOver.{u1, u2} C _inst_1 Y) (CategoryTheory.instCategoryMonoOver.{u1, u2} C _inst_1 Y))) (CategoryTheory.Over.{u1, u2} C _inst_1 Y) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 Y) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 Y) (CategoryTheory.instCategoryOver.{u1, u2} C _inst_1 Y))) (CategoryTheory.Functor.toPrefunctor.{u1, u1, max u2 u1, max u2 u1} (CategoryTheory.MonoOver.{u1, u2} C _inst_1 Y) (CategoryTheory.instCategoryMonoOver.{u1, u2} C _inst_1 Y) (CategoryTheory.Over.{u1, u2} C _inst_1 Y) (CategoryTheory.instCategoryOver.{u1, u2} C _inst_1 Y) (CategoryTheory.MonoOver.forget.{u1, u2} C _inst_1 Y)) g)))
+<too large>
 Case conversion may be inaccurate. Consider using '#align category_theory.mono_over.pullback_obj_arrow CategoryTheory.MonoOver.pullback_obj_arrowₓ'. -/
 @[simp]
 theorem pullback_obj_arrow (f : X ⟶ Y) (g : MonoOver Y) :
@@ -398,10 +368,7 @@ theorem map_obj_left (f : X ⟶ Y) [Mono f] (g : MonoOver X) : ((map f).obj g :
 #align category_theory.mono_over.map_obj_left CategoryTheory.MonoOver.map_obj_left
 
 /- warning: category_theory.mono_over.map_obj_arrow -> CategoryTheory.MonoOver.map_obj_arrow is a dubious translation:
-lean 3 declaration is
-  forall {C : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} C] {X : C} {Y : C} (f : Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) X Y) [_inst_3 : CategoryTheory.Mono.{u1, u2} C _inst_1 X Y f] (g : CategoryTheory.MonoOver.{u1, u2} C _inst_1 X), Eq.{succ u1} (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) ((fun (a : Type.{max u2 u1}) (b : Type.{u2}) [self : HasLiftT.{succ (max u2 u1), succ u2} a b] => self.0) (CategoryTheory.MonoOver.{u1, u2} C _inst_1 Y) C (HasLiftT.mk.{succ (max u2 u1), succ u2} (CategoryTheory.MonoOver.{u1, u2} C _inst_1 Y) C (CoeTCₓ.coe.{succ (max u2 u1), succ u2} (CategoryTheory.MonoOver.{u1, u2} C _inst_1 Y) C (coeBase.{succ (max u2 u1), succ u2} (CategoryTheory.MonoOver.{u1, u2} C _inst_1 Y) C (CategoryTheory.MonoOver.hasCoe.{u1, u2} C _inst_1 Y)))) (CategoryTheory.Functor.obj.{u1, u1, max u2 u1, max u2 u1} (CategoryTheory.MonoOver.{u1, u2} C _inst_1 X) (CategoryTheory.MonoOver.category.{u2, u1} C _inst_1 X) (CategoryTheory.MonoOver.{u1, u2} C _inst_1 Y) (CategoryTheory.MonoOver.category.{u2, u1} C _inst_1 Y) (CategoryTheory.MonoOver.map.{u1, u2} C _inst_1 X Y f _inst_3) g)) Y) (CategoryTheory.MonoOver.arrow.{u1, u2} C _inst_1 Y (CategoryTheory.Functor.obj.{u1, u1, max u2 u1, max u2 u1} (CategoryTheory.MonoOver.{u1, u2} C _inst_1 X) (CategoryTheory.MonoOver.category.{u2, u1} C _inst_1 X) (CategoryTheory.MonoOver.{u1, u2} C _inst_1 Y) (CategoryTheory.MonoOver.category.{u2, u1} C _inst_1 Y) (CategoryTheory.MonoOver.map.{u1, u2} C _inst_1 X Y f _inst_3) g)) (CategoryTheory.CategoryStruct.comp.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1) ((fun (a : Type.{max u2 u1}) (b : Type.{u2}) [self : HasLiftT.{succ (max u2 u1), succ u2} a b] => self.0) (CategoryTheory.MonoOver.{u1, u2} C _inst_1 Y) C (HasLiftT.mk.{succ (max u2 u1), succ u2} (CategoryTheory.MonoOver.{u1, u2} C _inst_1 Y) C (CoeTCₓ.coe.{succ (max u2 u1), succ u2} (CategoryTheory.MonoOver.{u1, u2} C _inst_1 Y) C (coeBase.{succ (max u2 u1), succ u2} (CategoryTheory.MonoOver.{u1, u2} C _inst_1 Y) C (CategoryTheory.MonoOver.hasCoe.{u1, u2} C _inst_1 Y)))) (CategoryTheory.Functor.obj.{u1, u1, max u2 u1, max u2 u1} (CategoryTheory.MonoOver.{u1, u2} C _inst_1 X) (CategoryTheory.MonoOver.category.{u2, u1} C _inst_1 X) (CategoryTheory.MonoOver.{u1, u2} C _inst_1 Y) (CategoryTheory.MonoOver.category.{u2, u1} C _inst_1 Y) (CategoryTheory.MonoOver.map.{u1, u2} C _inst_1 X Y f _inst_3) g)) X Y (CategoryTheory.MonoOver.arrow.{u1, u2} C _inst_1 X g) f)
-but is expected to have type
-  forall {C : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} C] {X : C} {Y : C} (f : Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) X Y) [_inst_3 : CategoryTheory.Mono.{u1, u2} C _inst_1 X Y f] (g : CategoryTheory.MonoOver.{u1, u2} C _inst_1 X), Eq.{succ u1} (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 Y) (CategoryTheory.FullSubcategory.obj.{max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 Y) (fun (f : CategoryTheory.Over.{u1, u2} C _inst_1 Y) => CategoryTheory.Mono.{u1, u2} C _inst_1 (Prefunctor.obj.{succ u1, succ u1, u2, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u2, u2} C _inst_1 C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1)) (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 Y) f)) (Prefunctor.obj.{succ u1, succ u1, u1, u2} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.Category.toCategoryStruct.{u1, u1} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}))) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u2} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 Y)) (CategoryTheory.Comma.right.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 Y) f)) (CategoryTheory.Comma.hom.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 Y) f)) (Prefunctor.obj.{succ u1, succ u1, max u2 u1, max u2 u1} (CategoryTheory.MonoOver.{u1, u2} C _inst_1 X) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u2 u1} (CategoryTheory.MonoOver.{u1, u2} C _inst_1 X) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 u1} (CategoryTheory.MonoOver.{u1, u2} C _inst_1 X) (CategoryTheory.instCategoryMonoOver.{u1, u2} C _inst_1 X))) (CategoryTheory.MonoOver.{u1, u2} C _inst_1 Y) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u2 u1} (CategoryTheory.MonoOver.{u1, u2} C _inst_1 Y) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 u1} (CategoryTheory.MonoOver.{u1, u2} C _inst_1 Y) (CategoryTheory.instCategoryMonoOver.{u1, u2} C _inst_1 Y))) (CategoryTheory.Functor.toPrefunctor.{u1, u1, max u2 u1, max u2 u1} (CategoryTheory.MonoOver.{u1, u2} C _inst_1 X) (CategoryTheory.instCategoryMonoOver.{u1, u2} C _inst_1 X) (CategoryTheory.MonoOver.{u1, u2} C _inst_1 Y) (CategoryTheory.instCategoryMonoOver.{u1, u2} C _inst_1 Y) (CategoryTheory.MonoOver.map.{u1, u2} C _inst_1 X Y f _inst_3)) g))) Y) (CategoryTheory.MonoOver.arrow.{u1, u2} C _inst_1 Y (Prefunctor.obj.{succ u1, succ u1, max u2 u1, max u2 u1} (CategoryTheory.MonoOver.{u1, u2} C _inst_1 X) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u2 u1} (CategoryTheory.MonoOver.{u1, u2} C _inst_1 X) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 u1} (CategoryTheory.MonoOver.{u1, u2} C _inst_1 X) (CategoryTheory.instCategoryMonoOver.{u1, u2} C _inst_1 X))) (CategoryTheory.MonoOver.{u1, u2} C _inst_1 Y) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u2 u1} (CategoryTheory.MonoOver.{u1, u2} C _inst_1 Y) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 u1} (CategoryTheory.MonoOver.{u1, u2} C _inst_1 Y) (CategoryTheory.instCategoryMonoOver.{u1, u2} C _inst_1 Y))) (CategoryTheory.Functor.toPrefunctor.{u1, u1, max u2 u1, max u2 u1} (CategoryTheory.MonoOver.{u1, u2} C _inst_1 X) (CategoryTheory.instCategoryMonoOver.{u1, u2} C _inst_1 X) (CategoryTheory.MonoOver.{u1, u2} C _inst_1 Y) (CategoryTheory.instCategoryMonoOver.{u1, u2} C _inst_1 Y) (CategoryTheory.MonoOver.map.{u1, u2} C _inst_1 X Y f _inst_3)) g)) (CategoryTheory.CategoryStruct.comp.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1) (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 X) (CategoryTheory.FullSubcategory.obj.{max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 X) (fun (f : CategoryTheory.Over.{u1, u2} C _inst_1 X) => CategoryTheory.Mono.{u1, u2} C _inst_1 (Prefunctor.obj.{succ u1, succ u1, u2, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u2, u2} C _inst_1 C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1)) (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 X) f)) (Prefunctor.obj.{succ u1, succ u1, u1, u2} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.Category.toCategoryStruct.{u1, u1} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}))) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u2} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 X)) (CategoryTheory.Comma.right.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 X) f)) (CategoryTheory.Comma.hom.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 X) f)) g)) X Y (CategoryTheory.MonoOver.arrow.{u1, u2} C _inst_1 X g) f)
+<too large>
 Case conversion may be inaccurate. Consider using '#align category_theory.mono_over.map_obj_arrow CategoryTheory.MonoOver.map_obj_arrowₓ'. -/
 @[simp]
 theorem map_obj_arrow (f : X ⟶ Y) [Mono f] (g : MonoOver X) : ((map f).obj g).arrow = g.arrow ≫ f :=
@@ -585,10 +552,7 @@ instance reflective : Reflective (forget X) where
 #align category_theory.mono_over.reflective CategoryTheory.MonoOver.reflective
 
 /- warning: category_theory.mono_over.forget_image -> CategoryTheory.MonoOver.forgetImage is a dubious translation:
-lean 3 declaration is
-  forall {C : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} C] {X : C} [_inst_3 : CategoryTheory.Limits.HasImages.{u1, u2} C _inst_1], CategoryTheory.Iso.{max u2 u1, max u2 u1} (CategoryTheory.Functor.{u1, u1, max u2 u1, max u2 u1} (CategoryTheory.MonoOver.{u1, u2} C _inst_1 X) (CategoryTheory.InducedCategory.category.{u1, max u2 u1, max u2 u1} (CategoryTheory.FullSubcategoryₓ.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 X) (CategoryTheory.Over.category.{u2, u1} C _inst_1 X) (fun (f : CategoryTheory.Over.{u1, u2} C _inst_1 X) => CategoryTheory.Mono.{u1, u2} C _inst_1 (CategoryTheory.Functor.obj.{u1, u1, u2, u2} C _inst_1 C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 X) f)) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 X) (CategoryTheory.Comma.right.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 X) f)) (CategoryTheory.Comma.hom.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 X) f))) (CategoryTheory.Over.{u1, u2} C _inst_1 X) (CategoryTheory.Over.category.{u2, u1} C _inst_1 X) (CategoryTheory.FullSubcategoryₓ.obj.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 X) (CategoryTheory.Over.category.{u2, u1} C _inst_1 X) (fun (f : CategoryTheory.Over.{u1, u2} C _inst_1 X) => CategoryTheory.Mono.{u1, u2} C _inst_1 (CategoryTheory.Functor.obj.{u1, u1, u2, u2} C _inst_1 C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 X) f)) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 X) (CategoryTheory.Comma.right.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 X) f)) (CategoryTheory.Comma.hom.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 X) f)))) (CategoryTheory.MonoOver.{u1, u2} C _inst_1 X) (CategoryTheory.MonoOver.category.{u2, u1} C _inst_1 X)) (CategoryTheory.Functor.category.{u1, u1, max u2 u1, max u2 u1} (CategoryTheory.MonoOver.{u1, u2} C _inst_1 X) (CategoryTheory.InducedCategory.category.{u1, max u2 u1, max u2 u1} (CategoryTheory.FullSubcategoryₓ.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 X) (CategoryTheory.Over.category.{u2, u1} C _inst_1 X) (fun (f : CategoryTheory.Over.{u1, u2} C _inst_1 X) => CategoryTheory.Mono.{u1, u2} C _inst_1 (CategoryTheory.Functor.obj.{u1, u1, u2, u2} C _inst_1 C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 X) f)) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 X) (CategoryTheory.Comma.right.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 X) f)) (CategoryTheory.Comma.hom.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 X) f))) (CategoryTheory.Over.{u1, u2} C _inst_1 X) (CategoryTheory.Over.category.{u2, u1} C _inst_1 X) (CategoryTheory.FullSubcategoryₓ.obj.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 X) (CategoryTheory.Over.category.{u2, u1} C _inst_1 X) (fun (f : CategoryTheory.Over.{u1, u2} C _inst_1 X) => CategoryTheory.Mono.{u1, u2} C _inst_1 (CategoryTheory.Functor.obj.{u1, u1, u2, u2} C _inst_1 C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 X) f)) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 X) (CategoryTheory.Comma.right.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 X) f)) (CategoryTheory.Comma.hom.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 X) f)))) (CategoryTheory.MonoOver.{u1, u2} C _inst_1 X) (CategoryTheory.MonoOver.category.{u2, u1} C _inst_1 X)) (CategoryTheory.Functor.comp.{u1, u1, u1, max u2 u1, max u2 u1, max u2 u1} (CategoryTheory.MonoOver.{u1, u2} C _inst_1 X) (CategoryTheory.InducedCategory.category.{u1, max u2 u1, max u2 u1} (CategoryTheory.FullSubcategoryₓ.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 X) (CategoryTheory.Over.category.{u2, u1} C _inst_1 X) (fun (f : CategoryTheory.Over.{u1, u2} C _inst_1 X) => CategoryTheory.Mono.{u1, u2} C _inst_1 (CategoryTheory.Functor.obj.{u1, u1, u2, u2} C _inst_1 C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 X) f)) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 X) (CategoryTheory.Comma.right.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 X) f)) (CategoryTheory.Comma.hom.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 X) f))) (CategoryTheory.Over.{u1, u2} C _inst_1 X) (CategoryTheory.Over.category.{u2, u1} C _inst_1 X) (CategoryTheory.FullSubcategoryₓ.obj.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 X) (CategoryTheory.Over.category.{u2, u1} C _inst_1 X) (fun (f : CategoryTheory.Over.{u1, u2} C _inst_1 X) => CategoryTheory.Mono.{u1, u2} C _inst_1 (CategoryTheory.Functor.obj.{u1, u1, u2, u2} C _inst_1 C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 X) f)) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 X) (CategoryTheory.Comma.right.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 X) f)) (CategoryTheory.Comma.hom.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 X) f)))) (CategoryTheory.Over.{u1, u2} C _inst_1 X) (CategoryTheory.Over.category.{u2, u1} C _inst_1 X) (CategoryTheory.MonoOver.{u1, u2} C _inst_1 X) (CategoryTheory.MonoOver.category.{u2, u1} C _inst_1 X) (CategoryTheory.MonoOver.forget.{u1, u2} C _inst_1 X) (CategoryTheory.MonoOver.image.{u1, u2} C _inst_1 X _inst_3)) (CategoryTheory.Functor.id.{u1, max u2 u1} (CategoryTheory.MonoOver.{u1, u2} C _inst_1 X) (CategoryTheory.InducedCategory.category.{u1, max u2 u1, max u2 u1} (CategoryTheory.FullSubcategoryₓ.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 X) (CategoryTheory.Over.category.{u2, u1} C _inst_1 X) (fun (f : CategoryTheory.Over.{u1, u2} C _inst_1 X) => CategoryTheory.Mono.{u1, u2} C _inst_1 (CategoryTheory.Functor.obj.{u1, u1, u2, u2} C _inst_1 C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 X) f)) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 X) (CategoryTheory.Comma.right.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 X) f)) (CategoryTheory.Comma.hom.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 X) f))) (CategoryTheory.Over.{u1, u2} C _inst_1 X) (CategoryTheory.Over.category.{u2, u1} C _inst_1 X) (CategoryTheory.FullSubcategoryₓ.obj.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 X) (CategoryTheory.Over.category.{u2, u1} C _inst_1 X) (fun (f : CategoryTheory.Over.{u1, u2} C _inst_1 X) => CategoryTheory.Mono.{u1, u2} C _inst_1 (CategoryTheory.Functor.obj.{u1, u1, u2, u2} C _inst_1 C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 X) f)) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 X) (CategoryTheory.Comma.right.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 X) f)) (CategoryTheory.Comma.hom.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 X) f)))))
-but is expected to have type
-  forall {C : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} C] {X : C} [_inst_3 : CategoryTheory.Limits.HasImages.{u1, u2} C _inst_1], CategoryTheory.Iso.{max u2 u1, max u2 u1} (CategoryTheory.Functor.{u1, u1, max u2 u1, max u2 u1} (CategoryTheory.MonoOver.{u1, u2} C _inst_1 X) (CategoryTheory.instCategoryMonoOver.{u1, u2} C _inst_1 X) (CategoryTheory.MonoOver.{u1, u2} C _inst_1 X) (CategoryTheory.instCategoryMonoOver.{u1, u2} C _inst_1 X)) (CategoryTheory.Functor.category.{u1, u1, max u2 u1, max u2 u1} (CategoryTheory.MonoOver.{u1, u2} C _inst_1 X) (CategoryTheory.instCategoryMonoOver.{u1, u2} C _inst_1 X) (CategoryTheory.MonoOver.{u1, u2} C _inst_1 X) (CategoryTheory.instCategoryMonoOver.{u1, u2} C _inst_1 X)) (CategoryTheory.Functor.comp.{u1, u1, u1, max u2 u1, max u2 u1, max u2 u1} (CategoryTheory.MonoOver.{u1, u2} C _inst_1 X) (CategoryTheory.instCategoryMonoOver.{u1, u2} C _inst_1 X) (CategoryTheory.Over.{u1, u2} C _inst_1 X) (CategoryTheory.instCategoryOver.{u1, u2} C _inst_1 X) (CategoryTheory.MonoOver.{u1, u2} C _inst_1 X) (CategoryTheory.instCategoryMonoOver.{u1, u2} C _inst_1 X) (CategoryTheory.MonoOver.forget.{u1, u2} C _inst_1 X) (CategoryTheory.MonoOver.image.{u1, u2} C _inst_1 X _inst_3)) (CategoryTheory.Functor.id.{u1, max u2 u1} (CategoryTheory.MonoOver.{u1, u2} C _inst_1 X) (CategoryTheory.instCategoryMonoOver.{u1, u2} C _inst_1 X))
+<too large>
 Case conversion may be inaccurate. Consider using '#align category_theory.mono_over.forget_image CategoryTheory.MonoOver.forgetImageₓ'. -/
 /-- Forgetting that a monomorphism over `X` is a monomorphism, then taking its image,
 is the identity functor.
@@ -626,10 +590,7 @@ instance faithful_exists (f : X ⟶ Y) : Faithful (exists f) where
 #align category_theory.mono_over.faithful_exists CategoryTheory.MonoOver.faithful_exists
 
 /- warning: category_theory.mono_over.exists_iso_map -> CategoryTheory.MonoOver.existsIsoMap is a dubious translation:
-lean 3 declaration is
-  forall {C : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} C] {X : C} {Y : C} [_inst_3 : CategoryTheory.Limits.HasImages.{u1, u2} C _inst_1] (f : Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) X Y) [_inst_4 : CategoryTheory.Mono.{u1, u2} C _inst_1 X Y f], CategoryTheory.Iso.{max u2 u1, max u2 u1} (CategoryTheory.Functor.{u1, u1, max u2 u1, max u2 u1} (CategoryTheory.MonoOver.{u1, u2} C _inst_1 X) (CategoryTheory.InducedCategory.category.{u1, max u2 u1, max u2 u1} (CategoryTheory.FullSubcategoryₓ.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 X) (CategoryTheory.Over.category.{u2, u1} C _inst_1 X) (fun (f : CategoryTheory.Over.{u1, u2} C _inst_1 X) => CategoryTheory.Mono.{u1, u2} C _inst_1 (CategoryTheory.Functor.obj.{u1, u1, u2, u2} C _inst_1 C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 X) f)) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 X) (CategoryTheory.Comma.right.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 X) f)) (CategoryTheory.Comma.hom.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 X) f))) (CategoryTheory.Over.{u1, u2} C _inst_1 X) (CategoryTheory.Over.category.{u2, u1} C _inst_1 X) (CategoryTheory.FullSubcategoryₓ.obj.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 X) (CategoryTheory.Over.category.{u2, u1} C _inst_1 X) (fun (f : CategoryTheory.Over.{u1, u2} C _inst_1 X) => CategoryTheory.Mono.{u1, u2} C _inst_1 (CategoryTheory.Functor.obj.{u1, u1, u2, u2} C _inst_1 C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 X) f)) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 X) (CategoryTheory.Comma.right.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 X) f)) (CategoryTheory.Comma.hom.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 X) f)))) (CategoryTheory.MonoOver.{u1, u2} C _inst_1 Y) (CategoryTheory.MonoOver.category.{u2, u1} C _inst_1 Y)) (CategoryTheory.Functor.category.{u1, u1, max u2 u1, max u2 u1} (CategoryTheory.MonoOver.{u1, u2} C _inst_1 X) (CategoryTheory.InducedCategory.category.{u1, max u2 u1, max u2 u1} (CategoryTheory.FullSubcategoryₓ.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 X) (CategoryTheory.Over.category.{u2, u1} C _inst_1 X) (fun (f : CategoryTheory.Over.{u1, u2} C _inst_1 X) => CategoryTheory.Mono.{u1, u2} C _inst_1 (CategoryTheory.Functor.obj.{u1, u1, u2, u2} C _inst_1 C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 X) f)) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 X) (CategoryTheory.Comma.right.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 X) f)) (CategoryTheory.Comma.hom.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 X) f))) (CategoryTheory.Over.{u1, u2} C _inst_1 X) (CategoryTheory.Over.category.{u2, u1} C _inst_1 X) (CategoryTheory.FullSubcategoryₓ.obj.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 X) (CategoryTheory.Over.category.{u2, u1} C _inst_1 X) (fun (f : CategoryTheory.Over.{u1, u2} C _inst_1 X) => CategoryTheory.Mono.{u1, u2} C _inst_1 (CategoryTheory.Functor.obj.{u1, u1, u2, u2} C _inst_1 C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 X) f)) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 X) (CategoryTheory.Comma.right.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 X) f)) (CategoryTheory.Comma.hom.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 X) f)))) (CategoryTheory.MonoOver.{u1, u2} C _inst_1 Y) (CategoryTheory.MonoOver.category.{u2, u1} C _inst_1 Y)) (CategoryTheory.MonoOver.exists.{u1, u2} C _inst_1 X Y _inst_3 f) (CategoryTheory.MonoOver.map.{u1, u2} C _inst_1 X Y f _inst_4)
-but is expected to have type
-  forall {C : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} C] {X : C} {Y : C} [_inst_3 : CategoryTheory.Limits.HasImages.{u1, u2} C _inst_1] (f : Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) X Y) [_inst_4 : CategoryTheory.Mono.{u1, u2} C _inst_1 X Y f], CategoryTheory.Iso.{max u2 u1, max u2 u1} (CategoryTheory.Functor.{u1, u1, max u2 u1, max u2 u1} (CategoryTheory.MonoOver.{u1, u2} C _inst_1 X) (CategoryTheory.instCategoryMonoOver.{u1, u2} C _inst_1 X) (CategoryTheory.MonoOver.{u1, u2} C _inst_1 Y) (CategoryTheory.instCategoryMonoOver.{u1, u2} C _inst_1 Y)) (CategoryTheory.Functor.category.{u1, u1, max u2 u1, max u2 u1} (CategoryTheory.MonoOver.{u1, u2} C _inst_1 X) (CategoryTheory.instCategoryMonoOver.{u1, u2} C _inst_1 X) (CategoryTheory.MonoOver.{u1, u2} C _inst_1 Y) (CategoryTheory.instCategoryMonoOver.{u1, u2} C _inst_1 Y)) (CategoryTheory.MonoOver.exists.{u1, u2} C _inst_1 X Y _inst_3 f) (CategoryTheory.MonoOver.map.{u1, u2} C _inst_1 X Y f _inst_4)
+<too large>
 Case conversion may be inaccurate. Consider using '#align category_theory.mono_over.exists_iso_map CategoryTheory.MonoOver.existsIsoMapₓ'. -/
 /-- When `f : X ⟶ Y` is a monomorphism, `exists f` agrees with `map f`.
 -/
@@ -654,10 +615,7 @@ def existsIsoMap (f : X ⟶ Y) [Mono f] : exists f ≅ map f :=
 #align category_theory.mono_over.exists_iso_map CategoryTheory.MonoOver.existsIsoMap
 
 /- warning: category_theory.mono_over.exists_pullback_adj -> CategoryTheory.MonoOver.existsPullbackAdj is a dubious translation:
-lean 3 declaration is
-  forall {C : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} C] {X : C} {Y : C} [_inst_3 : CategoryTheory.Limits.HasImages.{u1, u2} C _inst_1] (f : Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) X Y) [_inst_4 : CategoryTheory.Limits.HasPullbacks.{u1, u2} C _inst_1], CategoryTheory.Adjunction.{u1, u1, max u2 u1, max u2 u1} (CategoryTheory.MonoOver.{u1, u2} C _inst_1 X) (CategoryTheory.InducedCategory.category.{u1, max u2 u1, max u2 u1} (CategoryTheory.FullSubcategoryₓ.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 X) (CategoryTheory.Over.category.{u2, u1} C _inst_1 X) (fun (f : CategoryTheory.Over.{u1, u2} C _inst_1 X) => CategoryTheory.Mono.{u1, u2} C _inst_1 (CategoryTheory.Functor.obj.{u1, u1, u2, u2} C _inst_1 C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 X) f)) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 X) (CategoryTheory.Comma.right.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 X) f)) (CategoryTheory.Comma.hom.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 X) f))) (CategoryTheory.Over.{u1, u2} C _inst_1 X) (CategoryTheory.Over.category.{u2, u1} C _inst_1 X) (CategoryTheory.FullSubcategoryₓ.obj.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 X) (CategoryTheory.Over.category.{u2, u1} C _inst_1 X) (fun (f : CategoryTheory.Over.{u1, u2} C _inst_1 X) => CategoryTheory.Mono.{u1, u2} C _inst_1 (CategoryTheory.Functor.obj.{u1, u1, u2, u2} C _inst_1 C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 X) f)) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 X) (CategoryTheory.Comma.right.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 X) f)) (CategoryTheory.Comma.hom.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 X) f)))) (CategoryTheory.MonoOver.{u1, u2} C _inst_1 Y) (CategoryTheory.MonoOver.category.{u2, u1} C _inst_1 Y) (CategoryTheory.MonoOver.exists.{u1, u2} C _inst_1 X Y _inst_3 f) (CategoryTheory.MonoOver.pullback.{u1, u2} C _inst_1 X Y _inst_4 f)
-but is expected to have type
-  forall {C : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} C] {X : C} {Y : C} [_inst_3 : CategoryTheory.Limits.HasImages.{u1, u2} C _inst_1] (f : Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) X Y) [_inst_4 : CategoryTheory.Limits.HasPullbacks.{u1, u2} C _inst_1], CategoryTheory.Adjunction.{u1, u1, max u2 u1, max u2 u1} (CategoryTheory.MonoOver.{u1, u2} C _inst_1 X) (CategoryTheory.instCategoryMonoOver.{u1, u2} C _inst_1 X) (CategoryTheory.MonoOver.{u1, u2} C _inst_1 Y) (CategoryTheory.instCategoryMonoOver.{u1, u2} C _inst_1 Y) (CategoryTheory.MonoOver.exists.{u1, u2} C _inst_1 X Y _inst_3 f) (CategoryTheory.MonoOver.pullback.{u1, u2} C _inst_1 X Y _inst_4 f)
+<too large>
 Case conversion may be inaccurate. Consider using '#align category_theory.mono_over.exists_pullback_adj CategoryTheory.MonoOver.existsPullbackAdjₓ'. -/
 /-- `exists` is adjoint to `pullback` when images exist -/
 def existsPullbackAdj (f : X ⟶ Y) [HasPullbacks C] : exists f ⊣ pullback f :=
Diff
@@ -171,7 +171,7 @@ instance isThin {X : C} : Quiver.IsThin (MonoOver X) := fun f g =>
 -/
 
 #print CategoryTheory.MonoOver.w /-
-@[reassoc.1]
+@[reassoc]
 theorem w {f g : MonoOver X} (k : f ⟶ g) : k.left ≫ g.arrow = f.arrow :=
   Over.w _
 #align category_theory.mono_over.w CategoryTheory.MonoOver.w
Diff
@@ -603,37 +603,37 @@ section Exists
 
 variable [HasImages C]
 
-/- warning: category_theory.mono_over.exists -> CategoryTheory.MonoOver.exists_ is a dubious translation:
+/- warning: category_theory.mono_over.exists -> CategoryTheory.MonoOver.exists is a dubious translation:
 lean 3 declaration is
   forall {C : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} C] {X : C} {Y : C} [_inst_3 : CategoryTheory.Limits.HasImages.{u1, u2} C _inst_1], (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) X Y) -> (CategoryTheory.Functor.{u1, u1, max u2 u1, max u2 u1} (CategoryTheory.MonoOver.{u1, u2} C _inst_1 X) (CategoryTheory.InducedCategory.category.{u1, max u2 u1, max u2 u1} (CategoryTheory.FullSubcategoryₓ.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 X) (CategoryTheory.Over.category.{u2, u1} C _inst_1 X) (fun (f : CategoryTheory.Over.{u1, u2} C _inst_1 X) => CategoryTheory.Mono.{u1, u2} C _inst_1 (CategoryTheory.Functor.obj.{u1, u1, u2, u2} C _inst_1 C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 X) f)) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 X) (CategoryTheory.Comma.right.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 X) f)) (CategoryTheory.Comma.hom.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 X) f))) (CategoryTheory.Over.{u1, u2} C _inst_1 X) (CategoryTheory.Over.category.{u2, u1} C _inst_1 X) (CategoryTheory.FullSubcategoryₓ.obj.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 X) (CategoryTheory.Over.category.{u2, u1} C _inst_1 X) (fun (f : CategoryTheory.Over.{u1, u2} C _inst_1 X) => CategoryTheory.Mono.{u1, u2} C _inst_1 (CategoryTheory.Functor.obj.{u1, u1, u2, u2} C _inst_1 C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 X) f)) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 X) (CategoryTheory.Comma.right.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 X) f)) (CategoryTheory.Comma.hom.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 X) f)))) (CategoryTheory.MonoOver.{u1, u2} C _inst_1 Y) (CategoryTheory.MonoOver.category.{u2, u1} C _inst_1 Y))
 but is expected to have type
   forall {C : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} C] {X : C} {Y : C} [_inst_3 : CategoryTheory.Limits.HasImages.{u1, u2} C _inst_1], (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) X Y) -> (CategoryTheory.Functor.{u1, u1, max u2 u1, max u2 u1} (CategoryTheory.MonoOver.{u1, u2} C _inst_1 X) (CategoryTheory.instCategoryMonoOver.{u1, u2} C _inst_1 X) (CategoryTheory.MonoOver.{u1, u2} C _inst_1 Y) (CategoryTheory.instCategoryMonoOver.{u1, u2} C _inst_1 Y))
-Case conversion may be inaccurate. Consider using '#align category_theory.mono_over.exists CategoryTheory.MonoOver.exists_ₓ'. -/
+Case conversion may be inaccurate. Consider using '#align category_theory.mono_over.exists CategoryTheory.MonoOver.existsₓ'. -/
 /-- In the case where `f` is not a monomorphism but `C` has images,
 we can still take the "forward map" under it, which agrees with `mono_over.map f`.
 -/
-def exists_ (f : X ⟶ Y) : MonoOver X ⥤ MonoOver Y :=
+def exists (f : X ⟶ Y) : MonoOver X ⥤ MonoOver Y :=
   forget _ ⋙ Over.map f ⋙ image
-#align category_theory.mono_over.exists CategoryTheory.MonoOver.exists_
+#align category_theory.mono_over.exists CategoryTheory.MonoOver.exists
 
 /- warning: category_theory.mono_over.faithful_exists -> CategoryTheory.MonoOver.faithful_exists is a dubious translation:
 lean 3 declaration is
-  forall {C : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} C] {X : C} {Y : C} [_inst_3 : CategoryTheory.Limits.HasImages.{u1, u2} C _inst_1] (f : Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) X Y), CategoryTheory.Faithful.{u1, u1, max u2 u1, max u2 u1} (CategoryTheory.MonoOver.{u1, u2} C _inst_1 X) (CategoryTheory.InducedCategory.category.{u1, max u2 u1, max u2 u1} (CategoryTheory.FullSubcategoryₓ.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 X) (CategoryTheory.Over.category.{u2, u1} C _inst_1 X) (fun (f : CategoryTheory.Over.{u1, u2} C _inst_1 X) => CategoryTheory.Mono.{u1, u2} C _inst_1 (CategoryTheory.Functor.obj.{u1, u1, u2, u2} C _inst_1 C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 X) f)) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 X) (CategoryTheory.Comma.right.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 X) f)) (CategoryTheory.Comma.hom.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 X) f))) (CategoryTheory.Over.{u1, u2} C _inst_1 X) (CategoryTheory.Over.category.{u2, u1} C _inst_1 X) (CategoryTheory.FullSubcategoryₓ.obj.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 X) (CategoryTheory.Over.category.{u2, u1} C _inst_1 X) (fun (f : CategoryTheory.Over.{u1, u2} C _inst_1 X) => CategoryTheory.Mono.{u1, u2} C _inst_1 (CategoryTheory.Functor.obj.{u1, u1, u2, u2} C _inst_1 C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 X) f)) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 X) (CategoryTheory.Comma.right.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 X) f)) (CategoryTheory.Comma.hom.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 X) f)))) (CategoryTheory.MonoOver.{u1, u2} C _inst_1 Y) (CategoryTheory.MonoOver.category.{u2, u1} C _inst_1 Y) (CategoryTheory.MonoOver.exists_.{u1, u2} C _inst_1 X Y _inst_3 f)
+  forall {C : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} C] {X : C} {Y : C} [_inst_3 : CategoryTheory.Limits.HasImages.{u1, u2} C _inst_1] (f : Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) X Y), CategoryTheory.Faithful.{u1, u1, max u2 u1, max u2 u1} (CategoryTheory.MonoOver.{u1, u2} C _inst_1 X) (CategoryTheory.InducedCategory.category.{u1, max u2 u1, max u2 u1} (CategoryTheory.FullSubcategoryₓ.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 X) (CategoryTheory.Over.category.{u2, u1} C _inst_1 X) (fun (f : CategoryTheory.Over.{u1, u2} C _inst_1 X) => CategoryTheory.Mono.{u1, u2} C _inst_1 (CategoryTheory.Functor.obj.{u1, u1, u2, u2} C _inst_1 C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 X) f)) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 X) (CategoryTheory.Comma.right.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 X) f)) (CategoryTheory.Comma.hom.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 X) f))) (CategoryTheory.Over.{u1, u2} C _inst_1 X) (CategoryTheory.Over.category.{u2, u1} C _inst_1 X) (CategoryTheory.FullSubcategoryₓ.obj.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 X) (CategoryTheory.Over.category.{u2, u1} C _inst_1 X) (fun (f : CategoryTheory.Over.{u1, u2} C _inst_1 X) => CategoryTheory.Mono.{u1, u2} C _inst_1 (CategoryTheory.Functor.obj.{u1, u1, u2, u2} C _inst_1 C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 X) f)) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 X) (CategoryTheory.Comma.right.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 X) f)) (CategoryTheory.Comma.hom.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 X) f)))) (CategoryTheory.MonoOver.{u1, u2} C _inst_1 Y) (CategoryTheory.MonoOver.category.{u2, u1} C _inst_1 Y) (CategoryTheory.MonoOver.exists.{u1, u2} C _inst_1 X Y _inst_3 f)
 but is expected to have type
-  forall {C : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} C] {X : C} {Y : C} [_inst_3 : CategoryTheory.Limits.HasImages.{u1, u2} C _inst_1] (f : Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) X Y), CategoryTheory.Faithful.{u1, u1, max u2 u1, max u2 u1} (CategoryTheory.MonoOver.{u1, u2} C _inst_1 X) (CategoryTheory.instCategoryMonoOver.{u1, u2} C _inst_1 X) (CategoryTheory.MonoOver.{u1, u2} C _inst_1 Y) (CategoryTheory.instCategoryMonoOver.{u1, u2} C _inst_1 Y) (CategoryTheory.MonoOver.exists_.{u1, u2} C _inst_1 X Y _inst_3 f)
+  forall {C : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} C] {X : C} {Y : C} [_inst_3 : CategoryTheory.Limits.HasImages.{u1, u2} C _inst_1] (f : Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) X Y), CategoryTheory.Faithful.{u1, u1, max u2 u1, max u2 u1} (CategoryTheory.MonoOver.{u1, u2} C _inst_1 X) (CategoryTheory.instCategoryMonoOver.{u1, u2} C _inst_1 X) (CategoryTheory.MonoOver.{u1, u2} C _inst_1 Y) (CategoryTheory.instCategoryMonoOver.{u1, u2} C _inst_1 Y) (CategoryTheory.MonoOver.exists.{u1, u2} C _inst_1 X Y _inst_3 f)
 Case conversion may be inaccurate. Consider using '#align category_theory.mono_over.faithful_exists CategoryTheory.MonoOver.faithful_existsₓ'. -/
-instance faithful_exists (f : X ⟶ Y) : Faithful (exists_ f) where
+instance faithful_exists (f : X ⟶ Y) : Faithful (exists f) where
 #align category_theory.mono_over.faithful_exists CategoryTheory.MonoOver.faithful_exists
 
 /- warning: category_theory.mono_over.exists_iso_map -> CategoryTheory.MonoOver.existsIsoMap is a dubious translation:
 lean 3 declaration is
-  forall {C : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} C] {X : C} {Y : C} [_inst_3 : CategoryTheory.Limits.HasImages.{u1, u2} C _inst_1] (f : Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) X Y) [_inst_4 : CategoryTheory.Mono.{u1, u2} C _inst_1 X Y f], CategoryTheory.Iso.{max u2 u1, max u2 u1} (CategoryTheory.Functor.{u1, u1, max u2 u1, max u2 u1} (CategoryTheory.MonoOver.{u1, u2} C _inst_1 X) (CategoryTheory.InducedCategory.category.{u1, max u2 u1, max u2 u1} (CategoryTheory.FullSubcategoryₓ.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 X) (CategoryTheory.Over.category.{u2, u1} C _inst_1 X) (fun (f : CategoryTheory.Over.{u1, u2} C _inst_1 X) => CategoryTheory.Mono.{u1, u2} C _inst_1 (CategoryTheory.Functor.obj.{u1, u1, u2, u2} C _inst_1 C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 X) f)) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 X) (CategoryTheory.Comma.right.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 X) f)) (CategoryTheory.Comma.hom.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 X) f))) (CategoryTheory.Over.{u1, u2} C _inst_1 X) (CategoryTheory.Over.category.{u2, u1} C _inst_1 X) (CategoryTheory.FullSubcategoryₓ.obj.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 X) (CategoryTheory.Over.category.{u2, u1} C _inst_1 X) (fun (f : CategoryTheory.Over.{u1, u2} C _inst_1 X) => CategoryTheory.Mono.{u1, u2} C _inst_1 (CategoryTheory.Functor.obj.{u1, u1, u2, u2} C _inst_1 C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 X) f)) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 X) (CategoryTheory.Comma.right.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 X) f)) (CategoryTheory.Comma.hom.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 X) f)))) (CategoryTheory.MonoOver.{u1, u2} C _inst_1 Y) (CategoryTheory.MonoOver.category.{u2, u1} C _inst_1 Y)) (CategoryTheory.Functor.category.{u1, u1, max u2 u1, max u2 u1} (CategoryTheory.MonoOver.{u1, u2} C _inst_1 X) (CategoryTheory.InducedCategory.category.{u1, max u2 u1, max u2 u1} (CategoryTheory.FullSubcategoryₓ.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 X) (CategoryTheory.Over.category.{u2, u1} C _inst_1 X) (fun (f : CategoryTheory.Over.{u1, u2} C _inst_1 X) => CategoryTheory.Mono.{u1, u2} C _inst_1 (CategoryTheory.Functor.obj.{u1, u1, u2, u2} C _inst_1 C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 X) f)) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 X) (CategoryTheory.Comma.right.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 X) f)) (CategoryTheory.Comma.hom.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 X) f))) (CategoryTheory.Over.{u1, u2} C _inst_1 X) (CategoryTheory.Over.category.{u2, u1} C _inst_1 X) (CategoryTheory.FullSubcategoryₓ.obj.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 X) (CategoryTheory.Over.category.{u2, u1} C _inst_1 X) (fun (f : CategoryTheory.Over.{u1, u2} C _inst_1 X) => CategoryTheory.Mono.{u1, u2} C _inst_1 (CategoryTheory.Functor.obj.{u1, u1, u2, u2} C _inst_1 C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 X) f)) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 X) (CategoryTheory.Comma.right.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 X) f)) (CategoryTheory.Comma.hom.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 X) f)))) (CategoryTheory.MonoOver.{u1, u2} C _inst_1 Y) (CategoryTheory.MonoOver.category.{u2, u1} C _inst_1 Y)) (CategoryTheory.MonoOver.exists_.{u1, u2} C _inst_1 X Y _inst_3 f) (CategoryTheory.MonoOver.map.{u1, u2} C _inst_1 X Y f _inst_4)
+  forall {C : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} C] {X : C} {Y : C} [_inst_3 : CategoryTheory.Limits.HasImages.{u1, u2} C _inst_1] (f : Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) X Y) [_inst_4 : CategoryTheory.Mono.{u1, u2} C _inst_1 X Y f], CategoryTheory.Iso.{max u2 u1, max u2 u1} (CategoryTheory.Functor.{u1, u1, max u2 u1, max u2 u1} (CategoryTheory.MonoOver.{u1, u2} C _inst_1 X) (CategoryTheory.InducedCategory.category.{u1, max u2 u1, max u2 u1} (CategoryTheory.FullSubcategoryₓ.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 X) (CategoryTheory.Over.category.{u2, u1} C _inst_1 X) (fun (f : CategoryTheory.Over.{u1, u2} C _inst_1 X) => CategoryTheory.Mono.{u1, u2} C _inst_1 (CategoryTheory.Functor.obj.{u1, u1, u2, u2} C _inst_1 C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 X) f)) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 X) (CategoryTheory.Comma.right.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 X) f)) (CategoryTheory.Comma.hom.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 X) f))) (CategoryTheory.Over.{u1, u2} C _inst_1 X) (CategoryTheory.Over.category.{u2, u1} C _inst_1 X) (CategoryTheory.FullSubcategoryₓ.obj.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 X) (CategoryTheory.Over.category.{u2, u1} C _inst_1 X) (fun (f : CategoryTheory.Over.{u1, u2} C _inst_1 X) => CategoryTheory.Mono.{u1, u2} C _inst_1 (CategoryTheory.Functor.obj.{u1, u1, u2, u2} C _inst_1 C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 X) f)) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 X) (CategoryTheory.Comma.right.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 X) f)) (CategoryTheory.Comma.hom.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 X) f)))) (CategoryTheory.MonoOver.{u1, u2} C _inst_1 Y) (CategoryTheory.MonoOver.category.{u2, u1} C _inst_1 Y)) (CategoryTheory.Functor.category.{u1, u1, max u2 u1, max u2 u1} (CategoryTheory.MonoOver.{u1, u2} C _inst_1 X) (CategoryTheory.InducedCategory.category.{u1, max u2 u1, max u2 u1} (CategoryTheory.FullSubcategoryₓ.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 X) (CategoryTheory.Over.category.{u2, u1} C _inst_1 X) (fun (f : CategoryTheory.Over.{u1, u2} C _inst_1 X) => CategoryTheory.Mono.{u1, u2} C _inst_1 (CategoryTheory.Functor.obj.{u1, u1, u2, u2} C _inst_1 C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 X) f)) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 X) (CategoryTheory.Comma.right.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 X) f)) (CategoryTheory.Comma.hom.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 X) f))) (CategoryTheory.Over.{u1, u2} C _inst_1 X) (CategoryTheory.Over.category.{u2, u1} C _inst_1 X) (CategoryTheory.FullSubcategoryₓ.obj.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 X) (CategoryTheory.Over.category.{u2, u1} C _inst_1 X) (fun (f : CategoryTheory.Over.{u1, u2} C _inst_1 X) => CategoryTheory.Mono.{u1, u2} C _inst_1 (CategoryTheory.Functor.obj.{u1, u1, u2, u2} C _inst_1 C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 X) f)) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 X) (CategoryTheory.Comma.right.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 X) f)) (CategoryTheory.Comma.hom.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 X) f)))) (CategoryTheory.MonoOver.{u1, u2} C _inst_1 Y) (CategoryTheory.MonoOver.category.{u2, u1} C _inst_1 Y)) (CategoryTheory.MonoOver.exists.{u1, u2} C _inst_1 X Y _inst_3 f) (CategoryTheory.MonoOver.map.{u1, u2} C _inst_1 X Y f _inst_4)
 but is expected to have type
-  forall {C : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} C] {X : C} {Y : C} [_inst_3 : CategoryTheory.Limits.HasImages.{u1, u2} C _inst_1] (f : Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) X Y) [_inst_4 : CategoryTheory.Mono.{u1, u2} C _inst_1 X Y f], CategoryTheory.Iso.{max u2 u1, max u2 u1} (CategoryTheory.Functor.{u1, u1, max u2 u1, max u2 u1} (CategoryTheory.MonoOver.{u1, u2} C _inst_1 X) (CategoryTheory.instCategoryMonoOver.{u1, u2} C _inst_1 X) (CategoryTheory.MonoOver.{u1, u2} C _inst_1 Y) (CategoryTheory.instCategoryMonoOver.{u1, u2} C _inst_1 Y)) (CategoryTheory.Functor.category.{u1, u1, max u2 u1, max u2 u1} (CategoryTheory.MonoOver.{u1, u2} C _inst_1 X) (CategoryTheory.instCategoryMonoOver.{u1, u2} C _inst_1 X) (CategoryTheory.MonoOver.{u1, u2} C _inst_1 Y) (CategoryTheory.instCategoryMonoOver.{u1, u2} C _inst_1 Y)) (CategoryTheory.MonoOver.exists_.{u1, u2} C _inst_1 X Y _inst_3 f) (CategoryTheory.MonoOver.map.{u1, u2} C _inst_1 X Y f _inst_4)
+  forall {C : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} C] {X : C} {Y : C} [_inst_3 : CategoryTheory.Limits.HasImages.{u1, u2} C _inst_1] (f : Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) X Y) [_inst_4 : CategoryTheory.Mono.{u1, u2} C _inst_1 X Y f], CategoryTheory.Iso.{max u2 u1, max u2 u1} (CategoryTheory.Functor.{u1, u1, max u2 u1, max u2 u1} (CategoryTheory.MonoOver.{u1, u2} C _inst_1 X) (CategoryTheory.instCategoryMonoOver.{u1, u2} C _inst_1 X) (CategoryTheory.MonoOver.{u1, u2} C _inst_1 Y) (CategoryTheory.instCategoryMonoOver.{u1, u2} C _inst_1 Y)) (CategoryTheory.Functor.category.{u1, u1, max u2 u1, max u2 u1} (CategoryTheory.MonoOver.{u1, u2} C _inst_1 X) (CategoryTheory.instCategoryMonoOver.{u1, u2} C _inst_1 X) (CategoryTheory.MonoOver.{u1, u2} C _inst_1 Y) (CategoryTheory.instCategoryMonoOver.{u1, u2} C _inst_1 Y)) (CategoryTheory.MonoOver.exists.{u1, u2} C _inst_1 X Y _inst_3 f) (CategoryTheory.MonoOver.map.{u1, u2} C _inst_1 X Y f _inst_4)
 Case conversion may be inaccurate. Consider using '#align category_theory.mono_over.exists_iso_map CategoryTheory.MonoOver.existsIsoMapₓ'. -/
 /-- When `f : X ⟶ Y` is a monomorphism, `exists f` agrees with `map f`.
 -/
-def existsIsoMap (f : X ⟶ Y) [Mono f] : exists_ f ≅ map f :=
+def existsIsoMap (f : X ⟶ Y) [Mono f] : exists f ≅ map f :=
   NatIso.ofComponents
     (by
       intro Z
@@ -655,12 +655,12 @@ def existsIsoMap (f : X ⟶ Y) [Mono f] : exists_ f ≅ map f :=
 
 /- warning: category_theory.mono_over.exists_pullback_adj -> CategoryTheory.MonoOver.existsPullbackAdj is a dubious translation:
 lean 3 declaration is
-  forall {C : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} C] {X : C} {Y : C} [_inst_3 : CategoryTheory.Limits.HasImages.{u1, u2} C _inst_1] (f : Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) X Y) [_inst_4 : CategoryTheory.Limits.HasPullbacks.{u1, u2} C _inst_1], CategoryTheory.Adjunction.{u1, u1, max u2 u1, max u2 u1} (CategoryTheory.MonoOver.{u1, u2} C _inst_1 X) (CategoryTheory.InducedCategory.category.{u1, max u2 u1, max u2 u1} (CategoryTheory.FullSubcategoryₓ.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 X) (CategoryTheory.Over.category.{u2, u1} C _inst_1 X) (fun (f : CategoryTheory.Over.{u1, u2} C _inst_1 X) => CategoryTheory.Mono.{u1, u2} C _inst_1 (CategoryTheory.Functor.obj.{u1, u1, u2, u2} C _inst_1 C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 X) f)) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 X) (CategoryTheory.Comma.right.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 X) f)) (CategoryTheory.Comma.hom.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 X) f))) (CategoryTheory.Over.{u1, u2} C _inst_1 X) (CategoryTheory.Over.category.{u2, u1} C _inst_1 X) (CategoryTheory.FullSubcategoryₓ.obj.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 X) (CategoryTheory.Over.category.{u2, u1} C _inst_1 X) (fun (f : CategoryTheory.Over.{u1, u2} C _inst_1 X) => CategoryTheory.Mono.{u1, u2} C _inst_1 (CategoryTheory.Functor.obj.{u1, u1, u2, u2} C _inst_1 C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 X) f)) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 X) (CategoryTheory.Comma.right.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 X) f)) (CategoryTheory.Comma.hom.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 X) f)))) (CategoryTheory.MonoOver.{u1, u2} C _inst_1 Y) (CategoryTheory.MonoOver.category.{u2, u1} C _inst_1 Y) (CategoryTheory.MonoOver.exists_.{u1, u2} C _inst_1 X Y _inst_3 f) (CategoryTheory.MonoOver.pullback.{u1, u2} C _inst_1 X Y _inst_4 f)
+  forall {C : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} C] {X : C} {Y : C} [_inst_3 : CategoryTheory.Limits.HasImages.{u1, u2} C _inst_1] (f : Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) X Y) [_inst_4 : CategoryTheory.Limits.HasPullbacks.{u1, u2} C _inst_1], CategoryTheory.Adjunction.{u1, u1, max u2 u1, max u2 u1} (CategoryTheory.MonoOver.{u1, u2} C _inst_1 X) (CategoryTheory.InducedCategory.category.{u1, max u2 u1, max u2 u1} (CategoryTheory.FullSubcategoryₓ.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 X) (CategoryTheory.Over.category.{u2, u1} C _inst_1 X) (fun (f : CategoryTheory.Over.{u1, u2} C _inst_1 X) => CategoryTheory.Mono.{u1, u2} C _inst_1 (CategoryTheory.Functor.obj.{u1, u1, u2, u2} C _inst_1 C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 X) f)) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 X) (CategoryTheory.Comma.right.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 X) f)) (CategoryTheory.Comma.hom.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 X) f))) (CategoryTheory.Over.{u1, u2} C _inst_1 X) (CategoryTheory.Over.category.{u2, u1} C _inst_1 X) (CategoryTheory.FullSubcategoryₓ.obj.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 X) (CategoryTheory.Over.category.{u2, u1} C _inst_1 X) (fun (f : CategoryTheory.Over.{u1, u2} C _inst_1 X) => CategoryTheory.Mono.{u1, u2} C _inst_1 (CategoryTheory.Functor.obj.{u1, u1, u2, u2} C _inst_1 C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 X) f)) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 X) (CategoryTheory.Comma.right.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 X) f)) (CategoryTheory.Comma.hom.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 X) f)))) (CategoryTheory.MonoOver.{u1, u2} C _inst_1 Y) (CategoryTheory.MonoOver.category.{u2, u1} C _inst_1 Y) (CategoryTheory.MonoOver.exists.{u1, u2} C _inst_1 X Y _inst_3 f) (CategoryTheory.MonoOver.pullback.{u1, u2} C _inst_1 X Y _inst_4 f)
 but is expected to have type
-  forall {C : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} C] {X : C} {Y : C} [_inst_3 : CategoryTheory.Limits.HasImages.{u1, u2} C _inst_1] (f : Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) X Y) [_inst_4 : CategoryTheory.Limits.HasPullbacks.{u1, u2} C _inst_1], CategoryTheory.Adjunction.{u1, u1, max u2 u1, max u2 u1} (CategoryTheory.MonoOver.{u1, u2} C _inst_1 X) (CategoryTheory.instCategoryMonoOver.{u1, u2} C _inst_1 X) (CategoryTheory.MonoOver.{u1, u2} C _inst_1 Y) (CategoryTheory.instCategoryMonoOver.{u1, u2} C _inst_1 Y) (CategoryTheory.MonoOver.exists_.{u1, u2} C _inst_1 X Y _inst_3 f) (CategoryTheory.MonoOver.pullback.{u1, u2} C _inst_1 X Y _inst_4 f)
+  forall {C : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} C] {X : C} {Y : C} [_inst_3 : CategoryTheory.Limits.HasImages.{u1, u2} C _inst_1] (f : Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) X Y) [_inst_4 : CategoryTheory.Limits.HasPullbacks.{u1, u2} C _inst_1], CategoryTheory.Adjunction.{u1, u1, max u2 u1, max u2 u1} (CategoryTheory.MonoOver.{u1, u2} C _inst_1 X) (CategoryTheory.instCategoryMonoOver.{u1, u2} C _inst_1 X) (CategoryTheory.MonoOver.{u1, u2} C _inst_1 Y) (CategoryTheory.instCategoryMonoOver.{u1, u2} C _inst_1 Y) (CategoryTheory.MonoOver.exists.{u1, u2} C _inst_1 X Y _inst_3 f) (CategoryTheory.MonoOver.pullback.{u1, u2} C _inst_1 X Y _inst_4 f)
 Case conversion may be inaccurate. Consider using '#align category_theory.mono_over.exists_pullback_adj CategoryTheory.MonoOver.existsPullbackAdjₓ'. -/
 /-- `exists` is adjoint to `pullback` when images exist -/
-def existsPullbackAdj (f : X ⟶ Y) [HasPullbacks C] : exists_ f ⊣ pullback f :=
+def existsPullbackAdj (f : X ⟶ Y) [HasPullbacks C] : exists f ⊣ pullback f :=
   Adjunction.restrictFullyFaithful (forget X) (𝟭 _) ((Over.mapPullbackAdj f).comp imageForgetAdj)
     (Iso.refl _) (Iso.refl _)
 #align category_theory.mono_over.exists_pullback_adj CategoryTheory.MonoOver.existsPullbackAdj
Diff
@@ -4,7 +4,7 @@ Released under Apache 2.0 license as described in the file LICENSE.
 Authors: Bhavik Mehta, Scott Morrison
 
 ! This file was ported from Lean 3 source module category_theory.subobject.mono_over
-! leanprover-community/mathlib commit 70fd9563a21e7b963887c9360bd29b2393e6225a
+! leanprover-community/mathlib commit ce38d86c0b2d427ce208c3cee3159cb421d2b3c4
 ! 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.Adjunction.Reflective
 /-!
 # Monomorphisms over a fixed object
 
+> THIS FILE IS SYNCHRONIZED WITH MATHLIB4.
+> Any changes to this file require a corresponding PR to mathlib4.
+
 As preparation for defining `subobject X`, we set up the theory for
 `mono_over X := {f : over X // mono f.hom}`.
 
Diff
@@ -49,6 +49,7 @@ variable {C : Type u₁} [Category.{v₁} C] {X Y Z : C}
 
 variable {D : Type u₂} [Category.{v₂} D]
 
+#print CategoryTheory.MonoOver /-
 /-- The category of monomorphisms into `X` as a full subcategory of the over category.
 This isn't skeletal, so it's not a partial order.
 
@@ -57,9 +58,11 @@ Later we define `subobject X` as the quotient of this by isomorphisms.
 def MonoOver (X : C) :=
   FullSubcategory fun f : Over X => Mono f.Hom deriving Category
 #align category_theory.mono_over CategoryTheory.MonoOver
+-/
 
 namespace MonoOver
 
+#print CategoryTheory.MonoOver.mk' /-
 /-- Construct a `mono_over X`. -/
 @[simps]
 def mk' {X A : C} (f : A ⟶ X) [hf : Mono f] : MonoOver X
@@ -67,7 +70,14 @@ def mk' {X A : C} (f : A ⟶ X) [hf : Mono f] : MonoOver X
   obj := Over.mk f
   property := hf
 #align category_theory.mono_over.mk' CategoryTheory.MonoOver.mk'
+-/
 
+/- warning: category_theory.mono_over.forget -> CategoryTheory.MonoOver.forget is a dubious translation:
+lean 3 declaration is
+  forall {C : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} C] (X : C), CategoryTheory.Functor.{u1, u1, max u2 u1, max u2 u1} (CategoryTheory.MonoOver.{u1, u2} C _inst_1 X) (CategoryTheory.InducedCategory.category.{u1, max u2 u1, max u2 u1} (CategoryTheory.FullSubcategoryₓ.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 X) (CategoryTheory.Over.category.{u2, u1} C _inst_1 X) (fun (f : CategoryTheory.Over.{u1, u2} C _inst_1 X) => CategoryTheory.Mono.{u1, u2} C _inst_1 (CategoryTheory.Functor.obj.{u1, u1, u2, u2} C _inst_1 C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 X) f)) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 X) (CategoryTheory.Comma.right.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 X) f)) (CategoryTheory.Comma.hom.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 X) f))) (CategoryTheory.Over.{u1, u2} C _inst_1 X) (CategoryTheory.Over.category.{u2, u1} C _inst_1 X) (CategoryTheory.FullSubcategoryₓ.obj.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 X) (CategoryTheory.Over.category.{u2, u1} C _inst_1 X) (fun (f : CategoryTheory.Over.{u1, u2} C _inst_1 X) => CategoryTheory.Mono.{u1, u2} C _inst_1 (CategoryTheory.Functor.obj.{u1, u1, u2, u2} C _inst_1 C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 X) f)) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 X) (CategoryTheory.Comma.right.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 X) f)) (CategoryTheory.Comma.hom.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 X) f)))) (CategoryTheory.Over.{u1, u2} C _inst_1 X) (CategoryTheory.Over.category.{u2, u1} C _inst_1 X)
+but is expected to have type
+  forall {C : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} C] (X : C), CategoryTheory.Functor.{u1, u1, max u2 u1, max u2 u1} (CategoryTheory.MonoOver.{u1, u2} C _inst_1 X) (CategoryTheory.instCategoryMonoOver.{u1, u2} C _inst_1 X) (CategoryTheory.Over.{u1, u2} C _inst_1 X) (CategoryTheory.instCategoryOver.{u1, u2} C _inst_1 X)
+Case conversion may be inaccurate. Consider using '#align category_theory.mono_over.forget CategoryTheory.MonoOver.forgetₓ'. -/
 /-- The inclusion from monomorphisms over X to morphisms over X. -/
 def forget (X : C) : MonoOver X ⥤ Over X :=
   fullSubcategoryInclusion _
@@ -75,26 +85,56 @@ def forget (X : C) : MonoOver X ⥤ Over X :=
 
 instance : Coe (MonoOver X) C where coe Y := Y.obj.left
 
+/- warning: category_theory.mono_over.forget_obj_left -> CategoryTheory.MonoOver.forget_obj_left is a dubious translation:
+lean 3 declaration is
+  forall {C : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} C] {X : C} {f : CategoryTheory.MonoOver.{u1, u2} C _inst_1 X}, Eq.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 X) (CategoryTheory.Functor.obj.{u1, u1, max u2 u1, max u2 u1} (CategoryTheory.MonoOver.{u1, u2} C _inst_1 X) (CategoryTheory.InducedCategory.category.{u1, max u2 u1, max u2 u1} (CategoryTheory.FullSubcategoryₓ.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 X) (CategoryTheory.Over.category.{u2, u1} C _inst_1 X) (fun (f : CategoryTheory.Over.{u1, u2} C _inst_1 X) => CategoryTheory.Mono.{u1, u2} C _inst_1 (CategoryTheory.Functor.obj.{u1, u1, u2, u2} C _inst_1 C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 X) f)) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 X) (CategoryTheory.Comma.right.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 X) f)) (CategoryTheory.Comma.hom.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 X) f))) (CategoryTheory.Over.{u1, u2} C _inst_1 X) (CategoryTheory.Over.category.{u2, u1} C _inst_1 X) (CategoryTheory.FullSubcategoryₓ.obj.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 X) (CategoryTheory.Over.category.{u2, u1} C _inst_1 X) (fun (f : CategoryTheory.Over.{u1, u2} C _inst_1 X) => CategoryTheory.Mono.{u1, u2} C _inst_1 (CategoryTheory.Functor.obj.{u1, u1, u2, u2} C _inst_1 C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 X) f)) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 X) (CategoryTheory.Comma.right.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 X) f)) (CategoryTheory.Comma.hom.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 X) f)))) (CategoryTheory.Over.{u1, u2} C _inst_1 X) (CategoryTheory.Over.category.{u2, u1} C _inst_1 X) (CategoryTheory.MonoOver.forget.{u1, u2} C _inst_1 X) f)) ((fun (a : Type.{max u2 u1}) (b : Type.{u2}) [self : HasLiftT.{succ (max u2 u1), succ u2} a b] => self.0) (CategoryTheory.MonoOver.{u1, u2} C _inst_1 X) C (HasLiftT.mk.{succ (max u2 u1), succ u2} (CategoryTheory.MonoOver.{u1, u2} C _inst_1 X) C (CoeTCₓ.coe.{succ (max u2 u1), succ u2} (CategoryTheory.MonoOver.{u1, u2} C _inst_1 X) C (coeBase.{succ (max u2 u1), succ u2} (CategoryTheory.MonoOver.{u1, u2} C _inst_1 X) C (CategoryTheory.MonoOver.hasCoe.{u1, u2} C _inst_1 X)))) f)
+but is expected to have type
+  forall {C : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} C] {X : C} {f : CategoryTheory.MonoOver.{u1, u2} C _inst_1 X}, Eq.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 X) (Prefunctor.obj.{succ u1, succ u1, max u2 u1, max u2 u1} (CategoryTheory.MonoOver.{u1, u2} C _inst_1 X) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u2 u1} (CategoryTheory.MonoOver.{u1, u2} C _inst_1 X) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 u1} (CategoryTheory.MonoOver.{u1, u2} C _inst_1 X) (CategoryTheory.instCategoryMonoOver.{u1, u2} C _inst_1 X))) (CategoryTheory.Over.{u1, u2} C _inst_1 X) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 X) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 X) (CategoryTheory.instCategoryOver.{u1, u2} C _inst_1 X))) (CategoryTheory.Functor.toPrefunctor.{u1, u1, max u2 u1, max u2 u1} (CategoryTheory.MonoOver.{u1, u2} C _inst_1 X) (CategoryTheory.instCategoryMonoOver.{u1, u2} C _inst_1 X) (CategoryTheory.Over.{u1, u2} C _inst_1 X) (CategoryTheory.instCategoryOver.{u1, u2} C _inst_1 X) (CategoryTheory.MonoOver.forget.{u1, u2} C _inst_1 X)) f)) (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 X) (CategoryTheory.FullSubcategory.obj.{max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 X) (fun (f : CategoryTheory.Over.{u1, u2} C _inst_1 X) => CategoryTheory.Mono.{u1, u2} C _inst_1 (Prefunctor.obj.{succ u1, succ u1, u2, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u2, u2} C _inst_1 C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1)) (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 X) f)) (Prefunctor.obj.{succ u1, succ u1, u1, u2} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.Category.toCategoryStruct.{u1, u1} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}))) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u2} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 X)) (CategoryTheory.Comma.right.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 X) f)) (CategoryTheory.Comma.hom.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 X) f)) f))
+Case conversion may be inaccurate. Consider using '#align category_theory.mono_over.forget_obj_left CategoryTheory.MonoOver.forget_obj_leftₓ'. -/
 @[simp]
 theorem forget_obj_left {f} : ((forget X).obj f).left = (f : C) :=
   rfl
 #align category_theory.mono_over.forget_obj_left CategoryTheory.MonoOver.forget_obj_left
 
+/- warning: category_theory.mono_over.mk'_coe' -> CategoryTheory.MonoOver.mk'_coe' is a dubious translation:
+lean 3 declaration is
+  forall {C : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} C] {X : C} {A : C} (f : Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) A X) [hf : CategoryTheory.Mono.{u1, u2} C _inst_1 A X f], Eq.{succ u2} C ((fun (a : Type.{max u2 u1}) (b : Type.{u2}) [self : HasLiftT.{succ (max u2 u1), succ u2} a b] => self.0) (CategoryTheory.MonoOver.{u1, u2} C _inst_1 X) C (HasLiftT.mk.{succ (max u2 u1), succ u2} (CategoryTheory.MonoOver.{u1, u2} C _inst_1 X) C (CoeTCₓ.coe.{succ (max u2 u1), succ u2} (CategoryTheory.MonoOver.{u1, u2} C _inst_1 X) C (coeBase.{succ (max u2 u1), succ u2} (CategoryTheory.MonoOver.{u1, u2} C _inst_1 X) C (CategoryTheory.MonoOver.hasCoe.{u1, u2} C _inst_1 X)))) (CategoryTheory.MonoOver.mk'.{u1, u2} C _inst_1 X A f hf)) A
+but is expected to have type
+  forall {C : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} C] {X : C} {A : C} (f : Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) A X) [hf : CategoryTheory.Mono.{u1, u2} C _inst_1 A X f], Eq.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 X) (CategoryTheory.FullSubcategory.obj.{max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 X) (fun (f : CategoryTheory.Over.{u1, u2} C _inst_1 X) => CategoryTheory.Mono.{u1, u2} C _inst_1 (Prefunctor.obj.{succ u1, succ u1, u2, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u2, u2} C _inst_1 C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1)) (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 X) f)) (Prefunctor.obj.{succ u1, succ u1, u1, u2} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.Category.toCategoryStruct.{u1, u1} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}))) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u2} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 X)) (CategoryTheory.Comma.right.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 X) f)) (CategoryTheory.Comma.hom.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 X) f)) (CategoryTheory.MonoOver.mk'.{u1, u2} C _inst_1 X A f hf))) A
+Case conversion may be inaccurate. Consider using '#align category_theory.mono_over.mk'_coe' CategoryTheory.MonoOver.mk'_coe'ₓ'. -/
 @[simp]
 theorem mk'_coe' {X A : C} (f : A ⟶ X) [hf : Mono f] : (mk' f : C) = A :=
   rfl
 #align category_theory.mono_over.mk'_coe' CategoryTheory.MonoOver.mk'_coe'
 
+/- warning: category_theory.mono_over.arrow -> CategoryTheory.MonoOver.arrow is a dubious translation:
+lean 3 declaration is
+  forall {C : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} C] {X : C} (f : CategoryTheory.MonoOver.{u1, u2} C _inst_1 X), Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) ((fun (a : Type.{max u2 u1}) (b : Type.{u2}) [self : HasLiftT.{succ (max u2 u1), succ u2} a b] => self.0) (CategoryTheory.MonoOver.{u1, u2} C _inst_1 X) C (HasLiftT.mk.{succ (max u2 u1), succ u2} (CategoryTheory.MonoOver.{u1, u2} C _inst_1 X) C (CoeTCₓ.coe.{succ (max u2 u1), succ u2} (CategoryTheory.MonoOver.{u1, u2} C _inst_1 X) C (coeBase.{succ (max u2 u1), succ u2} (CategoryTheory.MonoOver.{u1, u2} C _inst_1 X) C (CategoryTheory.MonoOver.hasCoe.{u1, u2} C _inst_1 X)))) f) X
+but is expected to have type
+  forall {C : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} C] {X : C} (f : CategoryTheory.MonoOver.{u1, u2} C _inst_1 X), Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 X) (CategoryTheory.FullSubcategory.obj.{max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 X) (fun (f : CategoryTheory.Over.{u1, u2} C _inst_1 X) => CategoryTheory.Mono.{u1, u2} C _inst_1 (Prefunctor.obj.{succ u1, succ u1, u2, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u2, u2} C _inst_1 C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1)) (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 X) f)) (Prefunctor.obj.{succ u1, succ u1, u1, u2} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.Category.toCategoryStruct.{u1, u1} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}))) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u2} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 X)) (CategoryTheory.Comma.right.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 X) f)) (CategoryTheory.Comma.hom.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 X) f)) f)) X
+Case conversion may be inaccurate. Consider using '#align category_theory.mono_over.arrow CategoryTheory.MonoOver.arrowₓ'. -/
 /-- Convenience notation for the underlying arrow of a monomorphism over X. -/
 abbrev arrow (f : MonoOver X) : (f : C) ⟶ X :=
   ((forget X).obj f).Hom
 #align category_theory.mono_over.arrow CategoryTheory.MonoOver.arrow
 
+/- warning: category_theory.mono_over.mk'_arrow -> CategoryTheory.MonoOver.mk'_arrow is a dubious translation:
+lean 3 declaration is
+  forall {C : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} C] {X : C} {A : C} (f : Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) A X) [hf : CategoryTheory.Mono.{u1, u2} C _inst_1 A X f], Eq.{succ u1} (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) ((fun (a : Type.{max u2 u1}) (b : Type.{u2}) [self : HasLiftT.{succ (max u2 u1), succ u2} a b] => self.0) (CategoryTheory.MonoOver.{u1, u2} C _inst_1 X) C (HasLiftT.mk.{succ (max u2 u1), succ u2} (CategoryTheory.MonoOver.{u1, u2} C _inst_1 X) C (CoeTCₓ.coe.{succ (max u2 u1), succ u2} (CategoryTheory.MonoOver.{u1, u2} C _inst_1 X) C (coeBase.{succ (max u2 u1), succ u2} (CategoryTheory.MonoOver.{u1, u2} C _inst_1 X) C (CategoryTheory.MonoOver.hasCoe.{u1, u2} C _inst_1 X)))) (CategoryTheory.MonoOver.mk'.{u1, u2} C _inst_1 X A f hf)) X) (CategoryTheory.MonoOver.arrow.{u1, u2} C _inst_1 X (CategoryTheory.MonoOver.mk'.{u1, u2} C _inst_1 X A f hf)) f
+but is expected to have type
+  forall {C : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} C] {X : C} {A : C} (f : Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) A X) [hf : CategoryTheory.Mono.{u1, u2} C _inst_1 A X f], Eq.{succ u1} (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 X) (CategoryTheory.FullSubcategory.obj.{max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 X) (fun (f : CategoryTheory.Over.{u1, u2} C _inst_1 X) => CategoryTheory.Mono.{u1, u2} C _inst_1 (Prefunctor.obj.{succ u1, succ u1, u2, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u2, u2} C _inst_1 C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1)) (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 X) f)) (Prefunctor.obj.{succ u1, succ u1, u1, u2} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.Category.toCategoryStruct.{u1, u1} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}))) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u2} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 X)) (CategoryTheory.Comma.right.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 X) f)) (CategoryTheory.Comma.hom.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 X) f)) (CategoryTheory.MonoOver.mk'.{u1, u2} C _inst_1 X A f hf))) X) (CategoryTheory.MonoOver.arrow.{u1, u2} C _inst_1 X (CategoryTheory.MonoOver.mk'.{u1, u2} C _inst_1 X A f hf)) f
+Case conversion may be inaccurate. Consider using '#align category_theory.mono_over.mk'_arrow CategoryTheory.MonoOver.mk'_arrowₓ'. -/
 @[simp]
 theorem mk'_arrow {X A : C} (f : A ⟶ X) [hf : Mono f] : (mk' f).arrow = f :=
   rfl
 #align category_theory.mono_over.mk'_arrow CategoryTheory.MonoOver.mk'_arrow
 
+/- warning: category_theory.mono_over.forget_obj_hom -> CategoryTheory.MonoOver.forget_obj_hom is a dubious translation:
+lean 3 declaration is
+  forall {C : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} C] {X : C} {f : CategoryTheory.MonoOver.{u1, u2} C _inst_1 X}, Eq.{succ u1} (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.obj.{u1, u1, u2, u2} C _inst_1 C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 X) (CategoryTheory.Functor.obj.{u1, u1, max u2 u1, max u2 u1} (CategoryTheory.MonoOver.{u1, u2} C _inst_1 X) (CategoryTheory.InducedCategory.category.{u1, max u2 u1, max u2 u1} (CategoryTheory.FullSubcategoryₓ.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 X) (CategoryTheory.Over.category.{u2, u1} C _inst_1 X) (fun (f : CategoryTheory.Over.{u1, u2} C _inst_1 X) => CategoryTheory.Mono.{u1, u2} C _inst_1 (CategoryTheory.Functor.obj.{u1, u1, u2, u2} C _inst_1 C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 X) f)) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 X) (CategoryTheory.Comma.right.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 X) f)) (CategoryTheory.Comma.hom.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 X) f))) (CategoryTheory.Over.{u1, u2} C _inst_1 X) (CategoryTheory.Over.category.{u2, u1} C _inst_1 X) (CategoryTheory.FullSubcategoryₓ.obj.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 X) (CategoryTheory.Over.category.{u2, u1} C _inst_1 X) (fun (f : CategoryTheory.Over.{u1, u2} C _inst_1 X) => CategoryTheory.Mono.{u1, u2} C _inst_1 (CategoryTheory.Functor.obj.{u1, u1, u2, u2} C _inst_1 C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 X) f)) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 X) (CategoryTheory.Comma.right.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 X) f)) (CategoryTheory.Comma.hom.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 X) f)))) (CategoryTheory.Over.{u1, u2} C _inst_1 X) (CategoryTheory.Over.category.{u2, u1} C _inst_1 X) (CategoryTheory.MonoOver.forget.{u1, u2} C _inst_1 X) f))) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 X) (CategoryTheory.Comma.right.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 X) (CategoryTheory.Functor.obj.{u1, u1, max u2 u1, max u2 u1} (CategoryTheory.MonoOver.{u1, u2} C _inst_1 X) (CategoryTheory.InducedCategory.category.{u1, max u2 u1, max u2 u1} (CategoryTheory.FullSubcategoryₓ.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 X) (CategoryTheory.Over.category.{u2, u1} C _inst_1 X) (fun (f : CategoryTheory.Over.{u1, u2} C _inst_1 X) => CategoryTheory.Mono.{u1, u2} C _inst_1 (CategoryTheory.Functor.obj.{u1, u1, u2, u2} C _inst_1 C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 X) f)) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 X) (CategoryTheory.Comma.right.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 X) f)) (CategoryTheory.Comma.hom.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 X) f))) (CategoryTheory.Over.{u1, u2} C _inst_1 X) (CategoryTheory.Over.category.{u2, u1} C _inst_1 X) (CategoryTheory.FullSubcategoryₓ.obj.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 X) (CategoryTheory.Over.category.{u2, u1} C _inst_1 X) (fun (f : CategoryTheory.Over.{u1, u2} C _inst_1 X) => CategoryTheory.Mono.{u1, u2} C _inst_1 (CategoryTheory.Functor.obj.{u1, u1, u2, u2} C _inst_1 C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 X) f)) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 X) (CategoryTheory.Comma.right.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 X) f)) (CategoryTheory.Comma.hom.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 X) f)))) (CategoryTheory.Over.{u1, u2} C _inst_1 X) (CategoryTheory.Over.category.{u2, u1} C _inst_1 X) (CategoryTheory.MonoOver.forget.{u1, u2} C _inst_1 X) f)))) (CategoryTheory.Comma.hom.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 X) (CategoryTheory.Functor.obj.{u1, u1, max u2 u1, max u2 u1} (CategoryTheory.MonoOver.{u1, u2} C _inst_1 X) (CategoryTheory.InducedCategory.category.{u1, max u2 u1, max u2 u1} (CategoryTheory.FullSubcategoryₓ.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 X) (CategoryTheory.Over.category.{u2, u1} C _inst_1 X) (fun (f : CategoryTheory.Over.{u1, u2} C _inst_1 X) => CategoryTheory.Mono.{u1, u2} C _inst_1 (CategoryTheory.Functor.obj.{u1, u1, u2, u2} C _inst_1 C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 X) f)) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 X) (CategoryTheory.Comma.right.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 X) f)) (CategoryTheory.Comma.hom.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 X) f))) (CategoryTheory.Over.{u1, u2} C _inst_1 X) (CategoryTheory.Over.category.{u2, u1} C _inst_1 X) (CategoryTheory.FullSubcategoryₓ.obj.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 X) (CategoryTheory.Over.category.{u2, u1} C _inst_1 X) (fun (f : CategoryTheory.Over.{u1, u2} C _inst_1 X) => CategoryTheory.Mono.{u1, u2} C _inst_1 (CategoryTheory.Functor.obj.{u1, u1, u2, u2} C _inst_1 C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 X) f)) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 X) (CategoryTheory.Comma.right.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 X) f)) (CategoryTheory.Comma.hom.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 X) f)))) (CategoryTheory.Over.{u1, u2} C _inst_1 X) (CategoryTheory.Over.category.{u2, u1} C _inst_1 X) (CategoryTheory.MonoOver.forget.{u1, u2} C _inst_1 X) f)) (CategoryTheory.MonoOver.arrow.{u1, u2} C _inst_1 X f)
+but is expected to have type
+  forall {C : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} C] {X : C} {f : CategoryTheory.MonoOver.{u1, u2} C _inst_1 X}, Eq.{succ u1} (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (Prefunctor.obj.{succ u1, succ u1, u2, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u2, u2} C _inst_1 C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1)) (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 X) (Prefunctor.obj.{succ u1, succ u1, max u2 u1, max u2 u1} (CategoryTheory.MonoOver.{u1, u2} C _inst_1 X) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u2 u1} (CategoryTheory.MonoOver.{u1, u2} C _inst_1 X) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 u1} (CategoryTheory.MonoOver.{u1, u2} C _inst_1 X) (CategoryTheory.instCategoryMonoOver.{u1, u2} C _inst_1 X))) (CategoryTheory.Over.{u1, u2} C _inst_1 X) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 X) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 X) (CategoryTheory.instCategoryOver.{u1, u2} C _inst_1 X))) (CategoryTheory.Functor.toPrefunctor.{u1, u1, max u2 u1, max u2 u1} (CategoryTheory.MonoOver.{u1, u2} C _inst_1 X) (CategoryTheory.instCategoryMonoOver.{u1, u2} C _inst_1 X) (CategoryTheory.Over.{u1, u2} C _inst_1 X) (CategoryTheory.instCategoryOver.{u1, u2} C _inst_1 X) (CategoryTheory.MonoOver.forget.{u1, u2} C _inst_1 X)) f))) (Prefunctor.obj.{succ u1, succ u1, u1, u2} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.Category.toCategoryStruct.{u1, u1} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}))) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u2} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 X)) (CategoryTheory.Comma.right.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 X) (Prefunctor.obj.{succ u1, succ u1, max u2 u1, max u2 u1} (CategoryTheory.MonoOver.{u1, u2} C _inst_1 X) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u2 u1} (CategoryTheory.MonoOver.{u1, u2} C _inst_1 X) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 u1} (CategoryTheory.MonoOver.{u1, u2} C _inst_1 X) (CategoryTheory.instCategoryMonoOver.{u1, u2} C _inst_1 X))) (CategoryTheory.Over.{u1, u2} C _inst_1 X) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 X) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 X) (CategoryTheory.instCategoryOver.{u1, u2} C _inst_1 X))) (CategoryTheory.Functor.toPrefunctor.{u1, u1, max u2 u1, max u2 u1} (CategoryTheory.MonoOver.{u1, u2} C _inst_1 X) (CategoryTheory.instCategoryMonoOver.{u1, u2} C _inst_1 X) (CategoryTheory.Over.{u1, u2} C _inst_1 X) (CategoryTheory.instCategoryOver.{u1, u2} C _inst_1 X) (CategoryTheory.MonoOver.forget.{u1, u2} C _inst_1 X)) f)))) (CategoryTheory.Comma.hom.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 X) (Prefunctor.obj.{succ u1, succ u1, max u2 u1, max u2 u1} (CategoryTheory.MonoOver.{u1, u2} C _inst_1 X) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u2 u1} (CategoryTheory.MonoOver.{u1, u2} C _inst_1 X) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 u1} (CategoryTheory.MonoOver.{u1, u2} C _inst_1 X) (CategoryTheory.instCategoryMonoOver.{u1, u2} C _inst_1 X))) (CategoryTheory.Over.{u1, u2} C _inst_1 X) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 X) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 X) (CategoryTheory.instCategoryOver.{u1, u2} C _inst_1 X))) (CategoryTheory.Functor.toPrefunctor.{u1, u1, max u2 u1, max u2 u1} (CategoryTheory.MonoOver.{u1, u2} C _inst_1 X) (CategoryTheory.instCategoryMonoOver.{u1, u2} C _inst_1 X) (CategoryTheory.Over.{u1, u2} C _inst_1 X) (CategoryTheory.instCategoryOver.{u1, u2} C _inst_1 X) (CategoryTheory.MonoOver.forget.{u1, u2} C _inst_1 X)) f)) (CategoryTheory.MonoOver.arrow.{u1, u2} C _inst_1 X f)
+Case conversion may be inaccurate. Consider using '#align category_theory.mono_over.forget_obj_hom CategoryTheory.MonoOver.forget_obj_homₓ'. -/
 @[simp]
 theorem forget_obj_hom {f} : ((forget X).obj f).Hom = f.arrow :=
   rfl
@@ -106,10 +146,17 @@ instance : Full (forget X) :=
 instance : Faithful (forget X) :=
   FullSubcategory.faithful _
 
+/- warning: category_theory.mono_over.mono -> CategoryTheory.MonoOver.mono is a dubious translation:
+lean 3 declaration is
+  forall {C : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} C] {X : C} (f : CategoryTheory.MonoOver.{u1, u2} C _inst_1 X), CategoryTheory.Mono.{u1, u2} C _inst_1 ((fun (a : Type.{max u2 u1}) (b : Type.{u2}) [self : HasLiftT.{succ (max u2 u1), succ u2} a b] => self.0) (CategoryTheory.MonoOver.{u1, u2} C _inst_1 X) C (HasLiftT.mk.{succ (max u2 u1), succ u2} (CategoryTheory.MonoOver.{u1, u2} C _inst_1 X) C (CoeTCₓ.coe.{succ (max u2 u1), succ u2} (CategoryTheory.MonoOver.{u1, u2} C _inst_1 X) C (coeBase.{succ (max u2 u1), succ u2} (CategoryTheory.MonoOver.{u1, u2} C _inst_1 X) C (CategoryTheory.MonoOver.hasCoe.{u1, u2} C _inst_1 X)))) f) X (CategoryTheory.MonoOver.arrow.{u1, u2} C _inst_1 X f)
+but is expected to have type
+  forall {C : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} C] {X : C} (f : CategoryTheory.MonoOver.{u1, u2} C _inst_1 X), CategoryTheory.Mono.{u1, u2} C _inst_1 (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 X) (CategoryTheory.FullSubcategory.obj.{max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 X) (fun (f : CategoryTheory.Over.{u1, u2} C _inst_1 X) => CategoryTheory.Mono.{u1, u2} C _inst_1 (Prefunctor.obj.{succ u1, succ u1, u2, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u2, u2} C _inst_1 C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1)) (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 X) f)) (Prefunctor.obj.{succ u1, succ u1, u1, u2} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.Category.toCategoryStruct.{u1, u1} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}))) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u2} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 X)) (CategoryTheory.Comma.right.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 X) f)) (CategoryTheory.Comma.hom.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 X) f)) f)) X (CategoryTheory.MonoOver.arrow.{u1, u2} C _inst_1 X f)
+Case conversion may be inaccurate. Consider using '#align category_theory.mono_over.mono CategoryTheory.MonoOver.monoₓ'. -/
 instance mono (f : MonoOver X) : Mono f.arrow :=
   f.property
 #align category_theory.mono_over.mono CategoryTheory.MonoOver.mono
 
+#print CategoryTheory.MonoOver.isThin /-
 /-- The category of monomorphisms over X is a thin category,
 which makes defining its skeleton easy. -/
 instance isThin {X : C} : Quiver.IsThin (MonoOver X) := fun f g =>
@@ -118,17 +165,23 @@ instance isThin {X : C} : Quiver.IsThin (MonoOver X) := fun f g =>
     ext1
     erw [← cancel_mono g.arrow, over.w h₁, over.w h₂]⟩
 #align category_theory.mono_over.is_thin CategoryTheory.MonoOver.isThin
+-/
 
+#print CategoryTheory.MonoOver.w /-
 @[reassoc.1]
 theorem w {f g : MonoOver X} (k : f ⟶ g) : k.left ≫ g.arrow = f.arrow :=
   Over.w _
 #align category_theory.mono_over.w CategoryTheory.MonoOver.w
+-/
 
+#print CategoryTheory.MonoOver.homMk /-
 /-- Convenience constructor for a morphism in monomorphisms over `X`. -/
 abbrev homMk {f g : MonoOver X} (h : f.obj.left ⟶ g.obj.left) (w : h ≫ g.arrow = f.arrow) : f ⟶ g :=
   Over.homMk h w
 #align category_theory.mono_over.hom_mk CategoryTheory.MonoOver.homMk
+-/
 
+#print CategoryTheory.MonoOver.isoMk /-
 /-- Convenience constructor for an isomorphism in monomorphisms over `X`. -/
 @[simps]
 def isoMk {f g : MonoOver X} (h : f.obj.left ≅ g.obj.left) (w : h.Hom ≫ g.arrow = f.arrow) : f ≅ g
@@ -136,7 +189,14 @@ def isoMk {f g : MonoOver X} (h : f.obj.left ≅ g.obj.left) (w : h.Hom ≫ g.ar
   Hom := homMk h.Hom w
   inv := homMk h.inv (by rw [h.inv_comp_eq, w])
 #align category_theory.mono_over.iso_mk CategoryTheory.MonoOver.isoMk
+-/
 
+/- warning: category_theory.mono_over.mk'_arrow_iso -> CategoryTheory.MonoOver.mk'ArrowIso is a dubious translation:
+lean 3 declaration is
+  forall {C : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} C] {X : C} (f : CategoryTheory.MonoOver.{u1, u2} C _inst_1 X), CategoryTheory.Iso.{u1, max u2 u1} (CategoryTheory.MonoOver.{u1, u2} C _inst_1 X) (CategoryTheory.MonoOver.category.{u2, u1} C _inst_1 X) (CategoryTheory.MonoOver.mk'.{u1, u2} C _inst_1 X ((fun (a : Type.{max u2 u1}) (b : Type.{u2}) [self : HasLiftT.{succ (max u2 u1), succ u2} a b] => self.0) (CategoryTheory.MonoOver.{u1, u2} C _inst_1 X) C (HasLiftT.mk.{succ (max u2 u1), succ u2} (CategoryTheory.MonoOver.{u1, u2} C _inst_1 X) C (CoeTCₓ.coe.{succ (max u2 u1), succ u2} (CategoryTheory.MonoOver.{u1, u2} C _inst_1 X) C (coeBase.{succ (max u2 u1), succ u2} (CategoryTheory.MonoOver.{u1, u2} C _inst_1 X) C (CategoryTheory.MonoOver.hasCoe.{u1, u2} C _inst_1 X)))) f) (CategoryTheory.MonoOver.arrow.{u1, u2} C _inst_1 X f) (CategoryTheory.MonoOver.mono.{u1, u2} C _inst_1 X f)) f
+but is expected to have type
+  forall {C : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} C] {X : C} (f : CategoryTheory.MonoOver.{u1, u2} C _inst_1 X), CategoryTheory.Iso.{u1, max u2 u1} (CategoryTheory.MonoOver.{u1, u2} C _inst_1 X) (CategoryTheory.instCategoryMonoOver.{u1, u2} C _inst_1 X) (CategoryTheory.MonoOver.mk'.{u1, u2} C _inst_1 X (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 X) (CategoryTheory.FullSubcategory.obj.{max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 X) (fun (f : CategoryTheory.Over.{u1, u2} C _inst_1 X) => CategoryTheory.Mono.{u1, u2} C _inst_1 (Prefunctor.obj.{succ u1, succ u1, u2, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u2, u2} C _inst_1 C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1)) (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 X) f)) (Prefunctor.obj.{succ u1, succ u1, u1, u2} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.Category.toCategoryStruct.{u1, u1} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}))) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u2} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 X)) (CategoryTheory.Comma.right.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 X) f)) (CategoryTheory.Comma.hom.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 X) f)) f)) (CategoryTheory.MonoOver.arrow.{u1, u2} C _inst_1 X f) (CategoryTheory.MonoOver.mono.{u1, u2} C _inst_1 X f)) f
+Case conversion may be inaccurate. Consider using '#align category_theory.mono_over.mk'_arrow_iso CategoryTheory.MonoOver.mk'ArrowIsoₓ'. -/
 /-- If `f : mono_over X`, then `mk' f.arrow` is of course just `f`, but not definitionally, so we
     package it as an isomorphism. -/
 @[simp]
@@ -144,6 +204,12 @@ def mk'ArrowIso {X : C} (f : MonoOver X) : mk' f.arrow ≅ f :=
   isoMk (Iso.refl _) (by simp)
 #align category_theory.mono_over.mk'_arrow_iso CategoryTheory.MonoOver.mk'ArrowIso
 
+/- warning: category_theory.mono_over.lift -> CategoryTheory.MonoOver.lift is a dubious translation:
+lean 3 declaration is
+  forall {C : Type.{u3}} [_inst_1 : CategoryTheory.Category.{u1, u3} C] {X : C} {D : Type.{u4}} [_inst_2 : CategoryTheory.Category.{u2, u4} D] {Y : D} (F : CategoryTheory.Functor.{u2, u1, max u4 u2, max u3 u1} (CategoryTheory.Over.{u2, u4} D _inst_2 Y) (CategoryTheory.Over.category.{u4, u2} D _inst_2 Y) (CategoryTheory.Over.{u1, u3} C _inst_1 X) (CategoryTheory.Over.category.{u3, u1} C _inst_1 X)), (forall (f : CategoryTheory.MonoOver.{u2, u4} D _inst_2 Y), CategoryTheory.Mono.{u1, u3} C _inst_1 (CategoryTheory.Functor.obj.{u1, u1, u3, u3} C _inst_1 C _inst_1 (CategoryTheory.Functor.id.{u1, u3} C _inst_1) (CategoryTheory.Comma.left.{u1, u1, u1, u3, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u3} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u3} C _inst_1 X) (CategoryTheory.Functor.obj.{u2, u1, max u4 u2, max u3 u1} (CategoryTheory.Over.{u2, u4} D _inst_2 Y) (CategoryTheory.Over.category.{u4, u2} D _inst_2 Y) (CategoryTheory.Over.{u1, u3} C _inst_1 X) (CategoryTheory.Over.category.{u3, u1} C _inst_1 X) F (CategoryTheory.Functor.obj.{u2, u2, max u4 u2, max u4 u2} (CategoryTheory.MonoOver.{u2, u4} D _inst_2 Y) (CategoryTheory.InducedCategory.category.{u2, max u4 u2, max u4 u2} (CategoryTheory.FullSubcategoryₓ.{u2, max u4 u2} (CategoryTheory.Over.{u2, u4} D _inst_2 Y) (CategoryTheory.Over.category.{u4, u2} D _inst_2 Y) (fun (f : CategoryTheory.Over.{u2, u4} D _inst_2 Y) => CategoryTheory.Mono.{u2, u4} D _inst_2 (CategoryTheory.Functor.obj.{u2, u2, u4, u4} D _inst_2 D _inst_2 (CategoryTheory.Functor.id.{u2, u4} D _inst_2) (CategoryTheory.Comma.left.{u2, u2, u2, u4, u2, u4} D _inst_2 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) D _inst_2 (CategoryTheory.Functor.id.{u2, u4} D _inst_2) (CategoryTheory.Functor.fromPUnit.{u2, u4} D _inst_2 Y) f)) (CategoryTheory.Functor.obj.{u2, u2, u2, u4} (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) D _inst_2 (CategoryTheory.Functor.fromPUnit.{u2, u4} D _inst_2 Y) (CategoryTheory.Comma.right.{u2, u2, u2, u4, u2, u4} D _inst_2 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) D _inst_2 (CategoryTheory.Functor.id.{u2, u4} D _inst_2) (CategoryTheory.Functor.fromPUnit.{u2, u4} D _inst_2 Y) f)) (CategoryTheory.Comma.hom.{u2, u2, u2, u4, u2, u4} D _inst_2 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) D _inst_2 (CategoryTheory.Functor.id.{u2, u4} D _inst_2) (CategoryTheory.Functor.fromPUnit.{u2, u4} D _inst_2 Y) f))) (CategoryTheory.Over.{u2, u4} D _inst_2 Y) (CategoryTheory.Over.category.{u4, u2} D _inst_2 Y) (CategoryTheory.FullSubcategoryₓ.obj.{u2, max u4 u2} (CategoryTheory.Over.{u2, u4} D _inst_2 Y) (CategoryTheory.Over.category.{u4, u2} D _inst_2 Y) (fun (f : CategoryTheory.Over.{u2, u4} D _inst_2 Y) => CategoryTheory.Mono.{u2, u4} D _inst_2 (CategoryTheory.Functor.obj.{u2, u2, u4, u4} D _inst_2 D _inst_2 (CategoryTheory.Functor.id.{u2, u4} D _inst_2) (CategoryTheory.Comma.left.{u2, u2, u2, u4, u2, u4} D _inst_2 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) D _inst_2 (CategoryTheory.Functor.id.{u2, u4} D _inst_2) (CategoryTheory.Functor.fromPUnit.{u2, u4} D _inst_2 Y) f)) (CategoryTheory.Functor.obj.{u2, u2, u2, u4} (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) D _inst_2 (CategoryTheory.Functor.fromPUnit.{u2, u4} D _inst_2 Y) (CategoryTheory.Comma.right.{u2, u2, u2, u4, u2, u4} D _inst_2 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) D _inst_2 (CategoryTheory.Functor.id.{u2, u4} D _inst_2) (CategoryTheory.Functor.fromPUnit.{u2, u4} D _inst_2 Y) f)) (CategoryTheory.Comma.hom.{u2, u2, u2, u4, u2, u4} D _inst_2 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) D _inst_2 (CategoryTheory.Functor.id.{u2, u4} D _inst_2) (CategoryTheory.Functor.fromPUnit.{u2, u4} D _inst_2 Y) f)))) (CategoryTheory.Over.{u2, u4} D _inst_2 Y) (CategoryTheory.Over.category.{u4, u2} D _inst_2 Y) (CategoryTheory.MonoOver.forget.{u2, u4} D _inst_2 Y) f)))) (CategoryTheory.Functor.obj.{u1, u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.fromPUnit.{u1, u3} C _inst_1 X) (CategoryTheory.Comma.right.{u1, u1, u1, u3, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u3} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u3} C _inst_1 X) (CategoryTheory.Functor.obj.{u2, u1, max u4 u2, max u3 u1} (CategoryTheory.Over.{u2, u4} D _inst_2 Y) (CategoryTheory.Over.category.{u4, u2} D _inst_2 Y) (CategoryTheory.Over.{u1, u3} C _inst_1 X) (CategoryTheory.Over.category.{u3, u1} C _inst_1 X) F (CategoryTheory.Functor.obj.{u2, u2, max u4 u2, max u4 u2} (CategoryTheory.MonoOver.{u2, u4} D _inst_2 Y) (CategoryTheory.InducedCategory.category.{u2, max u4 u2, max u4 u2} (CategoryTheory.FullSubcategoryₓ.{u2, max u4 u2} (CategoryTheory.Over.{u2, u4} D _inst_2 Y) (CategoryTheory.Over.category.{u4, u2} D _inst_2 Y) (fun (f : CategoryTheory.Over.{u2, u4} D _inst_2 Y) => CategoryTheory.Mono.{u2, u4} D _inst_2 (CategoryTheory.Functor.obj.{u2, u2, u4, u4} D _inst_2 D _inst_2 (CategoryTheory.Functor.id.{u2, u4} D _inst_2) (CategoryTheory.Comma.left.{u2, u2, u2, u4, u2, u4} D _inst_2 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) D _inst_2 (CategoryTheory.Functor.id.{u2, u4} D _inst_2) (CategoryTheory.Functor.fromPUnit.{u2, u4} D _inst_2 Y) f)) (CategoryTheory.Functor.obj.{u2, u2, u2, u4} (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) D _inst_2 (CategoryTheory.Functor.fromPUnit.{u2, u4} D _inst_2 Y) (CategoryTheory.Comma.right.{u2, u2, u2, u4, u2, u4} D _inst_2 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) D _inst_2 (CategoryTheory.Functor.id.{u2, u4} D _inst_2) (CategoryTheory.Functor.fromPUnit.{u2, u4} D _inst_2 Y) f)) (CategoryTheory.Comma.hom.{u2, u2, u2, u4, u2, u4} D _inst_2 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) D _inst_2 (CategoryTheory.Functor.id.{u2, u4} D _inst_2) (CategoryTheory.Functor.fromPUnit.{u2, u4} D _inst_2 Y) f))) (CategoryTheory.Over.{u2, u4} D _inst_2 Y) (CategoryTheory.Over.category.{u4, u2} D _inst_2 Y) (CategoryTheory.FullSubcategoryₓ.obj.{u2, max u4 u2} (CategoryTheory.Over.{u2, u4} D _inst_2 Y) (CategoryTheory.Over.category.{u4, u2} D _inst_2 Y) (fun (f : CategoryTheory.Over.{u2, u4} D _inst_2 Y) => CategoryTheory.Mono.{u2, u4} D _inst_2 (CategoryTheory.Functor.obj.{u2, u2, u4, u4} D _inst_2 D _inst_2 (CategoryTheory.Functor.id.{u2, u4} D _inst_2) (CategoryTheory.Comma.left.{u2, u2, u2, u4, u2, u4} D _inst_2 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) D _inst_2 (CategoryTheory.Functor.id.{u2, u4} D _inst_2) (CategoryTheory.Functor.fromPUnit.{u2, u4} D _inst_2 Y) f)) (CategoryTheory.Functor.obj.{u2, u2, u2, u4} (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) D _inst_2 (CategoryTheory.Functor.fromPUnit.{u2, u4} D _inst_2 Y) (CategoryTheory.Comma.right.{u2, u2, u2, u4, u2, u4} D _inst_2 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) D _inst_2 (CategoryTheory.Functor.id.{u2, u4} D _inst_2) (CategoryTheory.Functor.fromPUnit.{u2, u4} D _inst_2 Y) f)) (CategoryTheory.Comma.hom.{u2, u2, u2, u4, u2, u4} D _inst_2 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) D _inst_2 (CategoryTheory.Functor.id.{u2, u4} D _inst_2) (CategoryTheory.Functor.fromPUnit.{u2, u4} D _inst_2 Y) f)))) (CategoryTheory.Over.{u2, u4} D _inst_2 Y) (CategoryTheory.Over.category.{u4, u2} D _inst_2 Y) (CategoryTheory.MonoOver.forget.{u2, u4} D _inst_2 Y) f)))) (CategoryTheory.Comma.hom.{u1, u1, u1, u3, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u3} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u3} C _inst_1 X) (CategoryTheory.Functor.obj.{u2, u1, max u4 u2, max u3 u1} (CategoryTheory.Over.{u2, u4} D _inst_2 Y) (CategoryTheory.Over.category.{u4, u2} D _inst_2 Y) (CategoryTheory.Over.{u1, u3} C _inst_1 X) (CategoryTheory.Over.category.{u3, u1} C _inst_1 X) F (CategoryTheory.Functor.obj.{u2, u2, max u4 u2, max u4 u2} (CategoryTheory.MonoOver.{u2, u4} D _inst_2 Y) (CategoryTheory.InducedCategory.category.{u2, max u4 u2, max u4 u2} (CategoryTheory.FullSubcategoryₓ.{u2, max u4 u2} (CategoryTheory.Over.{u2, u4} D _inst_2 Y) (CategoryTheory.Over.category.{u4, u2} D _inst_2 Y) (fun (f : CategoryTheory.Over.{u2, u4} D _inst_2 Y) => CategoryTheory.Mono.{u2, u4} D _inst_2 (CategoryTheory.Functor.obj.{u2, u2, u4, u4} D _inst_2 D _inst_2 (CategoryTheory.Functor.id.{u2, u4} D _inst_2) (CategoryTheory.Comma.left.{u2, u2, u2, u4, u2, u4} D _inst_2 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) D _inst_2 (CategoryTheory.Functor.id.{u2, u4} D _inst_2) (CategoryTheory.Functor.fromPUnit.{u2, u4} D _inst_2 Y) f)) (CategoryTheory.Functor.obj.{u2, u2, u2, u4} (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) D _inst_2 (CategoryTheory.Functor.fromPUnit.{u2, u4} D _inst_2 Y) (CategoryTheory.Comma.right.{u2, u2, u2, u4, u2, u4} D _inst_2 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) D _inst_2 (CategoryTheory.Functor.id.{u2, u4} D _inst_2) (CategoryTheory.Functor.fromPUnit.{u2, u4} D _inst_2 Y) f)) (CategoryTheory.Comma.hom.{u2, u2, u2, u4, u2, u4} D _inst_2 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) D _inst_2 (CategoryTheory.Functor.id.{u2, u4} D _inst_2) (CategoryTheory.Functor.fromPUnit.{u2, u4} D _inst_2 Y) f))) (CategoryTheory.Over.{u2, u4} D _inst_2 Y) (CategoryTheory.Over.category.{u4, u2} D _inst_2 Y) (CategoryTheory.FullSubcategoryₓ.obj.{u2, max u4 u2} (CategoryTheory.Over.{u2, u4} D _inst_2 Y) (CategoryTheory.Over.category.{u4, u2} D _inst_2 Y) (fun (f : CategoryTheory.Over.{u2, u4} D _inst_2 Y) => CategoryTheory.Mono.{u2, u4} D _inst_2 (CategoryTheory.Functor.obj.{u2, u2, u4, u4} D _inst_2 D _inst_2 (CategoryTheory.Functor.id.{u2, u4} D _inst_2) (CategoryTheory.Comma.left.{u2, u2, u2, u4, u2, u4} D _inst_2 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) D _inst_2 (CategoryTheory.Functor.id.{u2, u4} D _inst_2) (CategoryTheory.Functor.fromPUnit.{u2, u4} D _inst_2 Y) f)) (CategoryTheory.Functor.obj.{u2, u2, u2, u4} (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) D _inst_2 (CategoryTheory.Functor.fromPUnit.{u2, u4} D _inst_2 Y) (CategoryTheory.Comma.right.{u2, u2, u2, u4, u2, u4} D _inst_2 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) D _inst_2 (CategoryTheory.Functor.id.{u2, u4} D _inst_2) (CategoryTheory.Functor.fromPUnit.{u2, u4} D _inst_2 Y) f)) (CategoryTheory.Comma.hom.{u2, u2, u2, u4, u2, u4} D _inst_2 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) D _inst_2 (CategoryTheory.Functor.id.{u2, u4} D _inst_2) (CategoryTheory.Functor.fromPUnit.{u2, u4} D _inst_2 Y) f)))) (CategoryTheory.Over.{u2, u4} D _inst_2 Y) (CategoryTheory.Over.category.{u4, u2} D _inst_2 Y) (CategoryTheory.MonoOver.forget.{u2, u4} D _inst_2 Y) f)))) -> (CategoryTheory.Functor.{u2, u1, max u4 u2, max u3 u1} (CategoryTheory.MonoOver.{u2, u4} D _inst_2 Y) (CategoryTheory.MonoOver.category.{u4, u2} D _inst_2 Y) (CategoryTheory.MonoOver.{u1, u3} C _inst_1 X) (CategoryTheory.MonoOver.category.{u3, u1} C _inst_1 X))
+but is expected to have type
+  forall {C : Type.{u3}} [_inst_1 : CategoryTheory.Category.{u1, u3} C] {X : C} {D : Type.{u4}} [_inst_2 : CategoryTheory.Category.{u2, u4} D] {Y : D} (F : CategoryTheory.Functor.{u2, u1, max u4 u2, max u3 u1} (CategoryTheory.Over.{u2, u4} D _inst_2 Y) (CategoryTheory.instCategoryOver.{u2, u4} D _inst_2 Y) (CategoryTheory.Over.{u1, u3} C _inst_1 X) (CategoryTheory.instCategoryOver.{u1, u3} C _inst_1 X)), (forall (f : CategoryTheory.MonoOver.{u2, u4} D _inst_2 Y), CategoryTheory.Mono.{u1, u3} C _inst_1 (Prefunctor.obj.{succ u1, succ u1, u3, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} C (CategoryTheory.Category.toCategoryStruct.{u1, u3} C _inst_1)) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} C (CategoryTheory.Category.toCategoryStruct.{u1, u3} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u3, u3} C _inst_1 C _inst_1 (CategoryTheory.Functor.id.{u1, u3} C _inst_1)) (CategoryTheory.Comma.left.{u1, u1, u1, u3, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u3} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u3} C _inst_1 X) (Prefunctor.obj.{succ u2, succ u1, max u4 u2, max u3 u1} (CategoryTheory.Over.{u2, u4} D _inst_2 Y) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u4 u2} (CategoryTheory.Over.{u2, u4} D _inst_2 Y) (CategoryTheory.Category.toCategoryStruct.{u2, max u4 u2} (CategoryTheory.Over.{u2, u4} D _inst_2 Y) (CategoryTheory.instCategoryOver.{u2, u4} D _inst_2 Y))) (CategoryTheory.Over.{u1, u3} C _inst_1 X) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u3 u1} (CategoryTheory.Over.{u1, u3} C _inst_1 X) (CategoryTheory.Category.toCategoryStruct.{u1, max u3 u1} (CategoryTheory.Over.{u1, u3} C _inst_1 X) (CategoryTheory.instCategoryOver.{u1, u3} C _inst_1 X))) (CategoryTheory.Functor.toPrefunctor.{u2, u1, max u4 u2, max u3 u1} (CategoryTheory.Over.{u2, u4} D _inst_2 Y) (CategoryTheory.instCategoryOver.{u2, u4} D _inst_2 Y) (CategoryTheory.Over.{u1, u3} C _inst_1 X) (CategoryTheory.instCategoryOver.{u1, u3} C _inst_1 X) F) (Prefunctor.obj.{succ u2, succ u2, max u4 u2, max u4 u2} (CategoryTheory.MonoOver.{u2, u4} D _inst_2 Y) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u4 u2} (CategoryTheory.MonoOver.{u2, u4} D _inst_2 Y) (CategoryTheory.Category.toCategoryStruct.{u2, max u4 u2} (CategoryTheory.MonoOver.{u2, u4} D _inst_2 Y) (CategoryTheory.instCategoryMonoOver.{u2, u4} D _inst_2 Y))) (CategoryTheory.Over.{u2, u4} D _inst_2 Y) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u4 u2} (CategoryTheory.Over.{u2, u4} D _inst_2 Y) (CategoryTheory.Category.toCategoryStruct.{u2, max u4 u2} (CategoryTheory.Over.{u2, u4} D _inst_2 Y) (CategoryTheory.instCategoryOver.{u2, u4} D _inst_2 Y))) (CategoryTheory.Functor.toPrefunctor.{u2, u2, max u4 u2, max u4 u2} (CategoryTheory.MonoOver.{u2, u4} D _inst_2 Y) (CategoryTheory.instCategoryMonoOver.{u2, u4} D _inst_2 Y) (CategoryTheory.Over.{u2, u4} D _inst_2 Y) (CategoryTheory.instCategoryOver.{u2, u4} D _inst_2 Y) (CategoryTheory.MonoOver.forget.{u2, u4} D _inst_2 Y)) f)))) (Prefunctor.obj.{succ u1, succ u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.Category.toCategoryStruct.{u1, u1} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}))) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} C (CategoryTheory.Category.toCategoryStruct.{u1, u3} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.fromPUnit.{u1, u3} C _inst_1 X)) (CategoryTheory.Comma.right.{u1, u1, u1, u3, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u3} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u3} C _inst_1 X) (Prefunctor.obj.{succ u2, succ u1, max u4 u2, max u3 u1} (CategoryTheory.Over.{u2, u4} D _inst_2 Y) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u4 u2} (CategoryTheory.Over.{u2, u4} D _inst_2 Y) (CategoryTheory.Category.toCategoryStruct.{u2, max u4 u2} (CategoryTheory.Over.{u2, u4} D _inst_2 Y) (CategoryTheory.instCategoryOver.{u2, u4} D _inst_2 Y))) (CategoryTheory.Over.{u1, u3} C _inst_1 X) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u3 u1} (CategoryTheory.Over.{u1, u3} C _inst_1 X) (CategoryTheory.Category.toCategoryStruct.{u1, max u3 u1} (CategoryTheory.Over.{u1, u3} C _inst_1 X) (CategoryTheory.instCategoryOver.{u1, u3} C _inst_1 X))) (CategoryTheory.Functor.toPrefunctor.{u2, u1, max u4 u2, max u3 u1} (CategoryTheory.Over.{u2, u4} D _inst_2 Y) (CategoryTheory.instCategoryOver.{u2, u4} D _inst_2 Y) (CategoryTheory.Over.{u1, u3} C _inst_1 X) (CategoryTheory.instCategoryOver.{u1, u3} C _inst_1 X) F) (Prefunctor.obj.{succ u2, succ u2, max u4 u2, max u4 u2} (CategoryTheory.MonoOver.{u2, u4} D _inst_2 Y) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u4 u2} (CategoryTheory.MonoOver.{u2, u4} D _inst_2 Y) (CategoryTheory.Category.toCategoryStruct.{u2, max u4 u2} (CategoryTheory.MonoOver.{u2, u4} D _inst_2 Y) (CategoryTheory.instCategoryMonoOver.{u2, u4} D _inst_2 Y))) (CategoryTheory.Over.{u2, u4} D _inst_2 Y) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u4 u2} (CategoryTheory.Over.{u2, u4} D _inst_2 Y) (CategoryTheory.Category.toCategoryStruct.{u2, max u4 u2} (CategoryTheory.Over.{u2, u4} D _inst_2 Y) (CategoryTheory.instCategoryOver.{u2, u4} D _inst_2 Y))) (CategoryTheory.Functor.toPrefunctor.{u2, u2, max u4 u2, max u4 u2} (CategoryTheory.MonoOver.{u2, u4} D _inst_2 Y) (CategoryTheory.instCategoryMonoOver.{u2, u4} D _inst_2 Y) (CategoryTheory.Over.{u2, u4} D _inst_2 Y) (CategoryTheory.instCategoryOver.{u2, u4} D _inst_2 Y) (CategoryTheory.MonoOver.forget.{u2, u4} D _inst_2 Y)) f)))) (CategoryTheory.Comma.hom.{u1, u1, u1, u3, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u3} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u3} C _inst_1 X) (Prefunctor.obj.{succ u2, succ u1, max u4 u2, max u3 u1} (CategoryTheory.Over.{u2, u4} D _inst_2 Y) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u4 u2} (CategoryTheory.Over.{u2, u4} D _inst_2 Y) (CategoryTheory.Category.toCategoryStruct.{u2, max u4 u2} (CategoryTheory.Over.{u2, u4} D _inst_2 Y) (CategoryTheory.instCategoryOver.{u2, u4} D _inst_2 Y))) (CategoryTheory.Over.{u1, u3} C _inst_1 X) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u3 u1} (CategoryTheory.Over.{u1, u3} C _inst_1 X) (CategoryTheory.Category.toCategoryStruct.{u1, max u3 u1} (CategoryTheory.Over.{u1, u3} C _inst_1 X) (CategoryTheory.instCategoryOver.{u1, u3} C _inst_1 X))) (CategoryTheory.Functor.toPrefunctor.{u2, u1, max u4 u2, max u3 u1} (CategoryTheory.Over.{u2, u4} D _inst_2 Y) (CategoryTheory.instCategoryOver.{u2, u4} D _inst_2 Y) (CategoryTheory.Over.{u1, u3} C _inst_1 X) (CategoryTheory.instCategoryOver.{u1, u3} C _inst_1 X) F) (Prefunctor.obj.{succ u2, succ u2, max u4 u2, max u4 u2} (CategoryTheory.MonoOver.{u2, u4} D _inst_2 Y) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u4 u2} (CategoryTheory.MonoOver.{u2, u4} D _inst_2 Y) (CategoryTheory.Category.toCategoryStruct.{u2, max u4 u2} (CategoryTheory.MonoOver.{u2, u4} D _inst_2 Y) (CategoryTheory.instCategoryMonoOver.{u2, u4} D _inst_2 Y))) (CategoryTheory.Over.{u2, u4} D _inst_2 Y) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u4 u2} (CategoryTheory.Over.{u2, u4} D _inst_2 Y) (CategoryTheory.Category.toCategoryStruct.{u2, max u4 u2} (CategoryTheory.Over.{u2, u4} D _inst_2 Y) (CategoryTheory.instCategoryOver.{u2, u4} D _inst_2 Y))) (CategoryTheory.Functor.toPrefunctor.{u2, u2, max u4 u2, max u4 u2} (CategoryTheory.MonoOver.{u2, u4} D _inst_2 Y) (CategoryTheory.instCategoryMonoOver.{u2, u4} D _inst_2 Y) (CategoryTheory.Over.{u2, u4} D _inst_2 Y) (CategoryTheory.instCategoryOver.{u2, u4} D _inst_2 Y) (CategoryTheory.MonoOver.forget.{u2, u4} D _inst_2 Y)) f)))) -> (CategoryTheory.Functor.{u2, u1, max u4 u2, max u3 u1} (CategoryTheory.MonoOver.{u2, u4} D _inst_2 Y) (CategoryTheory.instCategoryMonoOver.{u2, u4} D _inst_2 Y) (CategoryTheory.MonoOver.{u1, u3} C _inst_1 X) (CategoryTheory.instCategoryMonoOver.{u1, u3} C _inst_1 X))
+Case conversion may be inaccurate. Consider using '#align category_theory.mono_over.lift CategoryTheory.MonoOver.liftₓ'. -/
 /-- Lift a functor between over categories to a functor between `mono_over` categories,
 given suitable evidence that morphisms are taken to monomorphisms.
 -/
@@ -155,23 +221,43 @@ def lift {Y : D} (F : Over Y ⥤ Over X)
   map _ _ k := (MonoOver.forget X).preimage ((MonoOver.forget Y ⋙ F).map k)
 #align category_theory.mono_over.lift CategoryTheory.MonoOver.lift
 
+/- warning: category_theory.mono_over.lift_iso -> CategoryTheory.MonoOver.liftIso is a dubious translation:
+lean 3 declaration is
+  forall {C : Type.{u3}} [_inst_1 : CategoryTheory.Category.{u1, u3} C] {X : C} {D : Type.{u4}} [_inst_2 : CategoryTheory.Category.{u2, u4} D] {Y : D} {F₁ : CategoryTheory.Functor.{u2, u1, max u4 u2, max u3 u1} (CategoryTheory.Over.{u2, u4} D _inst_2 Y) (CategoryTheory.Over.category.{u4, u2} D _inst_2 Y) (CategoryTheory.Over.{u1, u3} C _inst_1 X) (CategoryTheory.Over.category.{u3, u1} C _inst_1 X)} {F₂ : CategoryTheory.Functor.{u2, u1, max u4 u2, max u3 u1} (CategoryTheory.Over.{u2, u4} D _inst_2 Y) (CategoryTheory.Over.category.{u4, u2} D _inst_2 Y) (CategoryTheory.Over.{u1, u3} C _inst_1 X) (CategoryTheory.Over.category.{u3, u1} C _inst_1 X)} (h₁ : forall (f : CategoryTheory.MonoOver.{u2, u4} D _inst_2 Y), CategoryTheory.Mono.{u1, u3} C _inst_1 (CategoryTheory.Functor.obj.{u1, u1, u3, u3} C _inst_1 C _inst_1 (CategoryTheory.Functor.id.{u1, u3} C _inst_1) (CategoryTheory.Comma.left.{u1, u1, u1, u3, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u3} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u3} C _inst_1 X) (CategoryTheory.Functor.obj.{u2, u1, max u4 u2, max u3 u1} (CategoryTheory.Over.{u2, u4} D _inst_2 Y) (CategoryTheory.Over.category.{u4, u2} D _inst_2 Y) (CategoryTheory.Over.{u1, u3} C _inst_1 X) (CategoryTheory.Over.category.{u3, u1} C _inst_1 X) F₁ (CategoryTheory.Functor.obj.{u2, u2, max u4 u2, max u4 u2} (CategoryTheory.MonoOver.{u2, u4} D _inst_2 Y) (CategoryTheory.InducedCategory.category.{u2, max u4 u2, max u4 u2} (CategoryTheory.FullSubcategoryₓ.{u2, max u4 u2} (CategoryTheory.Over.{u2, u4} D _inst_2 Y) (CategoryTheory.Over.category.{u4, u2} D _inst_2 Y) (fun (f : CategoryTheory.Over.{u2, u4} D _inst_2 Y) => CategoryTheory.Mono.{u2, u4} D _inst_2 (CategoryTheory.Functor.obj.{u2, u2, u4, u4} D _inst_2 D _inst_2 (CategoryTheory.Functor.id.{u2, u4} D _inst_2) (CategoryTheory.Comma.left.{u2, u2, u2, u4, u2, u4} D _inst_2 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) D _inst_2 (CategoryTheory.Functor.id.{u2, u4} D _inst_2) (CategoryTheory.Functor.fromPUnit.{u2, u4} D _inst_2 Y) f)) (CategoryTheory.Functor.obj.{u2, u2, u2, u4} (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) D _inst_2 (CategoryTheory.Functor.fromPUnit.{u2, u4} D _inst_2 Y) (CategoryTheory.Comma.right.{u2, u2, u2, u4, u2, u4} D _inst_2 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) D _inst_2 (CategoryTheory.Functor.id.{u2, u4} D _inst_2) (CategoryTheory.Functor.fromPUnit.{u2, u4} D _inst_2 Y) f)) (CategoryTheory.Comma.hom.{u2, u2, u2, u4, u2, u4} D _inst_2 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) D _inst_2 (CategoryTheory.Functor.id.{u2, u4} D _inst_2) (CategoryTheory.Functor.fromPUnit.{u2, u4} D _inst_2 Y) f))) (CategoryTheory.Over.{u2, u4} D _inst_2 Y) (CategoryTheory.Over.category.{u4, u2} D _inst_2 Y) (CategoryTheory.FullSubcategoryₓ.obj.{u2, max u4 u2} (CategoryTheory.Over.{u2, u4} D _inst_2 Y) (CategoryTheory.Over.category.{u4, u2} D _inst_2 Y) (fun (f : CategoryTheory.Over.{u2, u4} D _inst_2 Y) => CategoryTheory.Mono.{u2, u4} D _inst_2 (CategoryTheory.Functor.obj.{u2, u2, u4, u4} D _inst_2 D _inst_2 (CategoryTheory.Functor.id.{u2, u4} D _inst_2) (CategoryTheory.Comma.left.{u2, u2, u2, u4, u2, u4} D _inst_2 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) D _inst_2 (CategoryTheory.Functor.id.{u2, u4} D _inst_2) (CategoryTheory.Functor.fromPUnit.{u2, u4} D _inst_2 Y) f)) (CategoryTheory.Functor.obj.{u2, u2, u2, u4} (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) D _inst_2 (CategoryTheory.Functor.fromPUnit.{u2, u4} D _inst_2 Y) (CategoryTheory.Comma.right.{u2, u2, u2, u4, u2, u4} D _inst_2 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) D _inst_2 (CategoryTheory.Functor.id.{u2, u4} D _inst_2) (CategoryTheory.Functor.fromPUnit.{u2, u4} D _inst_2 Y) f)) (CategoryTheory.Comma.hom.{u2, u2, u2, u4, u2, u4} D _inst_2 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) D _inst_2 (CategoryTheory.Functor.id.{u2, u4} D _inst_2) (CategoryTheory.Functor.fromPUnit.{u2, u4} D _inst_2 Y) f)))) (CategoryTheory.Over.{u2, u4} D _inst_2 Y) (CategoryTheory.Over.category.{u4, u2} D _inst_2 Y) (CategoryTheory.MonoOver.forget.{u2, u4} D _inst_2 Y) f)))) (CategoryTheory.Functor.obj.{u1, u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.fromPUnit.{u1, u3} C _inst_1 X) (CategoryTheory.Comma.right.{u1, u1, u1, u3, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u3} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u3} C _inst_1 X) (CategoryTheory.Functor.obj.{u2, u1, max u4 u2, max u3 u1} (CategoryTheory.Over.{u2, u4} D _inst_2 Y) (CategoryTheory.Over.category.{u4, u2} D _inst_2 Y) (CategoryTheory.Over.{u1, u3} C _inst_1 X) (CategoryTheory.Over.category.{u3, u1} C _inst_1 X) F₁ (CategoryTheory.Functor.obj.{u2, u2, max u4 u2, max u4 u2} (CategoryTheory.MonoOver.{u2, u4} D _inst_2 Y) (CategoryTheory.InducedCategory.category.{u2, max u4 u2, max u4 u2} (CategoryTheory.FullSubcategoryₓ.{u2, max u4 u2} (CategoryTheory.Over.{u2, u4} D _inst_2 Y) (CategoryTheory.Over.category.{u4, u2} D _inst_2 Y) (fun (f : CategoryTheory.Over.{u2, u4} D _inst_2 Y) => CategoryTheory.Mono.{u2, u4} D _inst_2 (CategoryTheory.Functor.obj.{u2, u2, u4, u4} D _inst_2 D _inst_2 (CategoryTheory.Functor.id.{u2, u4} D _inst_2) (CategoryTheory.Comma.left.{u2, u2, u2, u4, u2, u4} D _inst_2 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) D _inst_2 (CategoryTheory.Functor.id.{u2, u4} D _inst_2) (CategoryTheory.Functor.fromPUnit.{u2, u4} D _inst_2 Y) f)) (CategoryTheory.Functor.obj.{u2, u2, u2, u4} (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) D _inst_2 (CategoryTheory.Functor.fromPUnit.{u2, u4} D _inst_2 Y) (CategoryTheory.Comma.right.{u2, u2, u2, u4, u2, u4} D _inst_2 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) D _inst_2 (CategoryTheory.Functor.id.{u2, u4} D _inst_2) (CategoryTheory.Functor.fromPUnit.{u2, u4} D _inst_2 Y) f)) (CategoryTheory.Comma.hom.{u2, u2, u2, u4, u2, u4} D _inst_2 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) D _inst_2 (CategoryTheory.Functor.id.{u2, u4} D _inst_2) (CategoryTheory.Functor.fromPUnit.{u2, u4} D _inst_2 Y) f))) (CategoryTheory.Over.{u2, u4} D _inst_2 Y) (CategoryTheory.Over.category.{u4, u2} D _inst_2 Y) (CategoryTheory.FullSubcategoryₓ.obj.{u2, max u4 u2} (CategoryTheory.Over.{u2, u4} D _inst_2 Y) (CategoryTheory.Over.category.{u4, u2} D _inst_2 Y) (fun (f : CategoryTheory.Over.{u2, u4} D _inst_2 Y) => CategoryTheory.Mono.{u2, u4} D _inst_2 (CategoryTheory.Functor.obj.{u2, u2, u4, u4} D _inst_2 D _inst_2 (CategoryTheory.Functor.id.{u2, u4} D _inst_2) (CategoryTheory.Comma.left.{u2, u2, u2, u4, u2, u4} D _inst_2 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) D _inst_2 (CategoryTheory.Functor.id.{u2, u4} D _inst_2) (CategoryTheory.Functor.fromPUnit.{u2, u4} D _inst_2 Y) f)) (CategoryTheory.Functor.obj.{u2, u2, u2, u4} (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) D _inst_2 (CategoryTheory.Functor.fromPUnit.{u2, u4} D _inst_2 Y) (CategoryTheory.Comma.right.{u2, u2, u2, u4, u2, u4} D _inst_2 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) D _inst_2 (CategoryTheory.Functor.id.{u2, u4} D _inst_2) (CategoryTheory.Functor.fromPUnit.{u2, u4} D _inst_2 Y) f)) (CategoryTheory.Comma.hom.{u2, u2, u2, u4, u2, u4} D _inst_2 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) D _inst_2 (CategoryTheory.Functor.id.{u2, u4} D _inst_2) (CategoryTheory.Functor.fromPUnit.{u2, u4} D _inst_2 Y) f)))) (CategoryTheory.Over.{u2, u4} D _inst_2 Y) (CategoryTheory.Over.category.{u4, u2} D _inst_2 Y) (CategoryTheory.MonoOver.forget.{u2, u4} D _inst_2 Y) f)))) (CategoryTheory.Comma.hom.{u1, u1, u1, u3, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u3} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u3} C _inst_1 X) (CategoryTheory.Functor.obj.{u2, u1, max u4 u2, max u3 u1} (CategoryTheory.Over.{u2, u4} D _inst_2 Y) (CategoryTheory.Over.category.{u4, u2} D _inst_2 Y) (CategoryTheory.Over.{u1, u3} C _inst_1 X) (CategoryTheory.Over.category.{u3, u1} C _inst_1 X) F₁ (CategoryTheory.Functor.obj.{u2, u2, max u4 u2, max u4 u2} (CategoryTheory.MonoOver.{u2, u4} D _inst_2 Y) (CategoryTheory.InducedCategory.category.{u2, max u4 u2, max u4 u2} (CategoryTheory.FullSubcategoryₓ.{u2, max u4 u2} (CategoryTheory.Over.{u2, u4} D _inst_2 Y) (CategoryTheory.Over.category.{u4, u2} D _inst_2 Y) (fun (f : CategoryTheory.Over.{u2, u4} D _inst_2 Y) => CategoryTheory.Mono.{u2, u4} D _inst_2 (CategoryTheory.Functor.obj.{u2, u2, u4, u4} D _inst_2 D _inst_2 (CategoryTheory.Functor.id.{u2, u4} D _inst_2) (CategoryTheory.Comma.left.{u2, u2, u2, u4, u2, u4} D _inst_2 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) D _inst_2 (CategoryTheory.Functor.id.{u2, u4} D _inst_2) (CategoryTheory.Functor.fromPUnit.{u2, u4} D _inst_2 Y) f)) (CategoryTheory.Functor.obj.{u2, u2, u2, u4} (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) D _inst_2 (CategoryTheory.Functor.fromPUnit.{u2, u4} D _inst_2 Y) (CategoryTheory.Comma.right.{u2, u2, u2, u4, u2, u4} D _inst_2 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) D _inst_2 (CategoryTheory.Functor.id.{u2, u4} D _inst_2) (CategoryTheory.Functor.fromPUnit.{u2, u4} D _inst_2 Y) f)) (CategoryTheory.Comma.hom.{u2, u2, u2, u4, u2, u4} D _inst_2 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) D _inst_2 (CategoryTheory.Functor.id.{u2, u4} D _inst_2) (CategoryTheory.Functor.fromPUnit.{u2, u4} D _inst_2 Y) f))) (CategoryTheory.Over.{u2, u4} D _inst_2 Y) (CategoryTheory.Over.category.{u4, u2} D _inst_2 Y) (CategoryTheory.FullSubcategoryₓ.obj.{u2, max u4 u2} (CategoryTheory.Over.{u2, u4} D _inst_2 Y) (CategoryTheory.Over.category.{u4, u2} D _inst_2 Y) (fun (f : CategoryTheory.Over.{u2, u4} D _inst_2 Y) => CategoryTheory.Mono.{u2, u4} D _inst_2 (CategoryTheory.Functor.obj.{u2, u2, u4, u4} D _inst_2 D _inst_2 (CategoryTheory.Functor.id.{u2, u4} D _inst_2) (CategoryTheory.Comma.left.{u2, u2, u2, u4, u2, u4} D _inst_2 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) D _inst_2 (CategoryTheory.Functor.id.{u2, u4} D _inst_2) (CategoryTheory.Functor.fromPUnit.{u2, u4} D _inst_2 Y) f)) (CategoryTheory.Functor.obj.{u2, u2, u2, u4} (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) D _inst_2 (CategoryTheory.Functor.fromPUnit.{u2, u4} D _inst_2 Y) (CategoryTheory.Comma.right.{u2, u2, u2, u4, u2, u4} D _inst_2 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) D _inst_2 (CategoryTheory.Functor.id.{u2, u4} D _inst_2) (CategoryTheory.Functor.fromPUnit.{u2, u4} D _inst_2 Y) f)) (CategoryTheory.Comma.hom.{u2, u2, u2, u4, u2, u4} D _inst_2 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) D _inst_2 (CategoryTheory.Functor.id.{u2, u4} D _inst_2) (CategoryTheory.Functor.fromPUnit.{u2, u4} D _inst_2 Y) f)))) (CategoryTheory.Over.{u2, u4} D _inst_2 Y) (CategoryTheory.Over.category.{u4, u2} D _inst_2 Y) (CategoryTheory.MonoOver.forget.{u2, u4} D _inst_2 Y) f)))) (h₂ : forall (f : CategoryTheory.MonoOver.{u2, u4} D _inst_2 Y), CategoryTheory.Mono.{u1, u3} C _inst_1 (CategoryTheory.Functor.obj.{u1, u1, u3, u3} C _inst_1 C _inst_1 (CategoryTheory.Functor.id.{u1, u3} C _inst_1) (CategoryTheory.Comma.left.{u1, u1, u1, u3, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u3} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u3} C _inst_1 X) (CategoryTheory.Functor.obj.{u2, u1, max u4 u2, max u3 u1} (CategoryTheory.Over.{u2, u4} D _inst_2 Y) (CategoryTheory.Over.category.{u4, u2} D _inst_2 Y) (CategoryTheory.Over.{u1, u3} C _inst_1 X) (CategoryTheory.Over.category.{u3, u1} C _inst_1 X) F₂ (CategoryTheory.Functor.obj.{u2, u2, max u4 u2, max u4 u2} (CategoryTheory.MonoOver.{u2, u4} D _inst_2 Y) (CategoryTheory.InducedCategory.category.{u2, max u4 u2, max u4 u2} (CategoryTheory.FullSubcategoryₓ.{u2, max u4 u2} (CategoryTheory.Over.{u2, u4} D _inst_2 Y) (CategoryTheory.Over.category.{u4, u2} D _inst_2 Y) (fun (f : CategoryTheory.Over.{u2, u4} D _inst_2 Y) => CategoryTheory.Mono.{u2, u4} D _inst_2 (CategoryTheory.Functor.obj.{u2, u2, u4, u4} D _inst_2 D _inst_2 (CategoryTheory.Functor.id.{u2, u4} D _inst_2) (CategoryTheory.Comma.left.{u2, u2, u2, u4, u2, u4} D _inst_2 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) D _inst_2 (CategoryTheory.Functor.id.{u2, u4} D _inst_2) (CategoryTheory.Functor.fromPUnit.{u2, u4} D _inst_2 Y) f)) (CategoryTheory.Functor.obj.{u2, u2, u2, u4} (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) D _inst_2 (CategoryTheory.Functor.fromPUnit.{u2, u4} D _inst_2 Y) (CategoryTheory.Comma.right.{u2, u2, u2, u4, u2, u4} D _inst_2 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) D _inst_2 (CategoryTheory.Functor.id.{u2, u4} D _inst_2) (CategoryTheory.Functor.fromPUnit.{u2, u4} D _inst_2 Y) f)) (CategoryTheory.Comma.hom.{u2, u2, u2, u4, u2, u4} D _inst_2 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) D _inst_2 (CategoryTheory.Functor.id.{u2, u4} D _inst_2) (CategoryTheory.Functor.fromPUnit.{u2, u4} D _inst_2 Y) f))) (CategoryTheory.Over.{u2, u4} D _inst_2 Y) (CategoryTheory.Over.category.{u4, u2} D _inst_2 Y) (CategoryTheory.FullSubcategoryₓ.obj.{u2, max u4 u2} (CategoryTheory.Over.{u2, u4} D _inst_2 Y) (CategoryTheory.Over.category.{u4, u2} D _inst_2 Y) (fun (f : CategoryTheory.Over.{u2, u4} D _inst_2 Y) => CategoryTheory.Mono.{u2, u4} D _inst_2 (CategoryTheory.Functor.obj.{u2, u2, u4, u4} D _inst_2 D _inst_2 (CategoryTheory.Functor.id.{u2, u4} D _inst_2) (CategoryTheory.Comma.left.{u2, u2, u2, u4, u2, u4} D _inst_2 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) D _inst_2 (CategoryTheory.Functor.id.{u2, u4} D _inst_2) (CategoryTheory.Functor.fromPUnit.{u2, u4} D _inst_2 Y) f)) (CategoryTheory.Functor.obj.{u2, u2, u2, u4} (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) D _inst_2 (CategoryTheory.Functor.fromPUnit.{u2, u4} D _inst_2 Y) (CategoryTheory.Comma.right.{u2, u2, u2, u4, u2, u4} D _inst_2 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) D _inst_2 (CategoryTheory.Functor.id.{u2, u4} D _inst_2) (CategoryTheory.Functor.fromPUnit.{u2, u4} D _inst_2 Y) f)) (CategoryTheory.Comma.hom.{u2, u2, u2, u4, u2, u4} D _inst_2 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) D _inst_2 (CategoryTheory.Functor.id.{u2, u4} D _inst_2) (CategoryTheory.Functor.fromPUnit.{u2, u4} D _inst_2 Y) f)))) (CategoryTheory.Over.{u2, u4} D _inst_2 Y) (CategoryTheory.Over.category.{u4, u2} D _inst_2 Y) (CategoryTheory.MonoOver.forget.{u2, u4} D _inst_2 Y) f)))) (CategoryTheory.Functor.obj.{u1, u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.fromPUnit.{u1, u3} C _inst_1 X) (CategoryTheory.Comma.right.{u1, u1, u1, u3, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u3} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u3} C _inst_1 X) (CategoryTheory.Functor.obj.{u2, u1, max u4 u2, max u3 u1} (CategoryTheory.Over.{u2, u4} D _inst_2 Y) (CategoryTheory.Over.category.{u4, u2} D _inst_2 Y) (CategoryTheory.Over.{u1, u3} C _inst_1 X) (CategoryTheory.Over.category.{u3, u1} C _inst_1 X) F₂ (CategoryTheory.Functor.obj.{u2, u2, max u4 u2, max u4 u2} (CategoryTheory.MonoOver.{u2, u4} D _inst_2 Y) (CategoryTheory.InducedCategory.category.{u2, max u4 u2, max u4 u2} (CategoryTheory.FullSubcategoryₓ.{u2, max u4 u2} (CategoryTheory.Over.{u2, u4} D _inst_2 Y) (CategoryTheory.Over.category.{u4, u2} D _inst_2 Y) (fun (f : CategoryTheory.Over.{u2, u4} D _inst_2 Y) => CategoryTheory.Mono.{u2, u4} D _inst_2 (CategoryTheory.Functor.obj.{u2, u2, u4, u4} D _inst_2 D _inst_2 (CategoryTheory.Functor.id.{u2, u4} D _inst_2) (CategoryTheory.Comma.left.{u2, u2, u2, u4, u2, u4} D _inst_2 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) D _inst_2 (CategoryTheory.Functor.id.{u2, u4} D _inst_2) (CategoryTheory.Functor.fromPUnit.{u2, u4} D _inst_2 Y) f)) (CategoryTheory.Functor.obj.{u2, u2, u2, u4} (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) D _inst_2 (CategoryTheory.Functor.fromPUnit.{u2, u4} D _inst_2 Y) (CategoryTheory.Comma.right.{u2, u2, u2, u4, u2, u4} D _inst_2 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) D _inst_2 (CategoryTheory.Functor.id.{u2, u4} D _inst_2) (CategoryTheory.Functor.fromPUnit.{u2, u4} D _inst_2 Y) f)) (CategoryTheory.Comma.hom.{u2, u2, u2, u4, u2, u4} D _inst_2 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) D _inst_2 (CategoryTheory.Functor.id.{u2, u4} D _inst_2) (CategoryTheory.Functor.fromPUnit.{u2, u4} D _inst_2 Y) f))) (CategoryTheory.Over.{u2, u4} D _inst_2 Y) (CategoryTheory.Over.category.{u4, u2} D _inst_2 Y) (CategoryTheory.FullSubcategoryₓ.obj.{u2, max u4 u2} (CategoryTheory.Over.{u2, u4} D _inst_2 Y) (CategoryTheory.Over.category.{u4, u2} D _inst_2 Y) (fun (f : CategoryTheory.Over.{u2, u4} D _inst_2 Y) => CategoryTheory.Mono.{u2, u4} D _inst_2 (CategoryTheory.Functor.obj.{u2, u2, u4, u4} D _inst_2 D _inst_2 (CategoryTheory.Functor.id.{u2, u4} D _inst_2) (CategoryTheory.Comma.left.{u2, u2, u2, u4, u2, u4} D _inst_2 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) D _inst_2 (CategoryTheory.Functor.id.{u2, u4} D _inst_2) (CategoryTheory.Functor.fromPUnit.{u2, u4} D _inst_2 Y) f)) (CategoryTheory.Functor.obj.{u2, u2, u2, u4} (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) D _inst_2 (CategoryTheory.Functor.fromPUnit.{u2, u4} D _inst_2 Y) (CategoryTheory.Comma.right.{u2, u2, u2, u4, u2, u4} D _inst_2 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) D _inst_2 (CategoryTheory.Functor.id.{u2, u4} D _inst_2) (CategoryTheory.Functor.fromPUnit.{u2, u4} D _inst_2 Y) f)) (CategoryTheory.Comma.hom.{u2, u2, u2, u4, u2, u4} D _inst_2 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) D _inst_2 (CategoryTheory.Functor.id.{u2, u4} D _inst_2) (CategoryTheory.Functor.fromPUnit.{u2, u4} D _inst_2 Y) f)))) (CategoryTheory.Over.{u2, u4} D _inst_2 Y) (CategoryTheory.Over.category.{u4, u2} D _inst_2 Y) (CategoryTheory.MonoOver.forget.{u2, u4} D _inst_2 Y) f)))) (CategoryTheory.Comma.hom.{u1, u1, u1, u3, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u3} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u3} C _inst_1 X) (CategoryTheory.Functor.obj.{u2, u1, max u4 u2, max u3 u1} (CategoryTheory.Over.{u2, u4} D _inst_2 Y) (CategoryTheory.Over.category.{u4, u2} D _inst_2 Y) (CategoryTheory.Over.{u1, u3} C _inst_1 X) (CategoryTheory.Over.category.{u3, u1} C _inst_1 X) F₂ (CategoryTheory.Functor.obj.{u2, u2, max u4 u2, max u4 u2} (CategoryTheory.MonoOver.{u2, u4} D _inst_2 Y) (CategoryTheory.InducedCategory.category.{u2, max u4 u2, max u4 u2} (CategoryTheory.FullSubcategoryₓ.{u2, max u4 u2} (CategoryTheory.Over.{u2, u4} D _inst_2 Y) (CategoryTheory.Over.category.{u4, u2} D _inst_2 Y) (fun (f : CategoryTheory.Over.{u2, u4} D _inst_2 Y) => CategoryTheory.Mono.{u2, u4} D _inst_2 (CategoryTheory.Functor.obj.{u2, u2, u4, u4} D _inst_2 D _inst_2 (CategoryTheory.Functor.id.{u2, u4} D _inst_2) (CategoryTheory.Comma.left.{u2, u2, u2, u4, u2, u4} D _inst_2 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) D _inst_2 (CategoryTheory.Functor.id.{u2, u4} D _inst_2) (CategoryTheory.Functor.fromPUnit.{u2, u4} D _inst_2 Y) f)) (CategoryTheory.Functor.obj.{u2, u2, u2, u4} (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) D _inst_2 (CategoryTheory.Functor.fromPUnit.{u2, u4} D _inst_2 Y) (CategoryTheory.Comma.right.{u2, u2, u2, u4, u2, u4} D _inst_2 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) D _inst_2 (CategoryTheory.Functor.id.{u2, u4} D _inst_2) (CategoryTheory.Functor.fromPUnit.{u2, u4} D _inst_2 Y) f)) (CategoryTheory.Comma.hom.{u2, u2, u2, u4, u2, u4} D _inst_2 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) D _inst_2 (CategoryTheory.Functor.id.{u2, u4} D _inst_2) (CategoryTheory.Functor.fromPUnit.{u2, u4} D _inst_2 Y) f))) (CategoryTheory.Over.{u2, u4} D _inst_2 Y) (CategoryTheory.Over.category.{u4, u2} D _inst_2 Y) (CategoryTheory.FullSubcategoryₓ.obj.{u2, max u4 u2} (CategoryTheory.Over.{u2, u4} D _inst_2 Y) (CategoryTheory.Over.category.{u4, u2} D _inst_2 Y) (fun (f : CategoryTheory.Over.{u2, u4} D _inst_2 Y) => CategoryTheory.Mono.{u2, u4} D _inst_2 (CategoryTheory.Functor.obj.{u2, u2, u4, u4} D _inst_2 D _inst_2 (CategoryTheory.Functor.id.{u2, u4} D _inst_2) (CategoryTheory.Comma.left.{u2, u2, u2, u4, u2, u4} D _inst_2 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) D _inst_2 (CategoryTheory.Functor.id.{u2, u4} D _inst_2) (CategoryTheory.Functor.fromPUnit.{u2, u4} D _inst_2 Y) f)) (CategoryTheory.Functor.obj.{u2, u2, u2, u4} (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) D _inst_2 (CategoryTheory.Functor.fromPUnit.{u2, u4} D _inst_2 Y) (CategoryTheory.Comma.right.{u2, u2, u2, u4, u2, u4} D _inst_2 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) D _inst_2 (CategoryTheory.Functor.id.{u2, u4} D _inst_2) (CategoryTheory.Functor.fromPUnit.{u2, u4} D _inst_2 Y) f)) (CategoryTheory.Comma.hom.{u2, u2, u2, u4, u2, u4} D _inst_2 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) D _inst_2 (CategoryTheory.Functor.id.{u2, u4} D _inst_2) (CategoryTheory.Functor.fromPUnit.{u2, u4} D _inst_2 Y) f)))) (CategoryTheory.Over.{u2, u4} D _inst_2 Y) (CategoryTheory.Over.category.{u4, u2} D _inst_2 Y) (CategoryTheory.MonoOver.forget.{u2, u4} D _inst_2 Y) f)))), (CategoryTheory.Iso.{max (max u4 u2) u1, max u2 u1 (max u4 u2) u3 u1} (CategoryTheory.Functor.{u2, u1, max u4 u2, max u3 u1} (CategoryTheory.Over.{u2, u4} D _inst_2 Y) (CategoryTheory.Over.category.{u4, u2} D _inst_2 Y) (CategoryTheory.Over.{u1, u3} C _inst_1 X) (CategoryTheory.Over.category.{u3, u1} C _inst_1 X)) (CategoryTheory.Functor.category.{u2, u1, max u4 u2, max u3 u1} (CategoryTheory.Over.{u2, u4} D _inst_2 Y) (CategoryTheory.Over.category.{u4, u2} D _inst_2 Y) (CategoryTheory.Over.{u1, u3} C _inst_1 X) (CategoryTheory.Over.category.{u3, u1} C _inst_1 X)) F₁ F₂) -> (CategoryTheory.Iso.{max (max u4 u2) u1, max u2 u1 (max u4 u2) u3 u1} (CategoryTheory.Functor.{u2, u1, max u4 u2, max u3 u1} (CategoryTheory.MonoOver.{u2, u4} D _inst_2 Y) (CategoryTheory.MonoOver.category.{u4, u2} D _inst_2 Y) (CategoryTheory.MonoOver.{u1, u3} C _inst_1 X) (CategoryTheory.MonoOver.category.{u3, u1} C _inst_1 X)) (CategoryTheory.Functor.category.{u2, u1, max u4 u2, max u3 u1} (CategoryTheory.MonoOver.{u2, u4} D _inst_2 Y) (CategoryTheory.MonoOver.category.{u4, u2} D _inst_2 Y) (CategoryTheory.MonoOver.{u1, u3} C _inst_1 X) (CategoryTheory.MonoOver.category.{u3, u1} C _inst_1 X)) (CategoryTheory.MonoOver.lift.{u1, u2, u3, u4} C _inst_1 X D _inst_2 Y F₁ h₁) (CategoryTheory.MonoOver.lift.{u1, u2, u3, u4} C _inst_1 X D _inst_2 Y F₂ h₂))
+but is expected to have type
+  forall {C : Type.{u3}} [_inst_1 : CategoryTheory.Category.{u1, u3} C] {X : C} {D : Type.{u4}} [_inst_2 : CategoryTheory.Category.{u2, u4} D] {Y : D} {F₁ : CategoryTheory.Functor.{u2, u1, max u4 u2, max u3 u1} (CategoryTheory.Over.{u2, u4} D _inst_2 Y) (CategoryTheory.instCategoryOver.{u2, u4} D _inst_2 Y) (CategoryTheory.Over.{u1, u3} C _inst_1 X) (CategoryTheory.instCategoryOver.{u1, u3} C _inst_1 X)} {F₂ : CategoryTheory.Functor.{u2, u1, max u4 u2, max u3 u1} (CategoryTheory.Over.{u2, u4} D _inst_2 Y) (CategoryTheory.instCategoryOver.{u2, u4} D _inst_2 Y) (CategoryTheory.Over.{u1, u3} C _inst_1 X) (CategoryTheory.instCategoryOver.{u1, u3} C _inst_1 X)} (h₁ : forall (f : CategoryTheory.MonoOver.{u2, u4} D _inst_2 Y), CategoryTheory.Mono.{u1, u3} C _inst_1 (Prefunctor.obj.{succ u1, succ u1, u3, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} C (CategoryTheory.Category.toCategoryStruct.{u1, u3} C _inst_1)) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} C (CategoryTheory.Category.toCategoryStruct.{u1, u3} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u3, u3} C _inst_1 C _inst_1 (CategoryTheory.Functor.id.{u1, u3} C _inst_1)) (CategoryTheory.Comma.left.{u1, u1, u1, u3, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u3} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u3} C _inst_1 X) (Prefunctor.obj.{succ u2, succ u1, max u4 u2, max u3 u1} (CategoryTheory.Over.{u2, u4} D _inst_2 Y) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u4 u2} (CategoryTheory.Over.{u2, u4} D _inst_2 Y) (CategoryTheory.Category.toCategoryStruct.{u2, max u4 u2} (CategoryTheory.Over.{u2, u4} D _inst_2 Y) (CategoryTheory.instCategoryOver.{u2, u4} D _inst_2 Y))) (CategoryTheory.Over.{u1, u3} C _inst_1 X) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u3 u1} (CategoryTheory.Over.{u1, u3} C _inst_1 X) (CategoryTheory.Category.toCategoryStruct.{u1, max u3 u1} (CategoryTheory.Over.{u1, u3} C _inst_1 X) (CategoryTheory.instCategoryOver.{u1, u3} C _inst_1 X))) (CategoryTheory.Functor.toPrefunctor.{u2, u1, max u4 u2, max u3 u1} (CategoryTheory.Over.{u2, u4} D _inst_2 Y) (CategoryTheory.instCategoryOver.{u2, u4} D _inst_2 Y) (CategoryTheory.Over.{u1, u3} C _inst_1 X) (CategoryTheory.instCategoryOver.{u1, u3} C _inst_1 X) F₁) (Prefunctor.obj.{succ u2, succ u2, max u4 u2, max u4 u2} (CategoryTheory.MonoOver.{u2, u4} D _inst_2 Y) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u4 u2} (CategoryTheory.MonoOver.{u2, u4} D _inst_2 Y) (CategoryTheory.Category.toCategoryStruct.{u2, max u4 u2} (CategoryTheory.MonoOver.{u2, u4} D _inst_2 Y) (CategoryTheory.instCategoryMonoOver.{u2, u4} D _inst_2 Y))) (CategoryTheory.Over.{u2, u4} D _inst_2 Y) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u4 u2} (CategoryTheory.Over.{u2, u4} D _inst_2 Y) (CategoryTheory.Category.toCategoryStruct.{u2, max u4 u2} (CategoryTheory.Over.{u2, u4} D _inst_2 Y) (CategoryTheory.instCategoryOver.{u2, u4} D _inst_2 Y))) (CategoryTheory.Functor.toPrefunctor.{u2, u2, max u4 u2, max u4 u2} (CategoryTheory.MonoOver.{u2, u4} D _inst_2 Y) (CategoryTheory.instCategoryMonoOver.{u2, u4} D _inst_2 Y) (CategoryTheory.Over.{u2, u4} D _inst_2 Y) (CategoryTheory.instCategoryOver.{u2, u4} D _inst_2 Y) (CategoryTheory.MonoOver.forget.{u2, u4} D _inst_2 Y)) f)))) (Prefunctor.obj.{succ u1, succ u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.Category.toCategoryStruct.{u1, u1} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}))) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} C (CategoryTheory.Category.toCategoryStruct.{u1, u3} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.fromPUnit.{u1, u3} C _inst_1 X)) (CategoryTheory.Comma.right.{u1, u1, u1, u3, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u3} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u3} C _inst_1 X) (Prefunctor.obj.{succ u2, succ u1, max u4 u2, max u3 u1} (CategoryTheory.Over.{u2, u4} D _inst_2 Y) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u4 u2} (CategoryTheory.Over.{u2, u4} D _inst_2 Y) (CategoryTheory.Category.toCategoryStruct.{u2, max u4 u2} (CategoryTheory.Over.{u2, u4} D _inst_2 Y) (CategoryTheory.instCategoryOver.{u2, u4} D _inst_2 Y))) (CategoryTheory.Over.{u1, u3} C _inst_1 X) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u3 u1} (CategoryTheory.Over.{u1, u3} C _inst_1 X) (CategoryTheory.Category.toCategoryStruct.{u1, max u3 u1} (CategoryTheory.Over.{u1, u3} C _inst_1 X) (CategoryTheory.instCategoryOver.{u1, u3} C _inst_1 X))) (CategoryTheory.Functor.toPrefunctor.{u2, u1, max u4 u2, max u3 u1} (CategoryTheory.Over.{u2, u4} D _inst_2 Y) (CategoryTheory.instCategoryOver.{u2, u4} D _inst_2 Y) (CategoryTheory.Over.{u1, u3} C _inst_1 X) (CategoryTheory.instCategoryOver.{u1, u3} C _inst_1 X) F₁) (Prefunctor.obj.{succ u2, succ u2, max u4 u2, max u4 u2} (CategoryTheory.MonoOver.{u2, u4} D _inst_2 Y) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u4 u2} (CategoryTheory.MonoOver.{u2, u4} D _inst_2 Y) (CategoryTheory.Category.toCategoryStruct.{u2, max u4 u2} (CategoryTheory.MonoOver.{u2, u4} D _inst_2 Y) (CategoryTheory.instCategoryMonoOver.{u2, u4} D _inst_2 Y))) (CategoryTheory.Over.{u2, u4} D _inst_2 Y) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u4 u2} (CategoryTheory.Over.{u2, u4} D _inst_2 Y) (CategoryTheory.Category.toCategoryStruct.{u2, max u4 u2} (CategoryTheory.Over.{u2, u4} D _inst_2 Y) (CategoryTheory.instCategoryOver.{u2, u4} D _inst_2 Y))) (CategoryTheory.Functor.toPrefunctor.{u2, u2, max u4 u2, max u4 u2} (CategoryTheory.MonoOver.{u2, u4} D _inst_2 Y) (CategoryTheory.instCategoryMonoOver.{u2, u4} D _inst_2 Y) (CategoryTheory.Over.{u2, u4} D _inst_2 Y) (CategoryTheory.instCategoryOver.{u2, u4} D _inst_2 Y) (CategoryTheory.MonoOver.forget.{u2, u4} D _inst_2 Y)) f)))) (CategoryTheory.Comma.hom.{u1, u1, u1, u3, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u3} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u3} C _inst_1 X) (Prefunctor.obj.{succ u2, succ u1, max u4 u2, max u3 u1} (CategoryTheory.Over.{u2, u4} D _inst_2 Y) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u4 u2} (CategoryTheory.Over.{u2, u4} D _inst_2 Y) (CategoryTheory.Category.toCategoryStruct.{u2, max u4 u2} (CategoryTheory.Over.{u2, u4} D _inst_2 Y) (CategoryTheory.instCategoryOver.{u2, u4} D _inst_2 Y))) (CategoryTheory.Over.{u1, u3} C _inst_1 X) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u3 u1} (CategoryTheory.Over.{u1, u3} C _inst_1 X) (CategoryTheory.Category.toCategoryStruct.{u1, max u3 u1} (CategoryTheory.Over.{u1, u3} C _inst_1 X) (CategoryTheory.instCategoryOver.{u1, u3} C _inst_1 X))) (CategoryTheory.Functor.toPrefunctor.{u2, u1, max u4 u2, max u3 u1} (CategoryTheory.Over.{u2, u4} D _inst_2 Y) (CategoryTheory.instCategoryOver.{u2, u4} D _inst_2 Y) (CategoryTheory.Over.{u1, u3} C _inst_1 X) (CategoryTheory.instCategoryOver.{u1, u3} C _inst_1 X) F₁) (Prefunctor.obj.{succ u2, succ u2, max u4 u2, max u4 u2} (CategoryTheory.MonoOver.{u2, u4} D _inst_2 Y) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u4 u2} (CategoryTheory.MonoOver.{u2, u4} D _inst_2 Y) (CategoryTheory.Category.toCategoryStruct.{u2, max u4 u2} (CategoryTheory.MonoOver.{u2, u4} D _inst_2 Y) (CategoryTheory.instCategoryMonoOver.{u2, u4} D _inst_2 Y))) (CategoryTheory.Over.{u2, u4} D _inst_2 Y) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u4 u2} (CategoryTheory.Over.{u2, u4} D _inst_2 Y) (CategoryTheory.Category.toCategoryStruct.{u2, max u4 u2} (CategoryTheory.Over.{u2, u4} D _inst_2 Y) (CategoryTheory.instCategoryOver.{u2, u4} D _inst_2 Y))) (CategoryTheory.Functor.toPrefunctor.{u2, u2, max u4 u2, max u4 u2} (CategoryTheory.MonoOver.{u2, u4} D _inst_2 Y) (CategoryTheory.instCategoryMonoOver.{u2, u4} D _inst_2 Y) (CategoryTheory.Over.{u2, u4} D _inst_2 Y) (CategoryTheory.instCategoryOver.{u2, u4} D _inst_2 Y) (CategoryTheory.MonoOver.forget.{u2, u4} D _inst_2 Y)) f)))) (h₂ : forall (f : CategoryTheory.MonoOver.{u2, u4} D _inst_2 Y), CategoryTheory.Mono.{u1, u3} C _inst_1 (Prefunctor.obj.{succ u1, succ u1, u3, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} C (CategoryTheory.Category.toCategoryStruct.{u1, u3} C _inst_1)) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} C (CategoryTheory.Category.toCategoryStruct.{u1, u3} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u3, u3} C _inst_1 C _inst_1 (CategoryTheory.Functor.id.{u1, u3} C _inst_1)) (CategoryTheory.Comma.left.{u1, u1, u1, u3, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u3} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u3} C _inst_1 X) (Prefunctor.obj.{succ u2, succ u1, max u4 u2, max u3 u1} (CategoryTheory.Over.{u2, u4} D _inst_2 Y) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u4 u2} (CategoryTheory.Over.{u2, u4} D _inst_2 Y) (CategoryTheory.Category.toCategoryStruct.{u2, max u4 u2} (CategoryTheory.Over.{u2, u4} D _inst_2 Y) (CategoryTheory.instCategoryOver.{u2, u4} D _inst_2 Y))) (CategoryTheory.Over.{u1, u3} C _inst_1 X) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u3 u1} (CategoryTheory.Over.{u1, u3} C _inst_1 X) (CategoryTheory.Category.toCategoryStruct.{u1, max u3 u1} (CategoryTheory.Over.{u1, u3} C _inst_1 X) (CategoryTheory.instCategoryOver.{u1, u3} C _inst_1 X))) (CategoryTheory.Functor.toPrefunctor.{u2, u1, max u4 u2, max u3 u1} (CategoryTheory.Over.{u2, u4} D _inst_2 Y) (CategoryTheory.instCategoryOver.{u2, u4} D _inst_2 Y) (CategoryTheory.Over.{u1, u3} C _inst_1 X) (CategoryTheory.instCategoryOver.{u1, u3} C _inst_1 X) F₂) (Prefunctor.obj.{succ u2, succ u2, max u4 u2, max u4 u2} (CategoryTheory.MonoOver.{u2, u4} D _inst_2 Y) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u4 u2} (CategoryTheory.MonoOver.{u2, u4} D _inst_2 Y) (CategoryTheory.Category.toCategoryStruct.{u2, max u4 u2} (CategoryTheory.MonoOver.{u2, u4} D _inst_2 Y) (CategoryTheory.instCategoryMonoOver.{u2, u4} D _inst_2 Y))) (CategoryTheory.Over.{u2, u4} D _inst_2 Y) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u4 u2} (CategoryTheory.Over.{u2, u4} D _inst_2 Y) (CategoryTheory.Category.toCategoryStruct.{u2, max u4 u2} (CategoryTheory.Over.{u2, u4} D _inst_2 Y) (CategoryTheory.instCategoryOver.{u2, u4} D _inst_2 Y))) (CategoryTheory.Functor.toPrefunctor.{u2, u2, max u4 u2, max u4 u2} (CategoryTheory.MonoOver.{u2, u4} D _inst_2 Y) (CategoryTheory.instCategoryMonoOver.{u2, u4} D _inst_2 Y) (CategoryTheory.Over.{u2, u4} D _inst_2 Y) (CategoryTheory.instCategoryOver.{u2, u4} D _inst_2 Y) (CategoryTheory.MonoOver.forget.{u2, u4} D _inst_2 Y)) f)))) (Prefunctor.obj.{succ u1, succ u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.Category.toCategoryStruct.{u1, u1} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}))) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} C (CategoryTheory.Category.toCategoryStruct.{u1, u3} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.fromPUnit.{u1, u3} C _inst_1 X)) (CategoryTheory.Comma.right.{u1, u1, u1, u3, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u3} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u3} C _inst_1 X) (Prefunctor.obj.{succ u2, succ u1, max u4 u2, max u3 u1} (CategoryTheory.Over.{u2, u4} D _inst_2 Y) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u4 u2} (CategoryTheory.Over.{u2, u4} D _inst_2 Y) (CategoryTheory.Category.toCategoryStruct.{u2, max u4 u2} (CategoryTheory.Over.{u2, u4} D _inst_2 Y) (CategoryTheory.instCategoryOver.{u2, u4} D _inst_2 Y))) (CategoryTheory.Over.{u1, u3} C _inst_1 X) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u3 u1} (CategoryTheory.Over.{u1, u3} C _inst_1 X) (CategoryTheory.Category.toCategoryStruct.{u1, max u3 u1} (CategoryTheory.Over.{u1, u3} C _inst_1 X) (CategoryTheory.instCategoryOver.{u1, u3} C _inst_1 X))) (CategoryTheory.Functor.toPrefunctor.{u2, u1, max u4 u2, max u3 u1} (CategoryTheory.Over.{u2, u4} D _inst_2 Y) (CategoryTheory.instCategoryOver.{u2, u4} D _inst_2 Y) (CategoryTheory.Over.{u1, u3} C _inst_1 X) (CategoryTheory.instCategoryOver.{u1, u3} C _inst_1 X) F₂) (Prefunctor.obj.{succ u2, succ u2, max u4 u2, max u4 u2} (CategoryTheory.MonoOver.{u2, u4} D _inst_2 Y) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u4 u2} (CategoryTheory.MonoOver.{u2, u4} D _inst_2 Y) (CategoryTheory.Category.toCategoryStruct.{u2, max u4 u2} (CategoryTheory.MonoOver.{u2, u4} D _inst_2 Y) (CategoryTheory.instCategoryMonoOver.{u2, u4} D _inst_2 Y))) (CategoryTheory.Over.{u2, u4} D _inst_2 Y) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u4 u2} (CategoryTheory.Over.{u2, u4} D _inst_2 Y) (CategoryTheory.Category.toCategoryStruct.{u2, max u4 u2} (CategoryTheory.Over.{u2, u4} D _inst_2 Y) (CategoryTheory.instCategoryOver.{u2, u4} D _inst_2 Y))) (CategoryTheory.Functor.toPrefunctor.{u2, u2, max u4 u2, max u4 u2} (CategoryTheory.MonoOver.{u2, u4} D _inst_2 Y) (CategoryTheory.instCategoryMonoOver.{u2, u4} D _inst_2 Y) (CategoryTheory.Over.{u2, u4} D _inst_2 Y) (CategoryTheory.instCategoryOver.{u2, u4} D _inst_2 Y) (CategoryTheory.MonoOver.forget.{u2, u4} D _inst_2 Y)) f)))) (CategoryTheory.Comma.hom.{u1, u1, u1, u3, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u3} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u3} C _inst_1 X) (Prefunctor.obj.{succ u2, succ u1, max u4 u2, max u3 u1} (CategoryTheory.Over.{u2, u4} D _inst_2 Y) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u4 u2} (CategoryTheory.Over.{u2, u4} D _inst_2 Y) (CategoryTheory.Category.toCategoryStruct.{u2, max u4 u2} (CategoryTheory.Over.{u2, u4} D _inst_2 Y) (CategoryTheory.instCategoryOver.{u2, u4} D _inst_2 Y))) (CategoryTheory.Over.{u1, u3} C _inst_1 X) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u3 u1} (CategoryTheory.Over.{u1, u3} C _inst_1 X) (CategoryTheory.Category.toCategoryStruct.{u1, max u3 u1} (CategoryTheory.Over.{u1, u3} C _inst_1 X) (CategoryTheory.instCategoryOver.{u1, u3} C _inst_1 X))) (CategoryTheory.Functor.toPrefunctor.{u2, u1, max u4 u2, max u3 u1} (CategoryTheory.Over.{u2, u4} D _inst_2 Y) (CategoryTheory.instCategoryOver.{u2, u4} D _inst_2 Y) (CategoryTheory.Over.{u1, u3} C _inst_1 X) (CategoryTheory.instCategoryOver.{u1, u3} C _inst_1 X) F₂) (Prefunctor.obj.{succ u2, succ u2, max u4 u2, max u4 u2} (CategoryTheory.MonoOver.{u2, u4} D _inst_2 Y) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u4 u2} (CategoryTheory.MonoOver.{u2, u4} D _inst_2 Y) (CategoryTheory.Category.toCategoryStruct.{u2, max u4 u2} (CategoryTheory.MonoOver.{u2, u4} D _inst_2 Y) (CategoryTheory.instCategoryMonoOver.{u2, u4} D _inst_2 Y))) (CategoryTheory.Over.{u2, u4} D _inst_2 Y) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u4 u2} (CategoryTheory.Over.{u2, u4} D _inst_2 Y) (CategoryTheory.Category.toCategoryStruct.{u2, max u4 u2} (CategoryTheory.Over.{u2, u4} D _inst_2 Y) (CategoryTheory.instCategoryOver.{u2, u4} D _inst_2 Y))) (CategoryTheory.Functor.toPrefunctor.{u2, u2, max u4 u2, max u4 u2} (CategoryTheory.MonoOver.{u2, u4} D _inst_2 Y) (CategoryTheory.instCategoryMonoOver.{u2, u4} D _inst_2 Y) (CategoryTheory.Over.{u2, u4} D _inst_2 Y) (CategoryTheory.instCategoryOver.{u2, u4} D _inst_2 Y) (CategoryTheory.MonoOver.forget.{u2, u4} D _inst_2 Y)) f)))), (CategoryTheory.Iso.{max (max u4 u1) u2, max (max (max u3 u4) u1) u2} (CategoryTheory.Functor.{u2, u1, max u4 u2, max u3 u1} (CategoryTheory.Over.{u2, u4} D _inst_2 Y) (CategoryTheory.instCategoryOver.{u2, u4} D _inst_2 Y) (CategoryTheory.Over.{u1, u3} C _inst_1 X) (CategoryTheory.instCategoryOver.{u1, u3} C _inst_1 X)) (CategoryTheory.Functor.category.{u2, u1, max u4 u2, max u3 u1} (CategoryTheory.Over.{u2, u4} D _inst_2 Y) (CategoryTheory.instCategoryOver.{u2, u4} D _inst_2 Y) (CategoryTheory.Over.{u1, u3} C _inst_1 X) (CategoryTheory.instCategoryOver.{u1, u3} C _inst_1 X)) F₁ F₂) -> (CategoryTheory.Iso.{max (max u4 u1) u2, max (max (max u4 u3) u2) u1} (CategoryTheory.Functor.{u2, u1, max u4 u2, max u3 u1} (CategoryTheory.MonoOver.{u2, u4} D _inst_2 Y) (CategoryTheory.instCategoryMonoOver.{u2, u4} D _inst_2 Y) (CategoryTheory.MonoOver.{u1, u3} C _inst_1 X) (CategoryTheory.instCategoryMonoOver.{u1, u3} C _inst_1 X)) (CategoryTheory.Functor.category.{u2, u1, max u4 u2, max u3 u1} (CategoryTheory.MonoOver.{u2, u4} D _inst_2 Y) (CategoryTheory.instCategoryMonoOver.{u2, u4} D _inst_2 Y) (CategoryTheory.MonoOver.{u1, u3} C _inst_1 X) (CategoryTheory.instCategoryMonoOver.{u1, u3} C _inst_1 X)) (CategoryTheory.MonoOver.lift.{u1, u2, u3, u4} C _inst_1 X D _inst_2 Y F₁ h₁) (CategoryTheory.MonoOver.lift.{u1, u2, u3, u4} C _inst_1 X D _inst_2 Y F₂ h₂))
+Case conversion may be inaccurate. Consider using '#align category_theory.mono_over.lift_iso CategoryTheory.MonoOver.liftIsoₓ'. -/
 /-- Isomorphic functors `over Y ⥤ over X` lift to isomorphic functors `mono_over Y ⥤ mono_over X`.
 -/
 def liftIso {Y : D} {F₁ F₂ : Over Y ⥤ Over X} (h₁ h₂) (i : F₁ ≅ F₂) : lift F₁ h₁ ≅ lift F₂ h₂ :=
   fullyFaithfulCancelRight (MonoOver.forget X) (isoWhiskerLeft (MonoOver.forget Y) i)
 #align category_theory.mono_over.lift_iso CategoryTheory.MonoOver.liftIso
 
+/- warning: category_theory.mono_over.lift_comp -> CategoryTheory.MonoOver.liftComp is a dubious translation:
+lean 3 declaration is
+  forall {C : Type.{u3}} [_inst_1 : CategoryTheory.Category.{u1, u3} C] {D : Type.{u4}} [_inst_2 : CategoryTheory.Category.{u2, u4} D] {X : C} {Z : C} {Y : D} (F : CategoryTheory.Functor.{u1, u2, max u3 u1, max u4 u2} (CategoryTheory.Over.{u1, u3} C _inst_1 X) (CategoryTheory.Over.category.{u3, u1} C _inst_1 X) (CategoryTheory.Over.{u2, u4} D _inst_2 Y) (CategoryTheory.Over.category.{u4, u2} D _inst_2 Y)) (G : CategoryTheory.Functor.{u2, u1, max u4 u2, max u3 u1} (CategoryTheory.Over.{u2, u4} D _inst_2 Y) (CategoryTheory.Over.category.{u4, u2} D _inst_2 Y) (CategoryTheory.Over.{u1, u3} C _inst_1 Z) (CategoryTheory.Over.category.{u3, u1} C _inst_1 Z)) (h₁ : forall (f : CategoryTheory.MonoOver.{u1, u3} C _inst_1 X), CategoryTheory.Mono.{u2, u4} D _inst_2 (CategoryTheory.Functor.obj.{u2, u2, u4, u4} D _inst_2 D _inst_2 (CategoryTheory.Functor.id.{u2, u4} D _inst_2) (CategoryTheory.Comma.left.{u2, u2, u2, u4, u2, u4} D _inst_2 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) D _inst_2 (CategoryTheory.Functor.id.{u2, u4} D _inst_2) (CategoryTheory.Functor.fromPUnit.{u2, u4} D _inst_2 Y) (CategoryTheory.Functor.obj.{u1, u2, max u3 u1, max u4 u2} (CategoryTheory.Over.{u1, u3} C _inst_1 X) (CategoryTheory.Over.category.{u3, u1} C _inst_1 X) (CategoryTheory.Over.{u2, u4} D _inst_2 Y) (CategoryTheory.Over.category.{u4, u2} D _inst_2 Y) F (CategoryTheory.Functor.obj.{u1, u1, max u3 u1, max u3 u1} (CategoryTheory.MonoOver.{u1, u3} C _inst_1 X) (CategoryTheory.InducedCategory.category.{u1, max u3 u1, max u3 u1} (CategoryTheory.FullSubcategoryₓ.{u1, max u3 u1} (CategoryTheory.Over.{u1, u3} C _inst_1 X) (CategoryTheory.Over.category.{u3, u1} C _inst_1 X) (fun (f : CategoryTheory.Over.{u1, u3} C _inst_1 X) => CategoryTheory.Mono.{u1, u3} C _inst_1 (CategoryTheory.Functor.obj.{u1, u1, u3, u3} C _inst_1 C _inst_1 (CategoryTheory.Functor.id.{u1, u3} C _inst_1) (CategoryTheory.Comma.left.{u1, u1, u1, u3, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u3} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u3} C _inst_1 X) f)) (CategoryTheory.Functor.obj.{u1, u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.fromPUnit.{u1, u3} C _inst_1 X) (CategoryTheory.Comma.right.{u1, u1, u1, u3, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u3} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u3} C _inst_1 X) f)) (CategoryTheory.Comma.hom.{u1, u1, u1, u3, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u3} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u3} C _inst_1 X) f))) (CategoryTheory.Over.{u1, u3} C _inst_1 X) (CategoryTheory.Over.category.{u3, u1} C _inst_1 X) (CategoryTheory.FullSubcategoryₓ.obj.{u1, max u3 u1} (CategoryTheory.Over.{u1, u3} C _inst_1 X) (CategoryTheory.Over.category.{u3, u1} C _inst_1 X) (fun (f : CategoryTheory.Over.{u1, u3} C _inst_1 X) => CategoryTheory.Mono.{u1, u3} C _inst_1 (CategoryTheory.Functor.obj.{u1, u1, u3, u3} C _inst_1 C _inst_1 (CategoryTheory.Functor.id.{u1, u3} C _inst_1) (CategoryTheory.Comma.left.{u1, u1, u1, u3, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u3} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u3} C _inst_1 X) f)) (CategoryTheory.Functor.obj.{u1, u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.fromPUnit.{u1, u3} C _inst_1 X) (CategoryTheory.Comma.right.{u1, u1, u1, u3, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u3} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u3} C _inst_1 X) f)) (CategoryTheory.Comma.hom.{u1, u1, u1, u3, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u3} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u3} C _inst_1 X) f)))) (CategoryTheory.Over.{u1, u3} C _inst_1 X) (CategoryTheory.Over.category.{u3, u1} C _inst_1 X) (CategoryTheory.MonoOver.forget.{u1, u3} C _inst_1 X) f)))) (CategoryTheory.Functor.obj.{u2, u2, u2, u4} (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) D _inst_2 (CategoryTheory.Functor.fromPUnit.{u2, u4} D _inst_2 Y) (CategoryTheory.Comma.right.{u2, u2, u2, u4, u2, u4} D _inst_2 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) D _inst_2 (CategoryTheory.Functor.id.{u2, u4} D _inst_2) (CategoryTheory.Functor.fromPUnit.{u2, u4} D _inst_2 Y) (CategoryTheory.Functor.obj.{u1, u2, max u3 u1, max u4 u2} (CategoryTheory.Over.{u1, u3} C _inst_1 X) (CategoryTheory.Over.category.{u3, u1} C _inst_1 X) (CategoryTheory.Over.{u2, u4} D _inst_2 Y) (CategoryTheory.Over.category.{u4, u2} D _inst_2 Y) F (CategoryTheory.Functor.obj.{u1, u1, max u3 u1, max u3 u1} (CategoryTheory.MonoOver.{u1, u3} C _inst_1 X) (CategoryTheory.InducedCategory.category.{u1, max u3 u1, max u3 u1} (CategoryTheory.FullSubcategoryₓ.{u1, max u3 u1} (CategoryTheory.Over.{u1, u3} C _inst_1 X) (CategoryTheory.Over.category.{u3, u1} C _inst_1 X) (fun (f : CategoryTheory.Over.{u1, u3} C _inst_1 X) => CategoryTheory.Mono.{u1, u3} C _inst_1 (CategoryTheory.Functor.obj.{u1, u1, u3, u3} C _inst_1 C _inst_1 (CategoryTheory.Functor.id.{u1, u3} C _inst_1) (CategoryTheory.Comma.left.{u1, u1, u1, u3, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u3} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u3} C _inst_1 X) f)) (CategoryTheory.Functor.obj.{u1, u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.fromPUnit.{u1, u3} C _inst_1 X) (CategoryTheory.Comma.right.{u1, u1, u1, u3, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u3} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u3} C _inst_1 X) f)) (CategoryTheory.Comma.hom.{u1, u1, u1, u3, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u3} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u3} C _inst_1 X) f))) (CategoryTheory.Over.{u1, u3} C _inst_1 X) (CategoryTheory.Over.category.{u3, u1} C _inst_1 X) (CategoryTheory.FullSubcategoryₓ.obj.{u1, max u3 u1} (CategoryTheory.Over.{u1, u3} C _inst_1 X) (CategoryTheory.Over.category.{u3, u1} C _inst_1 X) (fun (f : CategoryTheory.Over.{u1, u3} C _inst_1 X) => CategoryTheory.Mono.{u1, u3} C _inst_1 (CategoryTheory.Functor.obj.{u1, u1, u3, u3} C _inst_1 C _inst_1 (CategoryTheory.Functor.id.{u1, u3} C _inst_1) (CategoryTheory.Comma.left.{u1, u1, u1, u3, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u3} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u3} C _inst_1 X) f)) (CategoryTheory.Functor.obj.{u1, u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.fromPUnit.{u1, u3} C _inst_1 X) (CategoryTheory.Comma.right.{u1, u1, u1, u3, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u3} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u3} C _inst_1 X) f)) (CategoryTheory.Comma.hom.{u1, u1, u1, u3, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u3} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u3} C _inst_1 X) f)))) (CategoryTheory.Over.{u1, u3} C _inst_1 X) (CategoryTheory.Over.category.{u3, u1} C _inst_1 X) (CategoryTheory.MonoOver.forget.{u1, u3} C _inst_1 X) f)))) (CategoryTheory.Comma.hom.{u2, u2, u2, u4, u2, u4} D _inst_2 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) D _inst_2 (CategoryTheory.Functor.id.{u2, u4} D _inst_2) (CategoryTheory.Functor.fromPUnit.{u2, u4} D _inst_2 Y) (CategoryTheory.Functor.obj.{u1, u2, max u3 u1, max u4 u2} (CategoryTheory.Over.{u1, u3} C _inst_1 X) (CategoryTheory.Over.category.{u3, u1} C _inst_1 X) (CategoryTheory.Over.{u2, u4} D _inst_2 Y) (CategoryTheory.Over.category.{u4, u2} D _inst_2 Y) F (CategoryTheory.Functor.obj.{u1, u1, max u3 u1, max u3 u1} (CategoryTheory.MonoOver.{u1, u3} C _inst_1 X) (CategoryTheory.InducedCategory.category.{u1, max u3 u1, max u3 u1} (CategoryTheory.FullSubcategoryₓ.{u1, max u3 u1} (CategoryTheory.Over.{u1, u3} C _inst_1 X) (CategoryTheory.Over.category.{u3, u1} C _inst_1 X) (fun (f : CategoryTheory.Over.{u1, u3} C _inst_1 X) => CategoryTheory.Mono.{u1, u3} C _inst_1 (CategoryTheory.Functor.obj.{u1, u1, u3, u3} C _inst_1 C _inst_1 (CategoryTheory.Functor.id.{u1, u3} C _inst_1) (CategoryTheory.Comma.left.{u1, u1, u1, u3, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u3} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u3} C _inst_1 X) f)) (CategoryTheory.Functor.obj.{u1, u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.fromPUnit.{u1, u3} C _inst_1 X) (CategoryTheory.Comma.right.{u1, u1, u1, u3, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u3} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u3} C _inst_1 X) f)) (CategoryTheory.Comma.hom.{u1, u1, u1, u3, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u3} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u3} C _inst_1 X) f))) (CategoryTheory.Over.{u1, u3} C _inst_1 X) (CategoryTheory.Over.category.{u3, u1} C _inst_1 X) (CategoryTheory.FullSubcategoryₓ.obj.{u1, max u3 u1} (CategoryTheory.Over.{u1, u3} C _inst_1 X) (CategoryTheory.Over.category.{u3, u1} C _inst_1 X) (fun (f : CategoryTheory.Over.{u1, u3} C _inst_1 X) => CategoryTheory.Mono.{u1, u3} C _inst_1 (CategoryTheory.Functor.obj.{u1, u1, u3, u3} C _inst_1 C _inst_1 (CategoryTheory.Functor.id.{u1, u3} C _inst_1) (CategoryTheory.Comma.left.{u1, u1, u1, u3, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u3} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u3} C _inst_1 X) f)) (CategoryTheory.Functor.obj.{u1, u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.fromPUnit.{u1, u3} C _inst_1 X) (CategoryTheory.Comma.right.{u1, u1, u1, u3, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u3} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u3} C _inst_1 X) f)) (CategoryTheory.Comma.hom.{u1, u1, u1, u3, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u3} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u3} C _inst_1 X) f)))) (CategoryTheory.Over.{u1, u3} C _inst_1 X) (CategoryTheory.Over.category.{u3, u1} C _inst_1 X) (CategoryTheory.MonoOver.forget.{u1, u3} C _inst_1 X) f)))) (h₂ : forall (f : CategoryTheory.MonoOver.{u2, u4} D _inst_2 Y), CategoryTheory.Mono.{u1, u3} C _inst_1 (CategoryTheory.Functor.obj.{u1, u1, u3, u3} C _inst_1 C _inst_1 (CategoryTheory.Functor.id.{u1, u3} C _inst_1) (CategoryTheory.Comma.left.{u1, u1, u1, u3, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u3} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u3} C _inst_1 Z) (CategoryTheory.Functor.obj.{u2, u1, max u4 u2, max u3 u1} (CategoryTheory.Over.{u2, u4} D _inst_2 Y) (CategoryTheory.Over.category.{u4, u2} D _inst_2 Y) (CategoryTheory.Over.{u1, u3} C _inst_1 Z) (CategoryTheory.Over.category.{u3, u1} C _inst_1 Z) G (CategoryTheory.Functor.obj.{u2, u2, max u4 u2, max u4 u2} (CategoryTheory.MonoOver.{u2, u4} D _inst_2 Y) (CategoryTheory.InducedCategory.category.{u2, max u4 u2, max u4 u2} (CategoryTheory.FullSubcategoryₓ.{u2, max u4 u2} (CategoryTheory.Over.{u2, u4} D _inst_2 Y) (CategoryTheory.Over.category.{u4, u2} D _inst_2 Y) (fun (f : CategoryTheory.Over.{u2, u4} D _inst_2 Y) => CategoryTheory.Mono.{u2, u4} D _inst_2 (CategoryTheory.Functor.obj.{u2, u2, u4, u4} D _inst_2 D _inst_2 (CategoryTheory.Functor.id.{u2, u4} D _inst_2) (CategoryTheory.Comma.left.{u2, u2, u2, u4, u2, u4} D _inst_2 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) D _inst_2 (CategoryTheory.Functor.id.{u2, u4} D _inst_2) (CategoryTheory.Functor.fromPUnit.{u2, u4} D _inst_2 Y) f)) (CategoryTheory.Functor.obj.{u2, u2, u2, u4} (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) D _inst_2 (CategoryTheory.Functor.fromPUnit.{u2, u4} D _inst_2 Y) (CategoryTheory.Comma.right.{u2, u2, u2, u4, u2, u4} D _inst_2 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) D _inst_2 (CategoryTheory.Functor.id.{u2, u4} D _inst_2) (CategoryTheory.Functor.fromPUnit.{u2, u4} D _inst_2 Y) f)) (CategoryTheory.Comma.hom.{u2, u2, u2, u4, u2, u4} D _inst_2 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) D _inst_2 (CategoryTheory.Functor.id.{u2, u4} D _inst_2) (CategoryTheory.Functor.fromPUnit.{u2, u4} D _inst_2 Y) f))) (CategoryTheory.Over.{u2, u4} D _inst_2 Y) (CategoryTheory.Over.category.{u4, u2} D _inst_2 Y) (CategoryTheory.FullSubcategoryₓ.obj.{u2, max u4 u2} (CategoryTheory.Over.{u2, u4} D _inst_2 Y) (CategoryTheory.Over.category.{u4, u2} D _inst_2 Y) (fun (f : CategoryTheory.Over.{u2, u4} D _inst_2 Y) => CategoryTheory.Mono.{u2, u4} D _inst_2 (CategoryTheory.Functor.obj.{u2, u2, u4, u4} D _inst_2 D _inst_2 (CategoryTheory.Functor.id.{u2, u4} D _inst_2) (CategoryTheory.Comma.left.{u2, u2, u2, u4, u2, u4} D _inst_2 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) D _inst_2 (CategoryTheory.Functor.id.{u2, u4} D _inst_2) (CategoryTheory.Functor.fromPUnit.{u2, u4} D _inst_2 Y) f)) (CategoryTheory.Functor.obj.{u2, u2, u2, u4} (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) D _inst_2 (CategoryTheory.Functor.fromPUnit.{u2, u4} D _inst_2 Y) (CategoryTheory.Comma.right.{u2, u2, u2, u4, u2, u4} D _inst_2 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) D _inst_2 (CategoryTheory.Functor.id.{u2, u4} D _inst_2) (CategoryTheory.Functor.fromPUnit.{u2, u4} D _inst_2 Y) f)) (CategoryTheory.Comma.hom.{u2, u2, u2, u4, u2, u4} D _inst_2 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) D _inst_2 (CategoryTheory.Functor.id.{u2, u4} D _inst_2) (CategoryTheory.Functor.fromPUnit.{u2, u4} D _inst_2 Y) f)))) (CategoryTheory.Over.{u2, u4} D _inst_2 Y) (CategoryTheory.Over.category.{u4, u2} D _inst_2 Y) (CategoryTheory.MonoOver.forget.{u2, u4} D _inst_2 Y) f)))) (CategoryTheory.Functor.obj.{u1, u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.fromPUnit.{u1, u3} C _inst_1 Z) (CategoryTheory.Comma.right.{u1, u1, u1, u3, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u3} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u3} C _inst_1 Z) (CategoryTheory.Functor.obj.{u2, u1, max u4 u2, max u3 u1} (CategoryTheory.Over.{u2, u4} D _inst_2 Y) (CategoryTheory.Over.category.{u4, u2} D _inst_2 Y) (CategoryTheory.Over.{u1, u3} C _inst_1 Z) (CategoryTheory.Over.category.{u3, u1} C _inst_1 Z) G (CategoryTheory.Functor.obj.{u2, u2, max u4 u2, max u4 u2} (CategoryTheory.MonoOver.{u2, u4} D _inst_2 Y) (CategoryTheory.InducedCategory.category.{u2, max u4 u2, max u4 u2} (CategoryTheory.FullSubcategoryₓ.{u2, max u4 u2} (CategoryTheory.Over.{u2, u4} D _inst_2 Y) (CategoryTheory.Over.category.{u4, u2} D _inst_2 Y) (fun (f : CategoryTheory.Over.{u2, u4} D _inst_2 Y) => CategoryTheory.Mono.{u2, u4} D _inst_2 (CategoryTheory.Functor.obj.{u2, u2, u4, u4} D _inst_2 D _inst_2 (CategoryTheory.Functor.id.{u2, u4} D _inst_2) (CategoryTheory.Comma.left.{u2, u2, u2, u4, u2, u4} D _inst_2 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) D _inst_2 (CategoryTheory.Functor.id.{u2, u4} D _inst_2) (CategoryTheory.Functor.fromPUnit.{u2, u4} D _inst_2 Y) f)) (CategoryTheory.Functor.obj.{u2, u2, u2, u4} (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) D _inst_2 (CategoryTheory.Functor.fromPUnit.{u2, u4} D _inst_2 Y) (CategoryTheory.Comma.right.{u2, u2, u2, u4, u2, u4} D _inst_2 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) D _inst_2 (CategoryTheory.Functor.id.{u2, u4} D _inst_2) (CategoryTheory.Functor.fromPUnit.{u2, u4} D _inst_2 Y) f)) (CategoryTheory.Comma.hom.{u2, u2, u2, u4, u2, u4} D _inst_2 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) D _inst_2 (CategoryTheory.Functor.id.{u2, u4} D _inst_2) (CategoryTheory.Functor.fromPUnit.{u2, u4} D _inst_2 Y) f))) (CategoryTheory.Over.{u2, u4} D _inst_2 Y) (CategoryTheory.Over.category.{u4, u2} D _inst_2 Y) (CategoryTheory.FullSubcategoryₓ.obj.{u2, max u4 u2} (CategoryTheory.Over.{u2, u4} D _inst_2 Y) (CategoryTheory.Over.category.{u4, u2} D _inst_2 Y) (fun (f : CategoryTheory.Over.{u2, u4} D _inst_2 Y) => CategoryTheory.Mono.{u2, u4} D _inst_2 (CategoryTheory.Functor.obj.{u2, u2, u4, u4} D _inst_2 D _inst_2 (CategoryTheory.Functor.id.{u2, u4} D _inst_2) (CategoryTheory.Comma.left.{u2, u2, u2, u4, u2, u4} D _inst_2 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) D _inst_2 (CategoryTheory.Functor.id.{u2, u4} D _inst_2) (CategoryTheory.Functor.fromPUnit.{u2, u4} D _inst_2 Y) f)) (CategoryTheory.Functor.obj.{u2, u2, u2, u4} (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) D _inst_2 (CategoryTheory.Functor.fromPUnit.{u2, u4} D _inst_2 Y) (CategoryTheory.Comma.right.{u2, u2, u2, u4, u2, u4} D _inst_2 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) D _inst_2 (CategoryTheory.Functor.id.{u2, u4} D _inst_2) (CategoryTheory.Functor.fromPUnit.{u2, u4} D _inst_2 Y) f)) (CategoryTheory.Comma.hom.{u2, u2, u2, u4, u2, u4} D _inst_2 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) D _inst_2 (CategoryTheory.Functor.id.{u2, u4} D _inst_2) (CategoryTheory.Functor.fromPUnit.{u2, u4} D _inst_2 Y) f)))) (CategoryTheory.Over.{u2, u4} D _inst_2 Y) (CategoryTheory.Over.category.{u4, u2} D _inst_2 Y) (CategoryTheory.MonoOver.forget.{u2, u4} D _inst_2 Y) f)))) (CategoryTheory.Comma.hom.{u1, u1, u1, u3, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u3} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u3} C _inst_1 Z) (CategoryTheory.Functor.obj.{u2, u1, max u4 u2, max u3 u1} (CategoryTheory.Over.{u2, u4} D _inst_2 Y) (CategoryTheory.Over.category.{u4, u2} D _inst_2 Y) (CategoryTheory.Over.{u1, u3} C _inst_1 Z) (CategoryTheory.Over.category.{u3, u1} C _inst_1 Z) G (CategoryTheory.Functor.obj.{u2, u2, max u4 u2, max u4 u2} (CategoryTheory.MonoOver.{u2, u4} D _inst_2 Y) (CategoryTheory.InducedCategory.category.{u2, max u4 u2, max u4 u2} (CategoryTheory.FullSubcategoryₓ.{u2, max u4 u2} (CategoryTheory.Over.{u2, u4} D _inst_2 Y) (CategoryTheory.Over.category.{u4, u2} D _inst_2 Y) (fun (f : CategoryTheory.Over.{u2, u4} D _inst_2 Y) => CategoryTheory.Mono.{u2, u4} D _inst_2 (CategoryTheory.Functor.obj.{u2, u2, u4, u4} D _inst_2 D _inst_2 (CategoryTheory.Functor.id.{u2, u4} D _inst_2) (CategoryTheory.Comma.left.{u2, u2, u2, u4, u2, u4} D _inst_2 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) D _inst_2 (CategoryTheory.Functor.id.{u2, u4} D _inst_2) (CategoryTheory.Functor.fromPUnit.{u2, u4} D _inst_2 Y) f)) (CategoryTheory.Functor.obj.{u2, u2, u2, u4} (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) D _inst_2 (CategoryTheory.Functor.fromPUnit.{u2, u4} D _inst_2 Y) (CategoryTheory.Comma.right.{u2, u2, u2, u4, u2, u4} D _inst_2 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) D _inst_2 (CategoryTheory.Functor.id.{u2, u4} D _inst_2) (CategoryTheory.Functor.fromPUnit.{u2, u4} D _inst_2 Y) f)) (CategoryTheory.Comma.hom.{u2, u2, u2, u4, u2, u4} D _inst_2 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) D _inst_2 (CategoryTheory.Functor.id.{u2, u4} D _inst_2) (CategoryTheory.Functor.fromPUnit.{u2, u4} D _inst_2 Y) f))) (CategoryTheory.Over.{u2, u4} D _inst_2 Y) (CategoryTheory.Over.category.{u4, u2} D _inst_2 Y) (CategoryTheory.FullSubcategoryₓ.obj.{u2, max u4 u2} (CategoryTheory.Over.{u2, u4} D _inst_2 Y) (CategoryTheory.Over.category.{u4, u2} D _inst_2 Y) (fun (f : CategoryTheory.Over.{u2, u4} D _inst_2 Y) => CategoryTheory.Mono.{u2, u4} D _inst_2 (CategoryTheory.Functor.obj.{u2, u2, u4, u4} D _inst_2 D _inst_2 (CategoryTheory.Functor.id.{u2, u4} D _inst_2) (CategoryTheory.Comma.left.{u2, u2, u2, u4, u2, u4} D _inst_2 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) D _inst_2 (CategoryTheory.Functor.id.{u2, u4} D _inst_2) (CategoryTheory.Functor.fromPUnit.{u2, u4} D _inst_2 Y) f)) (CategoryTheory.Functor.obj.{u2, u2, u2, u4} (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) D _inst_2 (CategoryTheory.Functor.fromPUnit.{u2, u4} D _inst_2 Y) (CategoryTheory.Comma.right.{u2, u2, u2, u4, u2, u4} D _inst_2 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) D _inst_2 (CategoryTheory.Functor.id.{u2, u4} D _inst_2) (CategoryTheory.Functor.fromPUnit.{u2, u4} D _inst_2 Y) f)) (CategoryTheory.Comma.hom.{u2, u2, u2, u4, u2, u4} D _inst_2 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) D _inst_2 (CategoryTheory.Functor.id.{u2, u4} D _inst_2) (CategoryTheory.Functor.fromPUnit.{u2, u4} D _inst_2 Y) f)))) (CategoryTheory.Over.{u2, u4} D _inst_2 Y) (CategoryTheory.Over.category.{u4, u2} D _inst_2 Y) (CategoryTheory.MonoOver.forget.{u2, u4} D _inst_2 Y) f)))), CategoryTheory.Iso.{max u3 u1, max u3 u1} (CategoryTheory.Functor.{u1, u1, max u3 u1, max u3 u1} (CategoryTheory.MonoOver.{u1, u3} C _inst_1 X) (CategoryTheory.MonoOver.category.{u3, u1} C _inst_1 X) (CategoryTheory.MonoOver.{u1, u3} C _inst_1 Z) (CategoryTheory.MonoOver.category.{u3, u1} C _inst_1 Z)) (CategoryTheory.Functor.category.{u1, u1, max u3 u1, max u3 u1} (CategoryTheory.MonoOver.{u1, u3} C _inst_1 X) (CategoryTheory.MonoOver.category.{u3, u1} C _inst_1 X) (CategoryTheory.MonoOver.{u1, u3} C _inst_1 Z) (CategoryTheory.MonoOver.category.{u3, u1} C _inst_1 Z)) (CategoryTheory.Functor.comp.{u1, u2, u1, max u3 u1, max u4 u2, max u3 u1} (CategoryTheory.MonoOver.{u1, u3} C _inst_1 X) (CategoryTheory.MonoOver.category.{u3, u1} C _inst_1 X) (CategoryTheory.MonoOver.{u2, u4} D _inst_2 Y) (CategoryTheory.MonoOver.category.{u4, u2} D _inst_2 Y) (CategoryTheory.MonoOver.{u1, u3} C _inst_1 Z) (CategoryTheory.MonoOver.category.{u3, u1} C _inst_1 Z) (CategoryTheory.MonoOver.lift.{u2, u1, u4, u3} D _inst_2 Y C _inst_1 X F h₁) (CategoryTheory.MonoOver.lift.{u1, u2, u3, u4} C _inst_1 Z D _inst_2 Y G h₂)) (CategoryTheory.MonoOver.lift.{u1, u1, u3, u3} C _inst_1 Z C _inst_1 X (CategoryTheory.Functor.comp.{u1, u2, u1, max u3 u1, max u4 u2, max u3 u1} (CategoryTheory.Over.{u1, u3} C _inst_1 X) (CategoryTheory.Over.category.{u3, u1} C _inst_1 X) (CategoryTheory.Over.{u2, u4} D _inst_2 Y) (CategoryTheory.Over.category.{u4, u2} D _inst_2 Y) (CategoryTheory.Over.{u1, u3} C _inst_1 Z) (CategoryTheory.Over.category.{u3, u1} C _inst_1 Z) F G) (CategoryTheory.MonoOver.liftComp._proof_1.{u3, u4, u1, u2} C _inst_1 D _inst_2 X Z Y F G h₁ h₂))
+but is expected to have type
+  forall {C : Type.{u3}} [_inst_1 : CategoryTheory.Category.{u1, u3} C] {D : Type.{u4}} [_inst_2 : CategoryTheory.Category.{u2, u4} D] {X : C} {Z : C} {Y : D} (F : CategoryTheory.Functor.{u1, u2, max u3 u1, max u4 u2} (CategoryTheory.Over.{u1, u3} C _inst_1 X) (CategoryTheory.instCategoryOver.{u1, u3} C _inst_1 X) (CategoryTheory.Over.{u2, u4} D _inst_2 Y) (CategoryTheory.instCategoryOver.{u2, u4} D _inst_2 Y)) (G : CategoryTheory.Functor.{u2, u1, max u4 u2, max u3 u1} (CategoryTheory.Over.{u2, u4} D _inst_2 Y) (CategoryTheory.instCategoryOver.{u2, u4} D _inst_2 Y) (CategoryTheory.Over.{u1, u3} C _inst_1 Z) (CategoryTheory.instCategoryOver.{u1, u3} C _inst_1 Z)) (h₁ : forall (f : CategoryTheory.MonoOver.{u1, u3} C _inst_1 X), CategoryTheory.Mono.{u2, u4} D _inst_2 (Prefunctor.obj.{succ u2, succ u2, u4, u4} D (CategoryTheory.CategoryStruct.toQuiver.{u2, u4} D (CategoryTheory.Category.toCategoryStruct.{u2, u4} D _inst_2)) D (CategoryTheory.CategoryStruct.toQuiver.{u2, u4} D (CategoryTheory.Category.toCategoryStruct.{u2, u4} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u2, u2, u4, u4} D _inst_2 D _inst_2 (CategoryTheory.Functor.id.{u2, u4} D _inst_2)) (CategoryTheory.Comma.left.{u2, u2, u2, u4, u2, u4} D _inst_2 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) D _inst_2 (CategoryTheory.Functor.id.{u2, u4} D _inst_2) (CategoryTheory.Functor.fromPUnit.{u2, u4} D _inst_2 Y) (Prefunctor.obj.{succ u1, succ u2, max u3 u1, max u4 u2} (CategoryTheory.Over.{u1, u3} C _inst_1 X) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u3 u1} (CategoryTheory.Over.{u1, u3} C _inst_1 X) (CategoryTheory.Category.toCategoryStruct.{u1, max u3 u1} (CategoryTheory.Over.{u1, u3} C _inst_1 X) (CategoryTheory.instCategoryOver.{u1, u3} C _inst_1 X))) (CategoryTheory.Over.{u2, u4} D _inst_2 Y) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u4 u2} (CategoryTheory.Over.{u2, u4} D _inst_2 Y) (CategoryTheory.Category.toCategoryStruct.{u2, max u4 u2} (CategoryTheory.Over.{u2, u4} D _inst_2 Y) (CategoryTheory.instCategoryOver.{u2, u4} D _inst_2 Y))) (CategoryTheory.Functor.toPrefunctor.{u1, u2, max u3 u1, max u4 u2} (CategoryTheory.Over.{u1, u3} C _inst_1 X) (CategoryTheory.instCategoryOver.{u1, u3} C _inst_1 X) (CategoryTheory.Over.{u2, u4} D _inst_2 Y) (CategoryTheory.instCategoryOver.{u2, u4} D _inst_2 Y) F) (Prefunctor.obj.{succ u1, succ u1, max u3 u1, max u3 u1} (CategoryTheory.MonoOver.{u1, u3} C _inst_1 X) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u3 u1} (CategoryTheory.MonoOver.{u1, u3} C _inst_1 X) (CategoryTheory.Category.toCategoryStruct.{u1, max u3 u1} (CategoryTheory.MonoOver.{u1, u3} C _inst_1 X) (CategoryTheory.instCategoryMonoOver.{u1, u3} C _inst_1 X))) (CategoryTheory.Over.{u1, u3} C _inst_1 X) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u3 u1} (CategoryTheory.Over.{u1, u3} C _inst_1 X) (CategoryTheory.Category.toCategoryStruct.{u1, max u3 u1} (CategoryTheory.Over.{u1, u3} C _inst_1 X) (CategoryTheory.instCategoryOver.{u1, u3} C _inst_1 X))) (CategoryTheory.Functor.toPrefunctor.{u1, u1, max u3 u1, max u3 u1} (CategoryTheory.MonoOver.{u1, u3} C _inst_1 X) (CategoryTheory.instCategoryMonoOver.{u1, u3} C _inst_1 X) (CategoryTheory.Over.{u1, u3} C _inst_1 X) (CategoryTheory.instCategoryOver.{u1, u3} C _inst_1 X) (CategoryTheory.MonoOver.forget.{u1, u3} C _inst_1 X)) f)))) (Prefunctor.obj.{succ u2, succ u2, u2, u4} (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}))) D (CategoryTheory.CategoryStruct.toQuiver.{u2, u4} D (CategoryTheory.Category.toCategoryStruct.{u2, u4} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u2, u2, u2, u4} (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) D _inst_2 (CategoryTheory.Functor.fromPUnit.{u2, u4} D _inst_2 Y)) (CategoryTheory.Comma.right.{u2, u2, u2, u4, u2, u4} D _inst_2 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) D _inst_2 (CategoryTheory.Functor.id.{u2, u4} D _inst_2) (CategoryTheory.Functor.fromPUnit.{u2, u4} D _inst_2 Y) (Prefunctor.obj.{succ u1, succ u2, max u3 u1, max u4 u2} (CategoryTheory.Over.{u1, u3} C _inst_1 X) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u3 u1} (CategoryTheory.Over.{u1, u3} C _inst_1 X) (CategoryTheory.Category.toCategoryStruct.{u1, max u3 u1} (CategoryTheory.Over.{u1, u3} C _inst_1 X) (CategoryTheory.instCategoryOver.{u1, u3} C _inst_1 X))) (CategoryTheory.Over.{u2, u4} D _inst_2 Y) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u4 u2} (CategoryTheory.Over.{u2, u4} D _inst_2 Y) (CategoryTheory.Category.toCategoryStruct.{u2, max u4 u2} (CategoryTheory.Over.{u2, u4} D _inst_2 Y) (CategoryTheory.instCategoryOver.{u2, u4} D _inst_2 Y))) (CategoryTheory.Functor.toPrefunctor.{u1, u2, max u3 u1, max u4 u2} (CategoryTheory.Over.{u1, u3} C _inst_1 X) (CategoryTheory.instCategoryOver.{u1, u3} C _inst_1 X) (CategoryTheory.Over.{u2, u4} D _inst_2 Y) (CategoryTheory.instCategoryOver.{u2, u4} D _inst_2 Y) F) (Prefunctor.obj.{succ u1, succ u1, max u3 u1, max u3 u1} (CategoryTheory.MonoOver.{u1, u3} C _inst_1 X) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u3 u1} (CategoryTheory.MonoOver.{u1, u3} C _inst_1 X) (CategoryTheory.Category.toCategoryStruct.{u1, max u3 u1} (CategoryTheory.MonoOver.{u1, u3} C _inst_1 X) (CategoryTheory.instCategoryMonoOver.{u1, u3} C _inst_1 X))) (CategoryTheory.Over.{u1, u3} C _inst_1 X) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u3 u1} (CategoryTheory.Over.{u1, u3} C _inst_1 X) (CategoryTheory.Category.toCategoryStruct.{u1, max u3 u1} (CategoryTheory.Over.{u1, u3} C _inst_1 X) (CategoryTheory.instCategoryOver.{u1, u3} C _inst_1 X))) (CategoryTheory.Functor.toPrefunctor.{u1, u1, max u3 u1, max u3 u1} (CategoryTheory.MonoOver.{u1, u3} C _inst_1 X) (CategoryTheory.instCategoryMonoOver.{u1, u3} C _inst_1 X) (CategoryTheory.Over.{u1, u3} C _inst_1 X) (CategoryTheory.instCategoryOver.{u1, u3} C _inst_1 X) (CategoryTheory.MonoOver.forget.{u1, u3} C _inst_1 X)) f)))) (CategoryTheory.Comma.hom.{u2, u2, u2, u4, u2, u4} D _inst_2 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) D _inst_2 (CategoryTheory.Functor.id.{u2, u4} D _inst_2) (CategoryTheory.Functor.fromPUnit.{u2, u4} D _inst_2 Y) (Prefunctor.obj.{succ u1, succ u2, max u3 u1, max u4 u2} (CategoryTheory.Over.{u1, u3} C _inst_1 X) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u3 u1} (CategoryTheory.Over.{u1, u3} C _inst_1 X) (CategoryTheory.Category.toCategoryStruct.{u1, max u3 u1} (CategoryTheory.Over.{u1, u3} C _inst_1 X) (CategoryTheory.instCategoryOver.{u1, u3} C _inst_1 X))) (CategoryTheory.Over.{u2, u4} D _inst_2 Y) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u4 u2} (CategoryTheory.Over.{u2, u4} D _inst_2 Y) (CategoryTheory.Category.toCategoryStruct.{u2, max u4 u2} (CategoryTheory.Over.{u2, u4} D _inst_2 Y) (CategoryTheory.instCategoryOver.{u2, u4} D _inst_2 Y))) (CategoryTheory.Functor.toPrefunctor.{u1, u2, max u3 u1, max u4 u2} (CategoryTheory.Over.{u1, u3} C _inst_1 X) (CategoryTheory.instCategoryOver.{u1, u3} C _inst_1 X) (CategoryTheory.Over.{u2, u4} D _inst_2 Y) (CategoryTheory.instCategoryOver.{u2, u4} D _inst_2 Y) F) (Prefunctor.obj.{succ u1, succ u1, max u3 u1, max u3 u1} (CategoryTheory.MonoOver.{u1, u3} C _inst_1 X) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u3 u1} (CategoryTheory.MonoOver.{u1, u3} C _inst_1 X) (CategoryTheory.Category.toCategoryStruct.{u1, max u3 u1} (CategoryTheory.MonoOver.{u1, u3} C _inst_1 X) (CategoryTheory.instCategoryMonoOver.{u1, u3} C _inst_1 X))) (CategoryTheory.Over.{u1, u3} C _inst_1 X) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u3 u1} (CategoryTheory.Over.{u1, u3} C _inst_1 X) (CategoryTheory.Category.toCategoryStruct.{u1, max u3 u1} (CategoryTheory.Over.{u1, u3} C _inst_1 X) (CategoryTheory.instCategoryOver.{u1, u3} C _inst_1 X))) (CategoryTheory.Functor.toPrefunctor.{u1, u1, max u3 u1, max u3 u1} (CategoryTheory.MonoOver.{u1, u3} C _inst_1 X) (CategoryTheory.instCategoryMonoOver.{u1, u3} C _inst_1 X) (CategoryTheory.Over.{u1, u3} C _inst_1 X) (CategoryTheory.instCategoryOver.{u1, u3} C _inst_1 X) (CategoryTheory.MonoOver.forget.{u1, u3} C _inst_1 X)) f)))) (h₂ : forall (f : CategoryTheory.MonoOver.{u2, u4} D _inst_2 Y), CategoryTheory.Mono.{u1, u3} C _inst_1 (Prefunctor.obj.{succ u1, succ u1, u3, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} C (CategoryTheory.Category.toCategoryStruct.{u1, u3} C _inst_1)) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} C (CategoryTheory.Category.toCategoryStruct.{u1, u3} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u3, u3} C _inst_1 C _inst_1 (CategoryTheory.Functor.id.{u1, u3} C _inst_1)) (CategoryTheory.Comma.left.{u1, u1, u1, u3, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u3} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u3} C _inst_1 Z) (Prefunctor.obj.{succ u2, succ u1, max u4 u2, max u3 u1} (CategoryTheory.Over.{u2, u4} D _inst_2 Y) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u4 u2} (CategoryTheory.Over.{u2, u4} D _inst_2 Y) (CategoryTheory.Category.toCategoryStruct.{u2, max u4 u2} (CategoryTheory.Over.{u2, u4} D _inst_2 Y) (CategoryTheory.instCategoryOver.{u2, u4} D _inst_2 Y))) (CategoryTheory.Over.{u1, u3} C _inst_1 Z) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u3 u1} (CategoryTheory.Over.{u1, u3} C _inst_1 Z) (CategoryTheory.Category.toCategoryStruct.{u1, max u3 u1} (CategoryTheory.Over.{u1, u3} C _inst_1 Z) (CategoryTheory.instCategoryOver.{u1, u3} C _inst_1 Z))) (CategoryTheory.Functor.toPrefunctor.{u2, u1, max u4 u2, max u3 u1} (CategoryTheory.Over.{u2, u4} D _inst_2 Y) (CategoryTheory.instCategoryOver.{u2, u4} D _inst_2 Y) (CategoryTheory.Over.{u1, u3} C _inst_1 Z) (CategoryTheory.instCategoryOver.{u1, u3} C _inst_1 Z) G) (Prefunctor.obj.{succ u2, succ u2, max u4 u2, max u4 u2} (CategoryTheory.MonoOver.{u2, u4} D _inst_2 Y) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u4 u2} (CategoryTheory.MonoOver.{u2, u4} D _inst_2 Y) (CategoryTheory.Category.toCategoryStruct.{u2, max u4 u2} (CategoryTheory.MonoOver.{u2, u4} D _inst_2 Y) (CategoryTheory.instCategoryMonoOver.{u2, u4} D _inst_2 Y))) (CategoryTheory.Over.{u2, u4} D _inst_2 Y) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u4 u2} (CategoryTheory.Over.{u2, u4} D _inst_2 Y) (CategoryTheory.Category.toCategoryStruct.{u2, max u4 u2} (CategoryTheory.Over.{u2, u4} D _inst_2 Y) (CategoryTheory.instCategoryOver.{u2, u4} D _inst_2 Y))) (CategoryTheory.Functor.toPrefunctor.{u2, u2, max u4 u2, max u4 u2} (CategoryTheory.MonoOver.{u2, u4} D _inst_2 Y) (CategoryTheory.instCategoryMonoOver.{u2, u4} D _inst_2 Y) (CategoryTheory.Over.{u2, u4} D _inst_2 Y) (CategoryTheory.instCategoryOver.{u2, u4} D _inst_2 Y) (CategoryTheory.MonoOver.forget.{u2, u4} D _inst_2 Y)) f)))) (Prefunctor.obj.{succ u1, succ u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.Category.toCategoryStruct.{u1, u1} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}))) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} C (CategoryTheory.Category.toCategoryStruct.{u1, u3} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.fromPUnit.{u1, u3} C _inst_1 Z)) (CategoryTheory.Comma.right.{u1, u1, u1, u3, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u3} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u3} C _inst_1 Z) (Prefunctor.obj.{succ u2, succ u1, max u4 u2, max u3 u1} (CategoryTheory.Over.{u2, u4} D _inst_2 Y) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u4 u2} (CategoryTheory.Over.{u2, u4} D _inst_2 Y) (CategoryTheory.Category.toCategoryStruct.{u2, max u4 u2} (CategoryTheory.Over.{u2, u4} D _inst_2 Y) (CategoryTheory.instCategoryOver.{u2, u4} D _inst_2 Y))) (CategoryTheory.Over.{u1, u3} C _inst_1 Z) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u3 u1} (CategoryTheory.Over.{u1, u3} C _inst_1 Z) (CategoryTheory.Category.toCategoryStruct.{u1, max u3 u1} (CategoryTheory.Over.{u1, u3} C _inst_1 Z) (CategoryTheory.instCategoryOver.{u1, u3} C _inst_1 Z))) (CategoryTheory.Functor.toPrefunctor.{u2, u1, max u4 u2, max u3 u1} (CategoryTheory.Over.{u2, u4} D _inst_2 Y) (CategoryTheory.instCategoryOver.{u2, u4} D _inst_2 Y) (CategoryTheory.Over.{u1, u3} C _inst_1 Z) (CategoryTheory.instCategoryOver.{u1, u3} C _inst_1 Z) G) (Prefunctor.obj.{succ u2, succ u2, max u4 u2, max u4 u2} (CategoryTheory.MonoOver.{u2, u4} D _inst_2 Y) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u4 u2} (CategoryTheory.MonoOver.{u2, u4} D _inst_2 Y) (CategoryTheory.Category.toCategoryStruct.{u2, max u4 u2} (CategoryTheory.MonoOver.{u2, u4} D _inst_2 Y) (CategoryTheory.instCategoryMonoOver.{u2, u4} D _inst_2 Y))) (CategoryTheory.Over.{u2, u4} D _inst_2 Y) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u4 u2} (CategoryTheory.Over.{u2, u4} D _inst_2 Y) (CategoryTheory.Category.toCategoryStruct.{u2, max u4 u2} (CategoryTheory.Over.{u2, u4} D _inst_2 Y) (CategoryTheory.instCategoryOver.{u2, u4} D _inst_2 Y))) (CategoryTheory.Functor.toPrefunctor.{u2, u2, max u4 u2, max u4 u2} (CategoryTheory.MonoOver.{u2, u4} D _inst_2 Y) (CategoryTheory.instCategoryMonoOver.{u2, u4} D _inst_2 Y) (CategoryTheory.Over.{u2, u4} D _inst_2 Y) (CategoryTheory.instCategoryOver.{u2, u4} D _inst_2 Y) (CategoryTheory.MonoOver.forget.{u2, u4} D _inst_2 Y)) f)))) (CategoryTheory.Comma.hom.{u1, u1, u1, u3, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u3} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u3} C _inst_1 Z) (Prefunctor.obj.{succ u2, succ u1, max u4 u2, max u3 u1} (CategoryTheory.Over.{u2, u4} D _inst_2 Y) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u4 u2} (CategoryTheory.Over.{u2, u4} D _inst_2 Y) (CategoryTheory.Category.toCategoryStruct.{u2, max u4 u2} (CategoryTheory.Over.{u2, u4} D _inst_2 Y) (CategoryTheory.instCategoryOver.{u2, u4} D _inst_2 Y))) (CategoryTheory.Over.{u1, u3} C _inst_1 Z) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u3 u1} (CategoryTheory.Over.{u1, u3} C _inst_1 Z) (CategoryTheory.Category.toCategoryStruct.{u1, max u3 u1} (CategoryTheory.Over.{u1, u3} C _inst_1 Z) (CategoryTheory.instCategoryOver.{u1, u3} C _inst_1 Z))) (CategoryTheory.Functor.toPrefunctor.{u2, u1, max u4 u2, max u3 u1} (CategoryTheory.Over.{u2, u4} D _inst_2 Y) (CategoryTheory.instCategoryOver.{u2, u4} D _inst_2 Y) (CategoryTheory.Over.{u1, u3} C _inst_1 Z) (CategoryTheory.instCategoryOver.{u1, u3} C _inst_1 Z) G) (Prefunctor.obj.{succ u2, succ u2, max u4 u2, max u4 u2} (CategoryTheory.MonoOver.{u2, u4} D _inst_2 Y) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u4 u2} (CategoryTheory.MonoOver.{u2, u4} D _inst_2 Y) (CategoryTheory.Category.toCategoryStruct.{u2, max u4 u2} (CategoryTheory.MonoOver.{u2, u4} D _inst_2 Y) (CategoryTheory.instCategoryMonoOver.{u2, u4} D _inst_2 Y))) (CategoryTheory.Over.{u2, u4} D _inst_2 Y) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u4 u2} (CategoryTheory.Over.{u2, u4} D _inst_2 Y) (CategoryTheory.Category.toCategoryStruct.{u2, max u4 u2} (CategoryTheory.Over.{u2, u4} D _inst_2 Y) (CategoryTheory.instCategoryOver.{u2, u4} D _inst_2 Y))) (CategoryTheory.Functor.toPrefunctor.{u2, u2, max u4 u2, max u4 u2} (CategoryTheory.MonoOver.{u2, u4} D _inst_2 Y) (CategoryTheory.instCategoryMonoOver.{u2, u4} D _inst_2 Y) (CategoryTheory.Over.{u2, u4} D _inst_2 Y) (CategoryTheory.instCategoryOver.{u2, u4} D _inst_2 Y) (CategoryTheory.MonoOver.forget.{u2, u4} D _inst_2 Y)) f)))), CategoryTheory.Iso.{max u3 u1, max u3 u1} (CategoryTheory.Functor.{u1, u1, max u3 u1, max u3 u1} (CategoryTheory.MonoOver.{u1, u3} C _inst_1 X) (CategoryTheory.instCategoryMonoOver.{u1, u3} C _inst_1 X) (CategoryTheory.MonoOver.{u1, u3} C _inst_1 Z) (CategoryTheory.instCategoryMonoOver.{u1, u3} C _inst_1 Z)) (CategoryTheory.Functor.category.{u1, u1, max u3 u1, max u3 u1} (CategoryTheory.MonoOver.{u1, u3} C _inst_1 X) (CategoryTheory.instCategoryMonoOver.{u1, u3} C _inst_1 X) (CategoryTheory.MonoOver.{u1, u3} C _inst_1 Z) (CategoryTheory.instCategoryMonoOver.{u1, u3} C _inst_1 Z)) (CategoryTheory.Functor.comp.{u1, u2, u1, max u3 u1, max u4 u2, max u3 u1} (CategoryTheory.MonoOver.{u1, u3} C _inst_1 X) (CategoryTheory.instCategoryMonoOver.{u1, u3} C _inst_1 X) (CategoryTheory.MonoOver.{u2, u4} D _inst_2 Y) (CategoryTheory.instCategoryMonoOver.{u2, u4} D _inst_2 Y) (CategoryTheory.MonoOver.{u1, u3} C _inst_1 Z) (CategoryTheory.instCategoryMonoOver.{u1, u3} C _inst_1 Z) (CategoryTheory.MonoOver.lift.{u2, u1, u4, u3} D _inst_2 Y C _inst_1 X F h₁) (CategoryTheory.MonoOver.lift.{u1, u2, u3, u4} C _inst_1 Z D _inst_2 Y G h₂)) (CategoryTheory.MonoOver.lift.{u1, u1, u3, u3} C _inst_1 Z C _inst_1 X (CategoryTheory.Functor.comp.{u1, u2, u1, max u3 u1, max u4 u2, max u3 u1} (CategoryTheory.Over.{u1, u3} C _inst_1 X) (CategoryTheory.instCategoryOver.{u1, u3} C _inst_1 X) (CategoryTheory.Over.{u2, u4} D _inst_2 Y) (CategoryTheory.instCategoryOver.{u2, u4} D _inst_2 Y) (CategoryTheory.Over.{u1, u3} C _inst_1 Z) (CategoryTheory.instCategoryOver.{u1, u3} C _inst_1 Z) F G) (fun (f : CategoryTheory.MonoOver.{u1, u3} C _inst_1 X) => h₂ (CategoryTheory.FullSubcategory.mk.{max u4 u2} (CategoryTheory.Over.{u2, u4} D _inst_2 Y) (fun (f : CategoryTheory.Over.{u2, u4} D _inst_2 Y) => CategoryTheory.Mono.{u2, u4} D _inst_2 (Prefunctor.obj.{succ u2, succ u2, u4, u4} D (CategoryTheory.CategoryStruct.toQuiver.{u2, u4} D (CategoryTheory.Category.toCategoryStruct.{u2, u4} D _inst_2)) D (CategoryTheory.CategoryStruct.toQuiver.{u2, u4} D (CategoryTheory.Category.toCategoryStruct.{u2, u4} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u2, u2, u4, u4} D _inst_2 D _inst_2 (CategoryTheory.Functor.id.{u2, u4} D _inst_2)) (CategoryTheory.Comma.left.{u2, u2, u2, u4, u2, u4} D _inst_2 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) D _inst_2 (CategoryTheory.Functor.id.{u2, u4} D _inst_2) (CategoryTheory.Functor.fromPUnit.{u2, u4} D _inst_2 Y) f)) (Prefunctor.obj.{succ u2, succ u2, u2, u4} (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}))) D (CategoryTheory.CategoryStruct.toQuiver.{u2, u4} D (CategoryTheory.Category.toCategoryStruct.{u2, u4} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u2, u2, u2, u4} (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) D _inst_2 (CategoryTheory.Functor.fromPUnit.{u2, u4} D _inst_2 Y)) (CategoryTheory.Comma.right.{u2, u2, u2, u4, u2, u4} D _inst_2 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) D _inst_2 (CategoryTheory.Functor.id.{u2, u4} D _inst_2) (CategoryTheory.Functor.fromPUnit.{u2, u4} D _inst_2 Y) f)) (CategoryTheory.Comma.hom.{u2, u2, u2, u4, u2, u4} D _inst_2 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) D _inst_2 (CategoryTheory.Functor.id.{u2, u4} D _inst_2) (CategoryTheory.Functor.fromPUnit.{u2, u4} D _inst_2 Y) f)) (Prefunctor.obj.{succ u1, succ u2, max u3 u1, max u4 u2} (CategoryTheory.Over.{u1, u3} C _inst_1 X) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u3 u1} (CategoryTheory.Over.{u1, u3} C _inst_1 X) (CategoryTheory.Category.toCategoryStruct.{u1, max u3 u1} (CategoryTheory.Over.{u1, u3} C _inst_1 X) (CategoryTheory.instCategoryOver.{u1, u3} C _inst_1 X))) (CategoryTheory.Over.{u2, u4} D _inst_2 Y) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u4 u2} (CategoryTheory.Over.{u2, u4} D _inst_2 Y) (CategoryTheory.Category.toCategoryStruct.{u2, max u4 u2} (CategoryTheory.Over.{u2, u4} D _inst_2 Y) (CategoryTheory.instCategoryOver.{u2, u4} D _inst_2 Y))) (CategoryTheory.Functor.toPrefunctor.{u1, u2, max u3 u1, max u4 u2} (CategoryTheory.Over.{u1, u3} C _inst_1 X) (CategoryTheory.instCategoryOver.{u1, u3} C _inst_1 X) (CategoryTheory.Over.{u2, u4} D _inst_2 Y) (CategoryTheory.instCategoryOver.{u2, u4} D _inst_2 Y) F) (Prefunctor.obj.{succ u1, succ u1, max u3 u1, max u3 u1} (CategoryTheory.MonoOver.{u1, u3} C _inst_1 X) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u3 u1} (CategoryTheory.MonoOver.{u1, u3} C _inst_1 X) (CategoryTheory.Category.toCategoryStruct.{u1, max u3 u1} (CategoryTheory.MonoOver.{u1, u3} C _inst_1 X) (CategoryTheory.instCategoryMonoOver.{u1, u3} C _inst_1 X))) (CategoryTheory.Over.{u1, u3} C _inst_1 X) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u3 u1} (CategoryTheory.Over.{u1, u3} C _inst_1 X) (CategoryTheory.Category.toCategoryStruct.{u1, max u3 u1} (CategoryTheory.Over.{u1, u3} C _inst_1 X) (CategoryTheory.instCategoryOver.{u1, u3} C _inst_1 X))) (CategoryTheory.Functor.toPrefunctor.{u1, u1, max u3 u1, max u3 u1} (CategoryTheory.MonoOver.{u1, u3} C _inst_1 X) (CategoryTheory.instCategoryMonoOver.{u1, u3} C _inst_1 X) (CategoryTheory.Over.{u1, u3} C _inst_1 X) (CategoryTheory.instCategoryOver.{u1, u3} C _inst_1 X) (CategoryTheory.MonoOver.forget.{u1, u3} C _inst_1 X)) f)) (h₁ f))))
+Case conversion may be inaccurate. Consider using '#align category_theory.mono_over.lift_comp CategoryTheory.MonoOver.liftCompₓ'. -/
 /-- `mono_over.lift` commutes with composition of functors. -/
 def liftComp {X Z : C} {Y : D} (F : Over X ⥤ Over Y) (G : Over Y ⥤ Over Z) (h₁ h₂) :
     lift F h₁ ⋙ lift G h₂ ≅ lift (F ⋙ G) fun f => h₂ ⟨_, h₁ f⟩ :=
   fullyFaithfulCancelRight (MonoOver.forget _) (Iso.refl _)
 #align category_theory.mono_over.lift_comp CategoryTheory.MonoOver.liftComp
 
+#print CategoryTheory.MonoOver.liftId /-
 /-- `mono_over.lift` preserves the identity functor. -/
 def liftId : (lift (𝟭 (Over X)) fun f => f.2) ≅ 𝟭 _ :=
   fullyFaithfulCancelRight (MonoOver.forget _) (Iso.refl _)
 #align category_theory.mono_over.lift_id CategoryTheory.MonoOver.liftId
+-/
 
+/- warning: category_theory.mono_over.lift_comm -> CategoryTheory.MonoOver.lift_comm is a dubious translation:
+lean 3 declaration is
+  forall {C : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} C] {X : C} {Y : C} (F : CategoryTheory.Functor.{u1, u1, max u2 u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 Y) (CategoryTheory.Over.category.{u2, u1} C _inst_1 Y) (CategoryTheory.Over.{u1, u2} C _inst_1 X) (CategoryTheory.Over.category.{u2, u1} C _inst_1 X)) (h : forall (f : CategoryTheory.MonoOver.{u1, u2} C _inst_1 Y), CategoryTheory.Mono.{u1, u2} C _inst_1 (CategoryTheory.Functor.obj.{u1, u1, u2, u2} C _inst_1 C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 X) (CategoryTheory.Functor.obj.{u1, u1, max u2 u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 Y) (CategoryTheory.Over.category.{u2, u1} C _inst_1 Y) (CategoryTheory.Over.{u1, u2} C _inst_1 X) (CategoryTheory.Over.category.{u2, u1} C _inst_1 X) F (CategoryTheory.Functor.obj.{u1, u1, max u2 u1, max u2 u1} (CategoryTheory.MonoOver.{u1, u2} C _inst_1 Y) (CategoryTheory.InducedCategory.category.{u1, max u2 u1, max u2 u1} (CategoryTheory.FullSubcategoryₓ.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 Y) (CategoryTheory.Over.category.{u2, u1} C _inst_1 Y) (fun (f : CategoryTheory.Over.{u1, u2} C _inst_1 Y) => CategoryTheory.Mono.{u1, u2} C _inst_1 (CategoryTheory.Functor.obj.{u1, u1, u2, u2} C _inst_1 C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 Y) f)) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 Y) (CategoryTheory.Comma.right.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 Y) f)) (CategoryTheory.Comma.hom.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 Y) f))) (CategoryTheory.Over.{u1, u2} C _inst_1 Y) (CategoryTheory.Over.category.{u2, u1} C _inst_1 Y) (CategoryTheory.FullSubcategoryₓ.obj.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 Y) (CategoryTheory.Over.category.{u2, u1} C _inst_1 Y) (fun (f : CategoryTheory.Over.{u1, u2} C _inst_1 Y) => CategoryTheory.Mono.{u1, u2} C _inst_1 (CategoryTheory.Functor.obj.{u1, u1, u2, u2} C _inst_1 C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 Y) f)) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 Y) (CategoryTheory.Comma.right.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 Y) f)) (CategoryTheory.Comma.hom.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 Y) f)))) (CategoryTheory.Over.{u1, u2} C _inst_1 Y) (CategoryTheory.Over.category.{u2, u1} C _inst_1 Y) (CategoryTheory.MonoOver.forget.{u1, u2} C _inst_1 Y) f)))) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 X) (CategoryTheory.Comma.right.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 X) (CategoryTheory.Functor.obj.{u1, u1, max u2 u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 Y) (CategoryTheory.Over.category.{u2, u1} C _inst_1 Y) (CategoryTheory.Over.{u1, u2} C _inst_1 X) (CategoryTheory.Over.category.{u2, u1} C _inst_1 X) F (CategoryTheory.Functor.obj.{u1, u1, max u2 u1, max u2 u1} (CategoryTheory.MonoOver.{u1, u2} C _inst_1 Y) (CategoryTheory.InducedCategory.category.{u1, max u2 u1, max u2 u1} (CategoryTheory.FullSubcategoryₓ.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 Y) (CategoryTheory.Over.category.{u2, u1} C _inst_1 Y) (fun (f : CategoryTheory.Over.{u1, u2} C _inst_1 Y) => CategoryTheory.Mono.{u1, u2} C _inst_1 (CategoryTheory.Functor.obj.{u1, u1, u2, u2} C _inst_1 C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 Y) f)) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 Y) (CategoryTheory.Comma.right.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 Y) f)) (CategoryTheory.Comma.hom.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 Y) f))) (CategoryTheory.Over.{u1, u2} C _inst_1 Y) (CategoryTheory.Over.category.{u2, u1} C _inst_1 Y) (CategoryTheory.FullSubcategoryₓ.obj.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 Y) (CategoryTheory.Over.category.{u2, u1} C _inst_1 Y) (fun (f : CategoryTheory.Over.{u1, u2} C _inst_1 Y) => CategoryTheory.Mono.{u1, u2} C _inst_1 (CategoryTheory.Functor.obj.{u1, u1, u2, u2} C _inst_1 C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 Y) f)) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 Y) (CategoryTheory.Comma.right.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 Y) f)) (CategoryTheory.Comma.hom.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 Y) f)))) (CategoryTheory.Over.{u1, u2} C _inst_1 Y) (CategoryTheory.Over.category.{u2, u1} C _inst_1 Y) (CategoryTheory.MonoOver.forget.{u1, u2} C _inst_1 Y) f)))) (CategoryTheory.Comma.hom.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 X) (CategoryTheory.Functor.obj.{u1, u1, max u2 u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 Y) (CategoryTheory.Over.category.{u2, u1} C _inst_1 Y) (CategoryTheory.Over.{u1, u2} C _inst_1 X) (CategoryTheory.Over.category.{u2, u1} C _inst_1 X) F (CategoryTheory.Functor.obj.{u1, u1, max u2 u1, max u2 u1} (CategoryTheory.MonoOver.{u1, u2} C _inst_1 Y) (CategoryTheory.InducedCategory.category.{u1, max u2 u1, max u2 u1} (CategoryTheory.FullSubcategoryₓ.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 Y) (CategoryTheory.Over.category.{u2, u1} C _inst_1 Y) (fun (f : CategoryTheory.Over.{u1, u2} C _inst_1 Y) => CategoryTheory.Mono.{u1, u2} C _inst_1 (CategoryTheory.Functor.obj.{u1, u1, u2, u2} C _inst_1 C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 Y) f)) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 Y) (CategoryTheory.Comma.right.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 Y) f)) (CategoryTheory.Comma.hom.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 Y) f))) (CategoryTheory.Over.{u1, u2} C _inst_1 Y) (CategoryTheory.Over.category.{u2, u1} C _inst_1 Y) (CategoryTheory.FullSubcategoryₓ.obj.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 Y) (CategoryTheory.Over.category.{u2, u1} C _inst_1 Y) (fun (f : CategoryTheory.Over.{u1, u2} C _inst_1 Y) => CategoryTheory.Mono.{u1, u2} C _inst_1 (CategoryTheory.Functor.obj.{u1, u1, u2, u2} C _inst_1 C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 Y) f)) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 Y) (CategoryTheory.Comma.right.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 Y) f)) (CategoryTheory.Comma.hom.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 Y) f)))) (CategoryTheory.Over.{u1, u2} C _inst_1 Y) (CategoryTheory.Over.category.{u2, u1} C _inst_1 Y) (CategoryTheory.MonoOver.forget.{u1, u2} C _inst_1 Y) f)))), Eq.{succ (max u2 u1)} (CategoryTheory.Functor.{u1, u1, max u2 u1, max u2 u1} (CategoryTheory.MonoOver.{u1, u2} C _inst_1 Y) (CategoryTheory.MonoOver.category.{u2, u1} C _inst_1 Y) (CategoryTheory.Over.{u1, u2} C _inst_1 X) (CategoryTheory.Over.category.{u2, u1} C _inst_1 X)) (CategoryTheory.Functor.comp.{u1, u1, u1, max u2 u1, max u2 u1, max u2 u1} (CategoryTheory.MonoOver.{u1, u2} C _inst_1 Y) (CategoryTheory.MonoOver.category.{u2, u1} C _inst_1 Y) (CategoryTheory.MonoOver.{u1, u2} C _inst_1 X) (CategoryTheory.MonoOver.category.{u2, u1} C _inst_1 X) (CategoryTheory.Over.{u1, u2} C _inst_1 X) (CategoryTheory.Over.category.{u2, u1} C _inst_1 X) (CategoryTheory.MonoOver.lift.{u1, u1, u2, u2} C _inst_1 X C _inst_1 Y F h) (CategoryTheory.MonoOver.forget.{u1, u2} C _inst_1 X)) (CategoryTheory.Functor.comp.{u1, u1, u1, max u2 u1, max u2 u1, max u2 u1} (CategoryTheory.MonoOver.{u1, u2} C _inst_1 Y) (CategoryTheory.MonoOver.category.{u2, u1} C _inst_1 Y) (CategoryTheory.Over.{u1, u2} C _inst_1 Y) (CategoryTheory.Over.category.{u2, u1} C _inst_1 Y) (CategoryTheory.Over.{u1, u2} C _inst_1 X) (CategoryTheory.Over.category.{u2, u1} C _inst_1 X) (CategoryTheory.MonoOver.forget.{u1, u2} C _inst_1 Y) F)
+but is expected to have type
+  forall {C : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} C] {X : C} {Y : C} (F : CategoryTheory.Functor.{u1, u1, max u2 u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 Y) (CategoryTheory.instCategoryOver.{u1, u2} C _inst_1 Y) (CategoryTheory.Over.{u1, u2} C _inst_1 X) (CategoryTheory.instCategoryOver.{u1, u2} C _inst_1 X)) (h : forall (f : CategoryTheory.MonoOver.{u1, u2} C _inst_1 Y), CategoryTheory.Mono.{u1, u2} C _inst_1 (Prefunctor.obj.{succ u1, succ u1, u2, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u2, u2} C _inst_1 C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1)) (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 X) (Prefunctor.obj.{succ u1, succ u1, max u2 u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 Y) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 Y) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 Y) (CategoryTheory.instCategoryOver.{u1, u2} C _inst_1 Y))) (CategoryTheory.Over.{u1, u2} C _inst_1 X) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 X) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 X) (CategoryTheory.instCategoryOver.{u1, u2} C _inst_1 X))) (CategoryTheory.Functor.toPrefunctor.{u1, u1, max u2 u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 Y) (CategoryTheory.instCategoryOver.{u1, u2} C _inst_1 Y) (CategoryTheory.Over.{u1, u2} C _inst_1 X) (CategoryTheory.instCategoryOver.{u1, u2} C _inst_1 X) F) (Prefunctor.obj.{succ u1, succ u1, max u2 u1, max u2 u1} (CategoryTheory.MonoOver.{u1, u2} C _inst_1 Y) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u2 u1} (CategoryTheory.MonoOver.{u1, u2} C _inst_1 Y) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 u1} (CategoryTheory.MonoOver.{u1, u2} C _inst_1 Y) (CategoryTheory.instCategoryMonoOver.{u1, u2} C _inst_1 Y))) (CategoryTheory.Over.{u1, u2} C _inst_1 Y) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 Y) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 Y) (CategoryTheory.instCategoryOver.{u1, u2} C _inst_1 Y))) (CategoryTheory.Functor.toPrefunctor.{u1, u1, max u2 u1, max u2 u1} (CategoryTheory.MonoOver.{u1, u2} C _inst_1 Y) (CategoryTheory.instCategoryMonoOver.{u1, u2} C _inst_1 Y) (CategoryTheory.Over.{u1, u2} C _inst_1 Y) (CategoryTheory.instCategoryOver.{u1, u2} C _inst_1 Y) (CategoryTheory.MonoOver.forget.{u1, u2} C _inst_1 Y)) f)))) (Prefunctor.obj.{succ u1, succ u1, u1, u2} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.Category.toCategoryStruct.{u1, u1} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}))) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u2} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 X)) (CategoryTheory.Comma.right.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 X) (Prefunctor.obj.{succ u1, succ u1, max u2 u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 Y) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 Y) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 Y) (CategoryTheory.instCategoryOver.{u1, u2} C _inst_1 Y))) (CategoryTheory.Over.{u1, u2} C _inst_1 X) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 X) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 X) (CategoryTheory.instCategoryOver.{u1, u2} C _inst_1 X))) (CategoryTheory.Functor.toPrefunctor.{u1, u1, max u2 u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 Y) (CategoryTheory.instCategoryOver.{u1, u2} C _inst_1 Y) (CategoryTheory.Over.{u1, u2} C _inst_1 X) (CategoryTheory.instCategoryOver.{u1, u2} C _inst_1 X) F) (Prefunctor.obj.{succ u1, succ u1, max u2 u1, max u2 u1} (CategoryTheory.MonoOver.{u1, u2} C _inst_1 Y) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u2 u1} (CategoryTheory.MonoOver.{u1, u2} C _inst_1 Y) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 u1} (CategoryTheory.MonoOver.{u1, u2} C _inst_1 Y) (CategoryTheory.instCategoryMonoOver.{u1, u2} C _inst_1 Y))) (CategoryTheory.Over.{u1, u2} C _inst_1 Y) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 Y) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 Y) (CategoryTheory.instCategoryOver.{u1, u2} C _inst_1 Y))) (CategoryTheory.Functor.toPrefunctor.{u1, u1, max u2 u1, max u2 u1} (CategoryTheory.MonoOver.{u1, u2} C _inst_1 Y) (CategoryTheory.instCategoryMonoOver.{u1, u2} C _inst_1 Y) (CategoryTheory.Over.{u1, u2} C _inst_1 Y) (CategoryTheory.instCategoryOver.{u1, u2} C _inst_1 Y) (CategoryTheory.MonoOver.forget.{u1, u2} C _inst_1 Y)) f)))) (CategoryTheory.Comma.hom.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 X) (Prefunctor.obj.{succ u1, succ u1, max u2 u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 Y) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 Y) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 Y) (CategoryTheory.instCategoryOver.{u1, u2} C _inst_1 Y))) (CategoryTheory.Over.{u1, u2} C _inst_1 X) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 X) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 X) (CategoryTheory.instCategoryOver.{u1, u2} C _inst_1 X))) (CategoryTheory.Functor.toPrefunctor.{u1, u1, max u2 u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 Y) (CategoryTheory.instCategoryOver.{u1, u2} C _inst_1 Y) (CategoryTheory.Over.{u1, u2} C _inst_1 X) (CategoryTheory.instCategoryOver.{u1, u2} C _inst_1 X) F) (Prefunctor.obj.{succ u1, succ u1, max u2 u1, max u2 u1} (CategoryTheory.MonoOver.{u1, u2} C _inst_1 Y) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u2 u1} (CategoryTheory.MonoOver.{u1, u2} C _inst_1 Y) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 u1} (CategoryTheory.MonoOver.{u1, u2} C _inst_1 Y) (CategoryTheory.instCategoryMonoOver.{u1, u2} C _inst_1 Y))) (CategoryTheory.Over.{u1, u2} C _inst_1 Y) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 Y) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 Y) (CategoryTheory.instCategoryOver.{u1, u2} C _inst_1 Y))) (CategoryTheory.Functor.toPrefunctor.{u1, u1, max u2 u1, max u2 u1} (CategoryTheory.MonoOver.{u1, u2} C _inst_1 Y) (CategoryTheory.instCategoryMonoOver.{u1, u2} C _inst_1 Y) (CategoryTheory.Over.{u1, u2} C _inst_1 Y) (CategoryTheory.instCategoryOver.{u1, u2} C _inst_1 Y) (CategoryTheory.MonoOver.forget.{u1, u2} C _inst_1 Y)) f)))), Eq.{max (succ u2) (succ u1)} (CategoryTheory.Functor.{u1, u1, max u2 u1, max u2 u1} (CategoryTheory.MonoOver.{u1, u2} C _inst_1 Y) (CategoryTheory.instCategoryMonoOver.{u1, u2} C _inst_1 Y) (CategoryTheory.Over.{u1, u2} C _inst_1 X) (CategoryTheory.instCategoryOver.{u1, u2} C _inst_1 X)) (CategoryTheory.Functor.comp.{u1, u1, u1, max u2 u1, max u2 u1, max u2 u1} (CategoryTheory.MonoOver.{u1, u2} C _inst_1 Y) (CategoryTheory.instCategoryMonoOver.{u1, u2} C _inst_1 Y) (CategoryTheory.MonoOver.{u1, u2} C _inst_1 X) (CategoryTheory.instCategoryMonoOver.{u1, u2} C _inst_1 X) (CategoryTheory.Over.{u1, u2} C _inst_1 X) (CategoryTheory.instCategoryOver.{u1, u2} C _inst_1 X) (CategoryTheory.MonoOver.lift.{u1, u1, u2, u2} C _inst_1 X C _inst_1 Y F h) (CategoryTheory.MonoOver.forget.{u1, u2} C _inst_1 X)) (CategoryTheory.Functor.comp.{u1, u1, u1, max u2 u1, max u2 u1, max u2 u1} (CategoryTheory.MonoOver.{u1, u2} C _inst_1 Y) (CategoryTheory.instCategoryMonoOver.{u1, u2} C _inst_1 Y) (CategoryTheory.Over.{u1, u2} C _inst_1 Y) (CategoryTheory.instCategoryOver.{u1, u2} C _inst_1 Y) (CategoryTheory.Over.{u1, u2} C _inst_1 X) (CategoryTheory.instCategoryOver.{u1, u2} C _inst_1 X) (CategoryTheory.MonoOver.forget.{u1, u2} C _inst_1 Y) F)
+Case conversion may be inaccurate. Consider using '#align category_theory.mono_over.lift_comm CategoryTheory.MonoOver.lift_commₓ'. -/
 @[simp]
 theorem lift_comm (F : Over Y ⥤ Over X)
     (h : ∀ f : MonoOver Y, Mono (F.obj ((MonoOver.forget Y).obj f)).Hom) :
@@ -179,6 +265,12 @@ theorem lift_comm (F : Over Y ⥤ Over X)
   rfl
 #align category_theory.mono_over.lift_comm CategoryTheory.MonoOver.lift_comm
 
+/- warning: category_theory.mono_over.lift_obj_arrow -> CategoryTheory.MonoOver.lift_obj_arrow is a dubious translation:
+lean 3 declaration is
+  forall {C : Type.{u3}} [_inst_1 : CategoryTheory.Category.{u1, u3} C] {X : C} {D : Type.{u4}} [_inst_2 : CategoryTheory.Category.{u2, u4} D] {Y : D} (F : CategoryTheory.Functor.{u2, u1, max u4 u2, max u3 u1} (CategoryTheory.Over.{u2, u4} D _inst_2 Y) (CategoryTheory.Over.category.{u4, u2} D _inst_2 Y) (CategoryTheory.Over.{u1, u3} C _inst_1 X) (CategoryTheory.Over.category.{u3, u1} C _inst_1 X)) (h : forall (f : CategoryTheory.MonoOver.{u2, u4} D _inst_2 Y), CategoryTheory.Mono.{u1, u3} C _inst_1 (CategoryTheory.Functor.obj.{u1, u1, u3, u3} C _inst_1 C _inst_1 (CategoryTheory.Functor.id.{u1, u3} C _inst_1) (CategoryTheory.Comma.left.{u1, u1, u1, u3, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u3} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u3} C _inst_1 X) (CategoryTheory.Functor.obj.{u2, u1, max u4 u2, max u3 u1} (CategoryTheory.Over.{u2, u4} D _inst_2 Y) (CategoryTheory.Over.category.{u4, u2} D _inst_2 Y) (CategoryTheory.Over.{u1, u3} C _inst_1 X) (CategoryTheory.Over.category.{u3, u1} C _inst_1 X) F (CategoryTheory.Functor.obj.{u2, u2, max u4 u2, max u4 u2} (CategoryTheory.MonoOver.{u2, u4} D _inst_2 Y) (CategoryTheory.InducedCategory.category.{u2, max u4 u2, max u4 u2} (CategoryTheory.FullSubcategoryₓ.{u2, max u4 u2} (CategoryTheory.Over.{u2, u4} D _inst_2 Y) (CategoryTheory.Over.category.{u4, u2} D _inst_2 Y) (fun (f : CategoryTheory.Over.{u2, u4} D _inst_2 Y) => CategoryTheory.Mono.{u2, u4} D _inst_2 (CategoryTheory.Functor.obj.{u2, u2, u4, u4} D _inst_2 D _inst_2 (CategoryTheory.Functor.id.{u2, u4} D _inst_2) (CategoryTheory.Comma.left.{u2, u2, u2, u4, u2, u4} D _inst_2 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) D _inst_2 (CategoryTheory.Functor.id.{u2, u4} D _inst_2) (CategoryTheory.Functor.fromPUnit.{u2, u4} D _inst_2 Y) f)) (CategoryTheory.Functor.obj.{u2, u2, u2, u4} (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) D _inst_2 (CategoryTheory.Functor.fromPUnit.{u2, u4} D _inst_2 Y) (CategoryTheory.Comma.right.{u2, u2, u2, u4, u2, u4} D _inst_2 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) D _inst_2 (CategoryTheory.Functor.id.{u2, u4} D _inst_2) (CategoryTheory.Functor.fromPUnit.{u2, u4} D _inst_2 Y) f)) (CategoryTheory.Comma.hom.{u2, u2, u2, u4, u2, u4} D _inst_2 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) D _inst_2 (CategoryTheory.Functor.id.{u2, u4} D _inst_2) (CategoryTheory.Functor.fromPUnit.{u2, u4} D _inst_2 Y) f))) (CategoryTheory.Over.{u2, u4} D _inst_2 Y) (CategoryTheory.Over.category.{u4, u2} D _inst_2 Y) (CategoryTheory.FullSubcategoryₓ.obj.{u2, max u4 u2} (CategoryTheory.Over.{u2, u4} D _inst_2 Y) (CategoryTheory.Over.category.{u4, u2} D _inst_2 Y) (fun (f : CategoryTheory.Over.{u2, u4} D _inst_2 Y) => CategoryTheory.Mono.{u2, u4} D _inst_2 (CategoryTheory.Functor.obj.{u2, u2, u4, u4} D _inst_2 D _inst_2 (CategoryTheory.Functor.id.{u2, u4} D _inst_2) (CategoryTheory.Comma.left.{u2, u2, u2, u4, u2, u4} D _inst_2 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) D _inst_2 (CategoryTheory.Functor.id.{u2, u4} D _inst_2) (CategoryTheory.Functor.fromPUnit.{u2, u4} D _inst_2 Y) f)) (CategoryTheory.Functor.obj.{u2, u2, u2, u4} (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) D _inst_2 (CategoryTheory.Functor.fromPUnit.{u2, u4} D _inst_2 Y) (CategoryTheory.Comma.right.{u2, u2, u2, u4, u2, u4} D _inst_2 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) D _inst_2 (CategoryTheory.Functor.id.{u2, u4} D _inst_2) (CategoryTheory.Functor.fromPUnit.{u2, u4} D _inst_2 Y) f)) (CategoryTheory.Comma.hom.{u2, u2, u2, u4, u2, u4} D _inst_2 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) D _inst_2 (CategoryTheory.Functor.id.{u2, u4} D _inst_2) (CategoryTheory.Functor.fromPUnit.{u2, u4} D _inst_2 Y) f)))) (CategoryTheory.Over.{u2, u4} D _inst_2 Y) (CategoryTheory.Over.category.{u4, u2} D _inst_2 Y) (CategoryTheory.MonoOver.forget.{u2, u4} D _inst_2 Y) f)))) (CategoryTheory.Functor.obj.{u1, u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.fromPUnit.{u1, u3} C _inst_1 X) (CategoryTheory.Comma.right.{u1, u1, u1, u3, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u3} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u3} C _inst_1 X) (CategoryTheory.Functor.obj.{u2, u1, max u4 u2, max u3 u1} (CategoryTheory.Over.{u2, u4} D _inst_2 Y) (CategoryTheory.Over.category.{u4, u2} D _inst_2 Y) (CategoryTheory.Over.{u1, u3} C _inst_1 X) (CategoryTheory.Over.category.{u3, u1} C _inst_1 X) F (CategoryTheory.Functor.obj.{u2, u2, max u4 u2, max u4 u2} (CategoryTheory.MonoOver.{u2, u4} D _inst_2 Y) (CategoryTheory.InducedCategory.category.{u2, max u4 u2, max u4 u2} (CategoryTheory.FullSubcategoryₓ.{u2, max u4 u2} (CategoryTheory.Over.{u2, u4} D _inst_2 Y) (CategoryTheory.Over.category.{u4, u2} D _inst_2 Y) (fun (f : CategoryTheory.Over.{u2, u4} D _inst_2 Y) => CategoryTheory.Mono.{u2, u4} D _inst_2 (CategoryTheory.Functor.obj.{u2, u2, u4, u4} D _inst_2 D _inst_2 (CategoryTheory.Functor.id.{u2, u4} D _inst_2) (CategoryTheory.Comma.left.{u2, u2, u2, u4, u2, u4} D _inst_2 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) D _inst_2 (CategoryTheory.Functor.id.{u2, u4} D _inst_2) (CategoryTheory.Functor.fromPUnit.{u2, u4} D _inst_2 Y) f)) (CategoryTheory.Functor.obj.{u2, u2, u2, u4} (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) D _inst_2 (CategoryTheory.Functor.fromPUnit.{u2, u4} D _inst_2 Y) (CategoryTheory.Comma.right.{u2, u2, u2, u4, u2, u4} D _inst_2 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) D _inst_2 (CategoryTheory.Functor.id.{u2, u4} D _inst_2) (CategoryTheory.Functor.fromPUnit.{u2, u4} D _inst_2 Y) f)) (CategoryTheory.Comma.hom.{u2, u2, u2, u4, u2, u4} D _inst_2 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) D _inst_2 (CategoryTheory.Functor.id.{u2, u4} D _inst_2) (CategoryTheory.Functor.fromPUnit.{u2, u4} D _inst_2 Y) f))) (CategoryTheory.Over.{u2, u4} D _inst_2 Y) (CategoryTheory.Over.category.{u4, u2} D _inst_2 Y) (CategoryTheory.FullSubcategoryₓ.obj.{u2, max u4 u2} (CategoryTheory.Over.{u2, u4} D _inst_2 Y) (CategoryTheory.Over.category.{u4, u2} D _inst_2 Y) (fun (f : CategoryTheory.Over.{u2, u4} D _inst_2 Y) => CategoryTheory.Mono.{u2, u4} D _inst_2 (CategoryTheory.Functor.obj.{u2, u2, u4, u4} D _inst_2 D _inst_2 (CategoryTheory.Functor.id.{u2, u4} D _inst_2) (CategoryTheory.Comma.left.{u2, u2, u2, u4, u2, u4} D _inst_2 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) D _inst_2 (CategoryTheory.Functor.id.{u2, u4} D _inst_2) (CategoryTheory.Functor.fromPUnit.{u2, u4} D _inst_2 Y) f)) (CategoryTheory.Functor.obj.{u2, u2, u2, u4} (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) D _inst_2 (CategoryTheory.Functor.fromPUnit.{u2, u4} D _inst_2 Y) (CategoryTheory.Comma.right.{u2, u2, u2, u4, u2, u4} D _inst_2 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) D _inst_2 (CategoryTheory.Functor.id.{u2, u4} D _inst_2) (CategoryTheory.Functor.fromPUnit.{u2, u4} D _inst_2 Y) f)) (CategoryTheory.Comma.hom.{u2, u2, u2, u4, u2, u4} D _inst_2 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) D _inst_2 (CategoryTheory.Functor.id.{u2, u4} D _inst_2) (CategoryTheory.Functor.fromPUnit.{u2, u4} D _inst_2 Y) f)))) (CategoryTheory.Over.{u2, u4} D _inst_2 Y) (CategoryTheory.Over.category.{u4, u2} D _inst_2 Y) (CategoryTheory.MonoOver.forget.{u2, u4} D _inst_2 Y) f)))) (CategoryTheory.Comma.hom.{u1, u1, u1, u3, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u3} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u3} C _inst_1 X) (CategoryTheory.Functor.obj.{u2, u1, max u4 u2, max u3 u1} (CategoryTheory.Over.{u2, u4} D _inst_2 Y) (CategoryTheory.Over.category.{u4, u2} D _inst_2 Y) (CategoryTheory.Over.{u1, u3} C _inst_1 X) (CategoryTheory.Over.category.{u3, u1} C _inst_1 X) F (CategoryTheory.Functor.obj.{u2, u2, max u4 u2, max u4 u2} (CategoryTheory.MonoOver.{u2, u4} D _inst_2 Y) (CategoryTheory.InducedCategory.category.{u2, max u4 u2, max u4 u2} (CategoryTheory.FullSubcategoryₓ.{u2, max u4 u2} (CategoryTheory.Over.{u2, u4} D _inst_2 Y) (CategoryTheory.Over.category.{u4, u2} D _inst_2 Y) (fun (f : CategoryTheory.Over.{u2, u4} D _inst_2 Y) => CategoryTheory.Mono.{u2, u4} D _inst_2 (CategoryTheory.Functor.obj.{u2, u2, u4, u4} D _inst_2 D _inst_2 (CategoryTheory.Functor.id.{u2, u4} D _inst_2) (CategoryTheory.Comma.left.{u2, u2, u2, u4, u2, u4} D _inst_2 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) D _inst_2 (CategoryTheory.Functor.id.{u2, u4} D _inst_2) (CategoryTheory.Functor.fromPUnit.{u2, u4} D _inst_2 Y) f)) (CategoryTheory.Functor.obj.{u2, u2, u2, u4} (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) D _inst_2 (CategoryTheory.Functor.fromPUnit.{u2, u4} D _inst_2 Y) (CategoryTheory.Comma.right.{u2, u2, u2, u4, u2, u4} D _inst_2 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) D _inst_2 (CategoryTheory.Functor.id.{u2, u4} D _inst_2) (CategoryTheory.Functor.fromPUnit.{u2, u4} D _inst_2 Y) f)) (CategoryTheory.Comma.hom.{u2, u2, u2, u4, u2, u4} D _inst_2 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) D _inst_2 (CategoryTheory.Functor.id.{u2, u4} D _inst_2) (CategoryTheory.Functor.fromPUnit.{u2, u4} D _inst_2 Y) f))) (CategoryTheory.Over.{u2, u4} D _inst_2 Y) (CategoryTheory.Over.category.{u4, u2} D _inst_2 Y) (CategoryTheory.FullSubcategoryₓ.obj.{u2, max u4 u2} (CategoryTheory.Over.{u2, u4} D _inst_2 Y) (CategoryTheory.Over.category.{u4, u2} D _inst_2 Y) (fun (f : CategoryTheory.Over.{u2, u4} D _inst_2 Y) => CategoryTheory.Mono.{u2, u4} D _inst_2 (CategoryTheory.Functor.obj.{u2, u2, u4, u4} D _inst_2 D _inst_2 (CategoryTheory.Functor.id.{u2, u4} D _inst_2) (CategoryTheory.Comma.left.{u2, u2, u2, u4, u2, u4} D _inst_2 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) D _inst_2 (CategoryTheory.Functor.id.{u2, u4} D _inst_2) (CategoryTheory.Functor.fromPUnit.{u2, u4} D _inst_2 Y) f)) (CategoryTheory.Functor.obj.{u2, u2, u2, u4} (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) D _inst_2 (CategoryTheory.Functor.fromPUnit.{u2, u4} D _inst_2 Y) (CategoryTheory.Comma.right.{u2, u2, u2, u4, u2, u4} D _inst_2 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) D _inst_2 (CategoryTheory.Functor.id.{u2, u4} D _inst_2) (CategoryTheory.Functor.fromPUnit.{u2, u4} D _inst_2 Y) f)) (CategoryTheory.Comma.hom.{u2, u2, u2, u4, u2, u4} D _inst_2 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) D _inst_2 (CategoryTheory.Functor.id.{u2, u4} D _inst_2) (CategoryTheory.Functor.fromPUnit.{u2, u4} D _inst_2 Y) f)))) (CategoryTheory.Over.{u2, u4} D _inst_2 Y) (CategoryTheory.Over.category.{u4, u2} D _inst_2 Y) (CategoryTheory.MonoOver.forget.{u2, u4} D _inst_2 Y) f)))) (f : CategoryTheory.MonoOver.{u2, u4} D _inst_2 Y), Eq.{succ u1} (Quiver.Hom.{succ u1, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} C (CategoryTheory.Category.toCategoryStruct.{u1, u3} C _inst_1)) ((fun (a : Type.{max u3 u1}) (b : Type.{u3}) [self : HasLiftT.{succ (max u3 u1), succ u3} a b] => self.0) (CategoryTheory.MonoOver.{u1, u3} C _inst_1 X) C (HasLiftT.mk.{succ (max u3 u1), succ u3} (CategoryTheory.MonoOver.{u1, u3} C _inst_1 X) C (CoeTCₓ.coe.{succ (max u3 u1), succ u3} (CategoryTheory.MonoOver.{u1, u3} C _inst_1 X) C (coeBase.{succ (max u3 u1), succ u3} (CategoryTheory.MonoOver.{u1, u3} C _inst_1 X) C (CategoryTheory.MonoOver.hasCoe.{u1, u3} C _inst_1 X)))) (CategoryTheory.Functor.obj.{u2, u1, max u4 u2, max u3 u1} (CategoryTheory.MonoOver.{u2, u4} D _inst_2 Y) (CategoryTheory.MonoOver.category.{u4, u2} D _inst_2 Y) (CategoryTheory.MonoOver.{u1, u3} C _inst_1 X) (CategoryTheory.MonoOver.category.{u3, u1} C _inst_1 X) (CategoryTheory.MonoOver.lift.{u1, u2, u3, u4} C _inst_1 X D _inst_2 Y F h) f)) X) (CategoryTheory.MonoOver.arrow.{u1, u3} C _inst_1 X (CategoryTheory.Functor.obj.{u2, u1, max u4 u2, max u3 u1} (CategoryTheory.MonoOver.{u2, u4} D _inst_2 Y) (CategoryTheory.MonoOver.category.{u4, u2} D _inst_2 Y) (CategoryTheory.MonoOver.{u1, u3} C _inst_1 X) (CategoryTheory.MonoOver.category.{u3, u1} C _inst_1 X) (CategoryTheory.MonoOver.lift.{u1, u2, u3, u4} C _inst_1 X D _inst_2 Y F h) f)) (CategoryTheory.Comma.hom.{u1, u1, u1, u3, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u3} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u3} C _inst_1 X) (CategoryTheory.Functor.obj.{u2, u1, max u4 u2, max u3 u1} (CategoryTheory.Over.{u2, u4} D _inst_2 Y) (CategoryTheory.Over.category.{u4, u2} D _inst_2 Y) (CategoryTheory.Over.{u1, u3} C _inst_1 X) (CategoryTheory.Over.category.{u3, u1} C _inst_1 X) F (CategoryTheory.Functor.obj.{u2, u2, max u4 u2, max u4 u2} (CategoryTheory.MonoOver.{u2, u4} D _inst_2 Y) (CategoryTheory.InducedCategory.category.{u2, max u4 u2, max u4 u2} (CategoryTheory.FullSubcategoryₓ.{u2, max u4 u2} (CategoryTheory.Over.{u2, u4} D _inst_2 Y) (CategoryTheory.Over.category.{u4, u2} D _inst_2 Y) (fun (f : CategoryTheory.Over.{u2, u4} D _inst_2 Y) => CategoryTheory.Mono.{u2, u4} D _inst_2 (CategoryTheory.Functor.obj.{u2, u2, u4, u4} D _inst_2 D _inst_2 (CategoryTheory.Functor.id.{u2, u4} D _inst_2) (CategoryTheory.Comma.left.{u2, u2, u2, u4, u2, u4} D _inst_2 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) D _inst_2 (CategoryTheory.Functor.id.{u2, u4} D _inst_2) (CategoryTheory.Functor.fromPUnit.{u2, u4} D _inst_2 Y) f)) (CategoryTheory.Functor.obj.{u2, u2, u2, u4} (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) D _inst_2 (CategoryTheory.Functor.fromPUnit.{u2, u4} D _inst_2 Y) (CategoryTheory.Comma.right.{u2, u2, u2, u4, u2, u4} D _inst_2 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) D _inst_2 (CategoryTheory.Functor.id.{u2, u4} D _inst_2) (CategoryTheory.Functor.fromPUnit.{u2, u4} D _inst_2 Y) f)) (CategoryTheory.Comma.hom.{u2, u2, u2, u4, u2, u4} D _inst_2 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) D _inst_2 (CategoryTheory.Functor.id.{u2, u4} D _inst_2) (CategoryTheory.Functor.fromPUnit.{u2, u4} D _inst_2 Y) f))) (CategoryTheory.Over.{u2, u4} D _inst_2 Y) (CategoryTheory.Over.category.{u4, u2} D _inst_2 Y) (CategoryTheory.FullSubcategoryₓ.obj.{u2, max u4 u2} (CategoryTheory.Over.{u2, u4} D _inst_2 Y) (CategoryTheory.Over.category.{u4, u2} D _inst_2 Y) (fun (f : CategoryTheory.Over.{u2, u4} D _inst_2 Y) => CategoryTheory.Mono.{u2, u4} D _inst_2 (CategoryTheory.Functor.obj.{u2, u2, u4, u4} D _inst_2 D _inst_2 (CategoryTheory.Functor.id.{u2, u4} D _inst_2) (CategoryTheory.Comma.left.{u2, u2, u2, u4, u2, u4} D _inst_2 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) D _inst_2 (CategoryTheory.Functor.id.{u2, u4} D _inst_2) (CategoryTheory.Functor.fromPUnit.{u2, u4} D _inst_2 Y) f)) (CategoryTheory.Functor.obj.{u2, u2, u2, u4} (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) D _inst_2 (CategoryTheory.Functor.fromPUnit.{u2, u4} D _inst_2 Y) (CategoryTheory.Comma.right.{u2, u2, u2, u4, u2, u4} D _inst_2 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) D _inst_2 (CategoryTheory.Functor.id.{u2, u4} D _inst_2) (CategoryTheory.Functor.fromPUnit.{u2, u4} D _inst_2 Y) f)) (CategoryTheory.Comma.hom.{u2, u2, u2, u4, u2, u4} D _inst_2 (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) D _inst_2 (CategoryTheory.Functor.id.{u2, u4} D _inst_2) (CategoryTheory.Functor.fromPUnit.{u2, u4} D _inst_2 Y) f)))) (CategoryTheory.Over.{u2, u4} D _inst_2 Y) (CategoryTheory.Over.category.{u4, u2} D _inst_2 Y) (CategoryTheory.MonoOver.forget.{u2, u4} D _inst_2 Y) f)))
+but is expected to have type
+  forall {C : Type.{u3}} [_inst_1 : CategoryTheory.Category.{u1, u3} C] {X : C} {D : Type.{u4}} [_inst_2 : CategoryTheory.Category.{u2, u4} D] {Y : D} (F : CategoryTheory.Functor.{u2, u1, max u4 u2, max u3 u1} (CategoryTheory.Over.{u2, u4} D _inst_2 Y) (CategoryTheory.instCategoryOver.{u2, u4} D _inst_2 Y) (CategoryTheory.Over.{u1, u3} C _inst_1 X) (CategoryTheory.instCategoryOver.{u1, u3} C _inst_1 X)) (h : forall (f : CategoryTheory.MonoOver.{u2, u4} D _inst_2 Y), CategoryTheory.Mono.{u1, u3} C _inst_1 (Prefunctor.obj.{succ u1, succ u1, u3, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} C (CategoryTheory.Category.toCategoryStruct.{u1, u3} C _inst_1)) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} C (CategoryTheory.Category.toCategoryStruct.{u1, u3} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u3, u3} C _inst_1 C _inst_1 (CategoryTheory.Functor.id.{u1, u3} C _inst_1)) (CategoryTheory.Comma.left.{u1, u1, u1, u3, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u3} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u3} C _inst_1 X) (Prefunctor.obj.{succ u2, succ u1, max u4 u2, max u3 u1} (CategoryTheory.Over.{u2, u4} D _inst_2 Y) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u4 u2} (CategoryTheory.Over.{u2, u4} D _inst_2 Y) (CategoryTheory.Category.toCategoryStruct.{u2, max u4 u2} (CategoryTheory.Over.{u2, u4} D _inst_2 Y) (CategoryTheory.instCategoryOver.{u2, u4} D _inst_2 Y))) (CategoryTheory.Over.{u1, u3} C _inst_1 X) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u3 u1} (CategoryTheory.Over.{u1, u3} C _inst_1 X) (CategoryTheory.Category.toCategoryStruct.{u1, max u3 u1} (CategoryTheory.Over.{u1, u3} C _inst_1 X) (CategoryTheory.instCategoryOver.{u1, u3} C _inst_1 X))) (CategoryTheory.Functor.toPrefunctor.{u2, u1, max u4 u2, max u3 u1} (CategoryTheory.Over.{u2, u4} D _inst_2 Y) (CategoryTheory.instCategoryOver.{u2, u4} D _inst_2 Y) (CategoryTheory.Over.{u1, u3} C _inst_1 X) (CategoryTheory.instCategoryOver.{u1, u3} C _inst_1 X) F) (Prefunctor.obj.{succ u2, succ u2, max u4 u2, max u4 u2} (CategoryTheory.MonoOver.{u2, u4} D _inst_2 Y) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u4 u2} (CategoryTheory.MonoOver.{u2, u4} D _inst_2 Y) (CategoryTheory.Category.toCategoryStruct.{u2, max u4 u2} (CategoryTheory.MonoOver.{u2, u4} D _inst_2 Y) (CategoryTheory.instCategoryMonoOver.{u2, u4} D _inst_2 Y))) (CategoryTheory.Over.{u2, u4} D _inst_2 Y) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u4 u2} (CategoryTheory.Over.{u2, u4} D _inst_2 Y) (CategoryTheory.Category.toCategoryStruct.{u2, max u4 u2} (CategoryTheory.Over.{u2, u4} D _inst_2 Y) (CategoryTheory.instCategoryOver.{u2, u4} D _inst_2 Y))) (CategoryTheory.Functor.toPrefunctor.{u2, u2, max u4 u2, max u4 u2} (CategoryTheory.MonoOver.{u2, u4} D _inst_2 Y) (CategoryTheory.instCategoryMonoOver.{u2, u4} D _inst_2 Y) (CategoryTheory.Over.{u2, u4} D _inst_2 Y) (CategoryTheory.instCategoryOver.{u2, u4} D _inst_2 Y) (CategoryTheory.MonoOver.forget.{u2, u4} D _inst_2 Y)) f)))) (Prefunctor.obj.{succ u1, succ u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.Category.toCategoryStruct.{u1, u1} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}))) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} C (CategoryTheory.Category.toCategoryStruct.{u1, u3} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.fromPUnit.{u1, u3} C _inst_1 X)) (CategoryTheory.Comma.right.{u1, u1, u1, u3, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u3} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u3} C _inst_1 X) (Prefunctor.obj.{succ u2, succ u1, max u4 u2, max u3 u1} (CategoryTheory.Over.{u2, u4} D _inst_2 Y) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u4 u2} (CategoryTheory.Over.{u2, u4} D _inst_2 Y) (CategoryTheory.Category.toCategoryStruct.{u2, max u4 u2} (CategoryTheory.Over.{u2, u4} D _inst_2 Y) (CategoryTheory.instCategoryOver.{u2, u4} D _inst_2 Y))) (CategoryTheory.Over.{u1, u3} C _inst_1 X) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u3 u1} (CategoryTheory.Over.{u1, u3} C _inst_1 X) (CategoryTheory.Category.toCategoryStruct.{u1, max u3 u1} (CategoryTheory.Over.{u1, u3} C _inst_1 X) (CategoryTheory.instCategoryOver.{u1, u3} C _inst_1 X))) (CategoryTheory.Functor.toPrefunctor.{u2, u1, max u4 u2, max u3 u1} (CategoryTheory.Over.{u2, u4} D _inst_2 Y) (CategoryTheory.instCategoryOver.{u2, u4} D _inst_2 Y) (CategoryTheory.Over.{u1, u3} C _inst_1 X) (CategoryTheory.instCategoryOver.{u1, u3} C _inst_1 X) F) (Prefunctor.obj.{succ u2, succ u2, max u4 u2, max u4 u2} (CategoryTheory.MonoOver.{u2, u4} D _inst_2 Y) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u4 u2} (CategoryTheory.MonoOver.{u2, u4} D _inst_2 Y) (CategoryTheory.Category.toCategoryStruct.{u2, max u4 u2} (CategoryTheory.MonoOver.{u2, u4} D _inst_2 Y) (CategoryTheory.instCategoryMonoOver.{u2, u4} D _inst_2 Y))) (CategoryTheory.Over.{u2, u4} D _inst_2 Y) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u4 u2} (CategoryTheory.Over.{u2, u4} D _inst_2 Y) (CategoryTheory.Category.toCategoryStruct.{u2, max u4 u2} (CategoryTheory.Over.{u2, u4} D _inst_2 Y) (CategoryTheory.instCategoryOver.{u2, u4} D _inst_2 Y))) (CategoryTheory.Functor.toPrefunctor.{u2, u2, max u4 u2, max u4 u2} (CategoryTheory.MonoOver.{u2, u4} D _inst_2 Y) (CategoryTheory.instCategoryMonoOver.{u2, u4} D _inst_2 Y) (CategoryTheory.Over.{u2, u4} D _inst_2 Y) (CategoryTheory.instCategoryOver.{u2, u4} D _inst_2 Y) (CategoryTheory.MonoOver.forget.{u2, u4} D _inst_2 Y)) f)))) (CategoryTheory.Comma.hom.{u1, u1, u1, u3, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u3} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u3} C _inst_1 X) (Prefunctor.obj.{succ u2, succ u1, max u4 u2, max u3 u1} (CategoryTheory.Over.{u2, u4} D _inst_2 Y) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u4 u2} (CategoryTheory.Over.{u2, u4} D _inst_2 Y) (CategoryTheory.Category.toCategoryStruct.{u2, max u4 u2} (CategoryTheory.Over.{u2, u4} D _inst_2 Y) (CategoryTheory.instCategoryOver.{u2, u4} D _inst_2 Y))) (CategoryTheory.Over.{u1, u3} C _inst_1 X) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u3 u1} (CategoryTheory.Over.{u1, u3} C _inst_1 X) (CategoryTheory.Category.toCategoryStruct.{u1, max u3 u1} (CategoryTheory.Over.{u1, u3} C _inst_1 X) (CategoryTheory.instCategoryOver.{u1, u3} C _inst_1 X))) (CategoryTheory.Functor.toPrefunctor.{u2, u1, max u4 u2, max u3 u1} (CategoryTheory.Over.{u2, u4} D _inst_2 Y) (CategoryTheory.instCategoryOver.{u2, u4} D _inst_2 Y) (CategoryTheory.Over.{u1, u3} C _inst_1 X) (CategoryTheory.instCategoryOver.{u1, u3} C _inst_1 X) F) (Prefunctor.obj.{succ u2, succ u2, max u4 u2, max u4 u2} (CategoryTheory.MonoOver.{u2, u4} D _inst_2 Y) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u4 u2} (CategoryTheory.MonoOver.{u2, u4} D _inst_2 Y) (CategoryTheory.Category.toCategoryStruct.{u2, max u4 u2} (CategoryTheory.MonoOver.{u2, u4} D _inst_2 Y) (CategoryTheory.instCategoryMonoOver.{u2, u4} D _inst_2 Y))) (CategoryTheory.Over.{u2, u4} D _inst_2 Y) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u4 u2} (CategoryTheory.Over.{u2, u4} D _inst_2 Y) (CategoryTheory.Category.toCategoryStruct.{u2, max u4 u2} (CategoryTheory.Over.{u2, u4} D _inst_2 Y) (CategoryTheory.instCategoryOver.{u2, u4} D _inst_2 Y))) (CategoryTheory.Functor.toPrefunctor.{u2, u2, max u4 u2, max u4 u2} (CategoryTheory.MonoOver.{u2, u4} D _inst_2 Y) (CategoryTheory.instCategoryMonoOver.{u2, u4} D _inst_2 Y) (CategoryTheory.Over.{u2, u4} D _inst_2 Y) (CategoryTheory.instCategoryOver.{u2, u4} D _inst_2 Y) (CategoryTheory.MonoOver.forget.{u2, u4} D _inst_2 Y)) f)))) (f : CategoryTheory.MonoOver.{u2, u4} D _inst_2 Y), Eq.{succ u1} (Quiver.Hom.{succ u1, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} C (CategoryTheory.Category.toCategoryStruct.{u1, u3} C _inst_1)) (CategoryTheory.Comma.left.{u1, u1, u1, u3, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u3} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u3} C _inst_1 X) (CategoryTheory.FullSubcategory.obj.{max u3 u1} (CategoryTheory.Over.{u1, u3} C _inst_1 X) (fun (f : CategoryTheory.Over.{u1, u3} C _inst_1 X) => CategoryTheory.Mono.{u1, u3} C _inst_1 (Prefunctor.obj.{succ u1, succ u1, u3, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} C (CategoryTheory.Category.toCategoryStruct.{u1, u3} C _inst_1)) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} C (CategoryTheory.Category.toCategoryStruct.{u1, u3} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u3, u3} C _inst_1 C _inst_1 (CategoryTheory.Functor.id.{u1, u3} C _inst_1)) (CategoryTheory.Comma.left.{u1, u1, u1, u3, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u3} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u3} C _inst_1 X) f)) (Prefunctor.obj.{succ u1, succ u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.Category.toCategoryStruct.{u1, u1} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}))) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} C (CategoryTheory.Category.toCategoryStruct.{u1, u3} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.fromPUnit.{u1, u3} C _inst_1 X)) (CategoryTheory.Comma.right.{u1, u1, u1, u3, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u3} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u3} C _inst_1 X) f)) (CategoryTheory.Comma.hom.{u1, u1, u1, u3, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u3} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u3} C _inst_1 X) f)) (Prefunctor.obj.{succ u2, succ u1, max u4 u2, max u3 u1} (CategoryTheory.MonoOver.{u2, u4} D _inst_2 Y) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u4 u2} (CategoryTheory.MonoOver.{u2, u4} D _inst_2 Y) (CategoryTheory.Category.toCategoryStruct.{u2, max u4 u2} (CategoryTheory.MonoOver.{u2, u4} D _inst_2 Y) (CategoryTheory.instCategoryMonoOver.{u2, u4} D _inst_2 Y))) (CategoryTheory.MonoOver.{u1, u3} C _inst_1 X) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u3 u1} (CategoryTheory.MonoOver.{u1, u3} C _inst_1 X) (CategoryTheory.Category.toCategoryStruct.{u1, max u3 u1} (CategoryTheory.MonoOver.{u1, u3} C _inst_1 X) (CategoryTheory.instCategoryMonoOver.{u1, u3} C _inst_1 X))) (CategoryTheory.Functor.toPrefunctor.{u2, u1, max u4 u2, max u3 u1} (CategoryTheory.MonoOver.{u2, u4} D _inst_2 Y) (CategoryTheory.instCategoryMonoOver.{u2, u4} D _inst_2 Y) (CategoryTheory.MonoOver.{u1, u3} C _inst_1 X) (CategoryTheory.instCategoryMonoOver.{u1, u3} C _inst_1 X) (CategoryTheory.MonoOver.lift.{u1, u2, u3, u4} C _inst_1 X D _inst_2 Y F h)) f))) X) (CategoryTheory.MonoOver.arrow.{u1, u3} C _inst_1 X (Prefunctor.obj.{succ u2, succ u1, max u4 u2, max u3 u1} (CategoryTheory.MonoOver.{u2, u4} D _inst_2 Y) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u4 u2} (CategoryTheory.MonoOver.{u2, u4} D _inst_2 Y) (CategoryTheory.Category.toCategoryStruct.{u2, max u4 u2} (CategoryTheory.MonoOver.{u2, u4} D _inst_2 Y) (CategoryTheory.instCategoryMonoOver.{u2, u4} D _inst_2 Y))) (CategoryTheory.MonoOver.{u1, u3} C _inst_1 X) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u3 u1} (CategoryTheory.MonoOver.{u1, u3} C _inst_1 X) (CategoryTheory.Category.toCategoryStruct.{u1, max u3 u1} (CategoryTheory.MonoOver.{u1, u3} C _inst_1 X) (CategoryTheory.instCategoryMonoOver.{u1, u3} C _inst_1 X))) (CategoryTheory.Functor.toPrefunctor.{u2, u1, max u4 u2, max u3 u1} (CategoryTheory.MonoOver.{u2, u4} D _inst_2 Y) (CategoryTheory.instCategoryMonoOver.{u2, u4} D _inst_2 Y) (CategoryTheory.MonoOver.{u1, u3} C _inst_1 X) (CategoryTheory.instCategoryMonoOver.{u1, u3} C _inst_1 X) (CategoryTheory.MonoOver.lift.{u1, u2, u3, u4} C _inst_1 X D _inst_2 Y F h)) f)) (CategoryTheory.Comma.hom.{u1, u1, u1, u3, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u3} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u3} C _inst_1 X) (Prefunctor.obj.{succ u2, succ u1, max u4 u2, max u3 u1} (CategoryTheory.Over.{u2, u4} D _inst_2 Y) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u4 u2} (CategoryTheory.Over.{u2, u4} D _inst_2 Y) (CategoryTheory.Category.toCategoryStruct.{u2, max u4 u2} (CategoryTheory.Over.{u2, u4} D _inst_2 Y) (CategoryTheory.instCategoryOver.{u2, u4} D _inst_2 Y))) (CategoryTheory.Over.{u1, u3} C _inst_1 X) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u3 u1} (CategoryTheory.Over.{u1, u3} C _inst_1 X) (CategoryTheory.Category.toCategoryStruct.{u1, max u3 u1} (CategoryTheory.Over.{u1, u3} C _inst_1 X) (CategoryTheory.instCategoryOver.{u1, u3} C _inst_1 X))) (CategoryTheory.Functor.toPrefunctor.{u2, u1, max u4 u2, max u3 u1} (CategoryTheory.Over.{u2, u4} D _inst_2 Y) (CategoryTheory.instCategoryOver.{u2, u4} D _inst_2 Y) (CategoryTheory.Over.{u1, u3} C _inst_1 X) (CategoryTheory.instCategoryOver.{u1, u3} C _inst_1 X) F) (Prefunctor.obj.{succ u2, succ u2, max u4 u2, max u4 u2} (CategoryTheory.MonoOver.{u2, u4} D _inst_2 Y) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u4 u2} (CategoryTheory.MonoOver.{u2, u4} D _inst_2 Y) (CategoryTheory.Category.toCategoryStruct.{u2, max u4 u2} (CategoryTheory.MonoOver.{u2, u4} D _inst_2 Y) (CategoryTheory.instCategoryMonoOver.{u2, u4} D _inst_2 Y))) (CategoryTheory.Over.{u2, u4} D _inst_2 Y) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u4 u2} (CategoryTheory.Over.{u2, u4} D _inst_2 Y) (CategoryTheory.Category.toCategoryStruct.{u2, max u4 u2} (CategoryTheory.Over.{u2, u4} D _inst_2 Y) (CategoryTheory.instCategoryOver.{u2, u4} D _inst_2 Y))) (CategoryTheory.Functor.toPrefunctor.{u2, u2, max u4 u2, max u4 u2} (CategoryTheory.MonoOver.{u2, u4} D _inst_2 Y) (CategoryTheory.instCategoryMonoOver.{u2, u4} D _inst_2 Y) (CategoryTheory.Over.{u2, u4} D _inst_2 Y) (CategoryTheory.instCategoryOver.{u2, u4} D _inst_2 Y) (CategoryTheory.MonoOver.forget.{u2, u4} D _inst_2 Y)) f)))
+Case conversion may be inaccurate. Consider using '#align category_theory.mono_over.lift_obj_arrow CategoryTheory.MonoOver.lift_obj_arrowₓ'. -/
 @[simp]
 theorem lift_obj_arrow {Y : D} (F : Over Y ⥤ Over X)
     (h : ∀ f : MonoOver Y, Mono (F.obj ((MonoOver.forget Y).obj f)).Hom) (f : MonoOver Y) :
@@ -186,6 +278,12 @@ theorem lift_obj_arrow {Y : D} (F : Over Y ⥤ Over X)
   rfl
 #align category_theory.mono_over.lift_obj_arrow CategoryTheory.MonoOver.lift_obj_arrow
 
+/- warning: category_theory.mono_over.slice -> CategoryTheory.MonoOver.slice is a dubious translation:
+lean 3 declaration is
+  forall {C : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} C] {A : C} {f : CategoryTheory.Over.{u1, u2} C _inst_1 A}, (forall (f_1 : CategoryTheory.MonoOver.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.Over.category.{u2, u1} C _inst_1 A) f), CategoryTheory.Mono.{u1, u2} C _inst_1 (CategoryTheory.Functor.obj.{u1, u1, u2, u2} C _inst_1 C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 A) f)) (CategoryTheory.Functor.obj.{u1, u1, max u2 u1, max u2 u1} (CategoryTheory.Over.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.Over.category.{u2, u1} C _inst_1 A) f) (CategoryTheory.Over.category.{max u2 u1, u1} (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.Over.category.{u2, u1} C _inst_1 A) f) (CategoryTheory.Over.{u1, u2} C _inst_1 (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 A) f)) (CategoryTheory.Over.category.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 A) f)) (CategoryTheory.Equivalence.functor.{u1, u1, max u2 u1, max u2 u1} (CategoryTheory.Over.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.Over.category.{u2, u1} C _inst_1 A) f) (CategoryTheory.Over.category.{max u2 u1, u1} (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.Over.category.{u2, u1} C _inst_1 A) f) (CategoryTheory.Over.{u1, u2} C _inst_1 (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 A) f)) (CategoryTheory.Over.category.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 A) f)) (CategoryTheory.Over.iteratedSliceEquiv.{u1, u2} C _inst_1 A f)) (CategoryTheory.Functor.obj.{u1, u1, max u2 u1, max u2 u1} (CategoryTheory.MonoOver.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.Over.category.{u2, u1} C _inst_1 A) f) (CategoryTheory.InducedCategory.category.{u1, max u2 u1, max u2 u1} (CategoryTheory.FullSubcategoryₓ.{u1, max u2 u1} (CategoryTheory.Over.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.Over.category.{u2, u1} C _inst_1 A) f) (CategoryTheory.Over.category.{max u2 u1, u1} (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.Over.category.{u2, u1} C _inst_1 A) f) (fun (f_1 : CategoryTheory.Over.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.Over.category.{u2, u1} C _inst_1 A) f) => CategoryTheory.Mono.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.Over.category.{u2, u1} C _inst_1 A) (CategoryTheory.Functor.obj.{u1, u1, max u2 u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.Over.category.{u2, u1} C _inst_1 A) (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.Over.category.{u2, u1} C _inst_1 A) (CategoryTheory.Functor.id.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.Over.category.{u2, u1} C _inst_1 A)) (CategoryTheory.Comma.left.{u1, u1, u1, max u2 u1, u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.Over.category.{u2, u1} C _inst_1 A) (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.Over.category.{u2, u1} C _inst_1 A) (CategoryTheory.Functor.id.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.Over.category.{u2, u1} C _inst_1 A)) (CategoryTheory.Functor.fromPUnit.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.Over.category.{u2, u1} C _inst_1 A) f) f_1)) (CategoryTheory.Functor.obj.{u1, u1, u1, max u2 u1} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.Over.category.{u2, u1} C _inst_1 A) (CategoryTheory.Functor.fromPUnit.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.Over.category.{u2, u1} C _inst_1 A) f) (CategoryTheory.Comma.right.{u1, u1, u1, max u2 u1, u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.Over.category.{u2, u1} C _inst_1 A) (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.Over.category.{u2, u1} C _inst_1 A) (CategoryTheory.Functor.id.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.Over.category.{u2, u1} C _inst_1 A)) (CategoryTheory.Functor.fromPUnit.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.Over.category.{u2, u1} C _inst_1 A) f) f_1)) (CategoryTheory.Comma.hom.{u1, u1, u1, max u2 u1, u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.Over.category.{u2, u1} C _inst_1 A) (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.Over.category.{u2, u1} C _inst_1 A) (CategoryTheory.Functor.id.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.Over.category.{u2, u1} C _inst_1 A)) (CategoryTheory.Functor.fromPUnit.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.Over.category.{u2, u1} C _inst_1 A) f) f_1))) (CategoryTheory.Over.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.Over.category.{u2, u1} C _inst_1 A) f) (CategoryTheory.Over.category.{max u2 u1, u1} (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.Over.category.{u2, u1} C _inst_1 A) f) (CategoryTheory.FullSubcategoryₓ.obj.{u1, max u2 u1} (CategoryTheory.Over.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.Over.category.{u2, u1} C _inst_1 A) f) (CategoryTheory.Over.category.{max u2 u1, u1} (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.Over.category.{u2, u1} C _inst_1 A) f) (fun (f_1 : CategoryTheory.Over.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.Over.category.{u2, u1} C _inst_1 A) f) => CategoryTheory.Mono.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.Over.category.{u2, u1} C _inst_1 A) (CategoryTheory.Functor.obj.{u1, u1, max u2 u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.Over.category.{u2, u1} C _inst_1 A) (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.Over.category.{u2, u1} C _inst_1 A) (CategoryTheory.Functor.id.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.Over.category.{u2, u1} C _inst_1 A)) (CategoryTheory.Comma.left.{u1, u1, u1, max u2 u1, u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.Over.category.{u2, u1} C _inst_1 A) (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.Over.category.{u2, u1} C _inst_1 A) (CategoryTheory.Functor.id.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.Over.category.{u2, u1} C _inst_1 A)) (CategoryTheory.Functor.fromPUnit.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.Over.category.{u2, u1} C _inst_1 A) f) f_1)) (CategoryTheory.Functor.obj.{u1, u1, u1, max u2 u1} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.Over.category.{u2, u1} C _inst_1 A) (CategoryTheory.Functor.fromPUnit.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.Over.category.{u2, u1} C _inst_1 A) f) (CategoryTheory.Comma.right.{u1, u1, u1, max u2 u1, u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.Over.category.{u2, u1} C _inst_1 A) (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.Over.category.{u2, u1} C _inst_1 A) (CategoryTheory.Functor.id.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.Over.category.{u2, u1} C _inst_1 A)) (CategoryTheory.Functor.fromPUnit.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.Over.category.{u2, u1} C _inst_1 A) f) f_1)) (CategoryTheory.Comma.hom.{u1, u1, u1, max u2 u1, u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.Over.category.{u2, u1} C _inst_1 A) (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.Over.category.{u2, u1} C _inst_1 A) (CategoryTheory.Functor.id.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.Over.category.{u2, u1} C _inst_1 A)) (CategoryTheory.Functor.fromPUnit.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.Over.category.{u2, u1} C _inst_1 A) f) f_1)))) (CategoryTheory.Over.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.Over.category.{u2, u1} C _inst_1 A) f) (CategoryTheory.Over.category.{max u2 u1, u1} (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.Over.category.{u2, u1} C _inst_1 A) f) (CategoryTheory.MonoOver.forget.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.Over.category.{u2, u1} C _inst_1 A) f) f_1)))) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 A) f)) (CategoryTheory.Comma.right.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 A) f)) (CategoryTheory.Functor.obj.{u1, u1, max u2 u1, max u2 u1} (CategoryTheory.Over.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.Over.category.{u2, u1} C _inst_1 A) f) (CategoryTheory.Over.category.{max u2 u1, u1} (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.Over.category.{u2, u1} C _inst_1 A) f) (CategoryTheory.Over.{u1, u2} C _inst_1 (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 A) f)) (CategoryTheory.Over.category.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 A) f)) (CategoryTheory.Equivalence.functor.{u1, u1, max u2 u1, max u2 u1} (CategoryTheory.Over.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.Over.category.{u2, u1} C _inst_1 A) f) (CategoryTheory.Over.category.{max u2 u1, u1} (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.Over.category.{u2, u1} C _inst_1 A) f) (CategoryTheory.Over.{u1, u2} C _inst_1 (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 A) f)) (CategoryTheory.Over.category.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 A) f)) (CategoryTheory.Over.iteratedSliceEquiv.{u1, u2} C _inst_1 A f)) (CategoryTheory.Functor.obj.{u1, u1, max u2 u1, max u2 u1} (CategoryTheory.MonoOver.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.Over.category.{u2, u1} C _inst_1 A) f) (CategoryTheory.InducedCategory.category.{u1, max u2 u1, max u2 u1} (CategoryTheory.FullSubcategoryₓ.{u1, max u2 u1} (CategoryTheory.Over.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.Over.category.{u2, u1} C _inst_1 A) f) (CategoryTheory.Over.category.{max u2 u1, u1} (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.Over.category.{u2, u1} C _inst_1 A) f) (fun (f_1 : CategoryTheory.Over.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.Over.category.{u2, u1} C _inst_1 A) f) => CategoryTheory.Mono.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.Over.category.{u2, u1} C _inst_1 A) (CategoryTheory.Functor.obj.{u1, u1, max u2 u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.Over.category.{u2, u1} C _inst_1 A) (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.Over.category.{u2, u1} C _inst_1 A) (CategoryTheory.Functor.id.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.Over.category.{u2, u1} C _inst_1 A)) (CategoryTheory.Comma.left.{u1, u1, u1, max u2 u1, u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.Over.category.{u2, u1} C _inst_1 A) (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.Over.category.{u2, u1} C _inst_1 A) (CategoryTheory.Functor.id.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.Over.category.{u2, u1} C _inst_1 A)) (CategoryTheory.Functor.fromPUnit.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.Over.category.{u2, u1} C _inst_1 A) f) f_1)) (CategoryTheory.Functor.obj.{u1, u1, u1, max u2 u1} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.Over.category.{u2, u1} C _inst_1 A) (CategoryTheory.Functor.fromPUnit.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.Over.category.{u2, u1} C _inst_1 A) f) (CategoryTheory.Comma.right.{u1, u1, u1, max u2 u1, u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.Over.category.{u2, u1} C _inst_1 A) (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.Over.category.{u2, u1} C _inst_1 A) (CategoryTheory.Functor.id.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.Over.category.{u2, u1} C _inst_1 A)) (CategoryTheory.Functor.fromPUnit.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.Over.category.{u2, u1} C _inst_1 A) f) f_1)) (CategoryTheory.Comma.hom.{u1, u1, u1, max u2 u1, u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.Over.category.{u2, u1} C _inst_1 A) (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.Over.category.{u2, u1} C _inst_1 A) (CategoryTheory.Functor.id.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.Over.category.{u2, u1} C _inst_1 A)) (CategoryTheory.Functor.fromPUnit.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.Over.category.{u2, u1} C _inst_1 A) f) f_1))) (CategoryTheory.Over.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.Over.category.{u2, u1} C _inst_1 A) f) (CategoryTheory.Over.category.{max u2 u1, u1} (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.Over.category.{u2, u1} C _inst_1 A) f) (CategoryTheory.FullSubcategoryₓ.obj.{u1, max u2 u1} (CategoryTheory.Over.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.Over.category.{u2, u1} C _inst_1 A) f) (CategoryTheory.Over.category.{max u2 u1, u1} (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.Over.category.{u2, u1} C _inst_1 A) f) (fun (f_1 : CategoryTheory.Over.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.Over.category.{u2, u1} C _inst_1 A) f) => CategoryTheory.Mono.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.Over.category.{u2, u1} C _inst_1 A) (CategoryTheory.Functor.obj.{u1, u1, max u2 u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.Over.category.{u2, u1} C _inst_1 A) (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.Over.category.{u2, u1} C _inst_1 A) (CategoryTheory.Functor.id.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.Over.category.{u2, u1} C _inst_1 A)) (CategoryTheory.Comma.left.{u1, u1, u1, max u2 u1, u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.Over.category.{u2, u1} C _inst_1 A) (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.Over.category.{u2, u1} C _inst_1 A) (CategoryTheory.Functor.id.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.Over.category.{u2, u1} C _inst_1 A)) (CategoryTheory.Functor.fromPUnit.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.Over.category.{u2, u1} C _inst_1 A) f) f_1)) (CategoryTheory.Functor.obj.{u1, u1, u1, max u2 u1} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.Over.category.{u2, u1} C _inst_1 A) (CategoryTheory.Functor.fromPUnit.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.Over.category.{u2, u1} C _inst_1 A) f) (CategoryTheory.Comma.right.{u1, u1, u1, max u2 u1, u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.Over.category.{u2, u1} C _inst_1 A) (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.Over.category.{u2, u1} C _inst_1 A) (CategoryTheory.Functor.id.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.Over.category.{u2, u1} C _inst_1 A)) (CategoryTheory.Functor.fromPUnit.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.Over.category.{u2, u1} C _inst_1 A) f) f_1)) (CategoryTheory.Comma.hom.{u1, u1, u1, max u2 u1, u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.Over.category.{u2, u1} C _inst_1 A) (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.Over.category.{u2, u1} C _inst_1 A) (CategoryTheory.Functor.id.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.Over.category.{u2, u1} C _inst_1 A)) (CategoryTheory.Functor.fromPUnit.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.Over.category.{u2, u1} C _inst_1 A) f) f_1)))) (CategoryTheory.Over.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.Over.category.{u2, u1} C _inst_1 A) f) (CategoryTheory.Over.category.{max u2 u1, u1} (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.Over.category.{u2, u1} C _inst_1 A) f) (CategoryTheory.MonoOver.forget.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.Over.category.{u2, u1} C _inst_1 A) f) f_1)))) (CategoryTheory.Comma.hom.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 A) f)) (CategoryTheory.Functor.obj.{u1, u1, max u2 u1, max u2 u1} (CategoryTheory.Over.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.Over.category.{u2, u1} C _inst_1 A) f) (CategoryTheory.Over.category.{max u2 u1, u1} (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.Over.category.{u2, u1} C _inst_1 A) f) (CategoryTheory.Over.{u1, u2} C _inst_1 (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 A) f)) (CategoryTheory.Over.category.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 A) f)) (CategoryTheory.Equivalence.functor.{u1, u1, max u2 u1, max u2 u1} (CategoryTheory.Over.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.Over.category.{u2, u1} C _inst_1 A) f) (CategoryTheory.Over.category.{max u2 u1, u1} (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.Over.category.{u2, u1} C _inst_1 A) f) (CategoryTheory.Over.{u1, u2} C _inst_1 (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 A) f)) (CategoryTheory.Over.category.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 A) f)) (CategoryTheory.Over.iteratedSliceEquiv.{u1, u2} C _inst_1 A f)) (CategoryTheory.Functor.obj.{u1, u1, max u2 u1, max u2 u1} (CategoryTheory.MonoOver.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.Over.category.{u2, u1} C _inst_1 A) f) (CategoryTheory.InducedCategory.category.{u1, max u2 u1, max u2 u1} (CategoryTheory.FullSubcategoryₓ.{u1, max u2 u1} (CategoryTheory.Over.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.Over.category.{u2, u1} C _inst_1 A) f) (CategoryTheory.Over.category.{max u2 u1, u1} (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.Over.category.{u2, u1} C _inst_1 A) f) (fun (f_1 : CategoryTheory.Over.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.Over.category.{u2, u1} C _inst_1 A) f) => CategoryTheory.Mono.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.Over.category.{u2, u1} C _inst_1 A) (CategoryTheory.Functor.obj.{u1, u1, max u2 u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.Over.category.{u2, u1} C _inst_1 A) (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.Over.category.{u2, u1} C _inst_1 A) (CategoryTheory.Functor.id.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.Over.category.{u2, u1} C _inst_1 A)) (CategoryTheory.Comma.left.{u1, u1, u1, max u2 u1, u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.Over.category.{u2, u1} C _inst_1 A) (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.Over.category.{u2, u1} C _inst_1 A) (CategoryTheory.Functor.id.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.Over.category.{u2, u1} C _inst_1 A)) (CategoryTheory.Functor.fromPUnit.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.Over.category.{u2, u1} C _inst_1 A) f) f_1)) (CategoryTheory.Functor.obj.{u1, u1, u1, max u2 u1} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.Over.category.{u2, u1} C _inst_1 A) (CategoryTheory.Functor.fromPUnit.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.Over.category.{u2, u1} C _inst_1 A) f) (CategoryTheory.Comma.right.{u1, u1, u1, max u2 u1, u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.Over.category.{u2, u1} C _inst_1 A) (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.Over.category.{u2, u1} C _inst_1 A) (CategoryTheory.Functor.id.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.Over.category.{u2, u1} C _inst_1 A)) (CategoryTheory.Functor.fromPUnit.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.Over.category.{u2, u1} C _inst_1 A) f) f_1)) (CategoryTheory.Comma.hom.{u1, u1, u1, max u2 u1, u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.Over.category.{u2, u1} C _inst_1 A) (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.Over.category.{u2, u1} C _inst_1 A) (CategoryTheory.Functor.id.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.Over.category.{u2, u1} C _inst_1 A)) (CategoryTheory.Functor.fromPUnit.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.Over.category.{u2, u1} C _inst_1 A) f) f_1))) (CategoryTheory.Over.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.Over.category.{u2, u1} C _inst_1 A) f) (CategoryTheory.Over.category.{max u2 u1, u1} (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.Over.category.{u2, u1} C _inst_1 A) f) (CategoryTheory.FullSubcategoryₓ.obj.{u1, max u2 u1} (CategoryTheory.Over.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.Over.category.{u2, u1} C _inst_1 A) f) (CategoryTheory.Over.category.{max u2 u1, u1} (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.Over.category.{u2, u1} C _inst_1 A) f) (fun (f_1 : CategoryTheory.Over.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.Over.category.{u2, u1} C _inst_1 A) f) => CategoryTheory.Mono.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.Over.category.{u2, u1} C _inst_1 A) (CategoryTheory.Functor.obj.{u1, u1, max u2 u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.Over.category.{u2, u1} C _inst_1 A) (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.Over.category.{u2, u1} C _inst_1 A) (CategoryTheory.Functor.id.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.Over.category.{u2, u1} C _inst_1 A)) (CategoryTheory.Comma.left.{u1, u1, u1, max u2 u1, u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.Over.category.{u2, u1} C _inst_1 A) (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.Over.category.{u2, u1} C _inst_1 A) (CategoryTheory.Functor.id.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.Over.category.{u2, u1} C _inst_1 A)) (CategoryTheory.Functor.fromPUnit.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.Over.category.{u2, u1} C _inst_1 A) f) f_1)) (CategoryTheory.Functor.obj.{u1, u1, u1, max u2 u1} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.Over.category.{u2, u1} C _inst_1 A) (CategoryTheory.Functor.fromPUnit.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.Over.category.{u2, u1} C _inst_1 A) f) (CategoryTheory.Comma.right.{u1, u1, u1, max u2 u1, u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.Over.category.{u2, u1} C _inst_1 A) (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.Over.category.{u2, u1} C _inst_1 A) (CategoryTheory.Functor.id.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.Over.category.{u2, u1} C _inst_1 A)) (CategoryTheory.Functor.fromPUnit.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.Over.category.{u2, u1} C _inst_1 A) f) f_1)) (CategoryTheory.Comma.hom.{u1, u1, u1, max u2 u1, u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.Over.category.{u2, u1} C _inst_1 A) (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.Over.category.{u2, u1} C _inst_1 A) (CategoryTheory.Functor.id.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.Over.category.{u2, u1} C _inst_1 A)) (CategoryTheory.Functor.fromPUnit.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.Over.category.{u2, u1} C _inst_1 A) f) f_1)))) (CategoryTheory.Over.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.Over.category.{u2, u1} C _inst_1 A) f) (CategoryTheory.Over.category.{max u2 u1, u1} (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.Over.category.{u2, u1} C _inst_1 A) f) (CategoryTheory.MonoOver.forget.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.Over.category.{u2, u1} C _inst_1 A) f) f_1)))) -> (forall (f_1 : CategoryTheory.MonoOver.{u1, u2} C _inst_1 (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 A) f)), CategoryTheory.Mono.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.Over.category.{u2, u1} C _inst_1 A) (CategoryTheory.Functor.obj.{u1, u1, max u2 u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.Over.category.{u2, u1} C _inst_1 A) (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.Over.category.{u2, u1} C _inst_1 A) (CategoryTheory.Functor.id.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.Over.category.{u2, u1} C _inst_1 A)) (CategoryTheory.Comma.left.{u1, u1, u1, max u2 u1, u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.Over.category.{u2, u1} C _inst_1 A) (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.Over.category.{u2, u1} C _inst_1 A) (CategoryTheory.Functor.id.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.Over.category.{u2, u1} C _inst_1 A)) (CategoryTheory.Functor.fromPUnit.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.Over.category.{u2, u1} C _inst_1 A) f) (CategoryTheory.Functor.obj.{u1, u1, max u2 u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 A) f)) (CategoryTheory.Over.category.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 A) f)) (CategoryTheory.Over.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.Over.category.{u2, u1} C _inst_1 A) f) (CategoryTheory.Over.category.{max u2 u1, u1} (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.Over.category.{u2, u1} C _inst_1 A) f) (CategoryTheory.Equivalence.inverse.{u1, u1, max u2 u1, max u2 u1} (CategoryTheory.Over.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.Over.category.{u2, u1} C _inst_1 A) f) (CategoryTheory.Over.category.{max u2 u1, u1} (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.Over.category.{u2, u1} C _inst_1 A) f) (CategoryTheory.Over.{u1, u2} C _inst_1 (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 A) f)) (CategoryTheory.Over.category.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 A) f)) (CategoryTheory.Over.iteratedSliceEquiv.{u1, u2} C _inst_1 A f)) (CategoryTheory.Functor.obj.{u1, u1, max u2 u1, max u2 u1} (CategoryTheory.MonoOver.{u1, u2} C _inst_1 (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 A) f)) (CategoryTheory.InducedCategory.category.{u1, max u2 u1, max u2 u1} (CategoryTheory.FullSubcategoryₓ.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 A) f)) (CategoryTheory.Over.category.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 A) f)) (fun (f_1 : CategoryTheory.Over.{u1, u2} C _inst_1 (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 A) f)) => CategoryTheory.Mono.{u1, u2} C _inst_1 (CategoryTheory.Functor.obj.{u1, u1, u2, u2} C _inst_1 C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 A) f)) f_1)) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 A) f)) (CategoryTheory.Comma.right.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 A) f)) f_1)) (CategoryTheory.Comma.hom.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 A) f)) f_1))) (CategoryTheory.Over.{u1, u2} C _inst_1 (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 A) f)) (CategoryTheory.Over.category.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 A) f)) (CategoryTheory.FullSubcategoryₓ.obj.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 A) f)) (CategoryTheory.Over.category.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 A) f)) (fun (f_1 : CategoryTheory.Over.{u1, u2} C _inst_1 (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 A) f)) => CategoryTheory.Mono.{u1, u2} C _inst_1 (CategoryTheory.Functor.obj.{u1, u1, u2, u2} C _inst_1 C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 A) f)) f_1)) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 A) f)) (CategoryTheory.Comma.right.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 A) f)) f_1)) (CategoryTheory.Comma.hom.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 A) f)) f_1)))) (CategoryTheory.Over.{u1, u2} C _inst_1 (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 A) f)) (CategoryTheory.Over.category.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 A) f)) (CategoryTheory.MonoOver.forget.{u1, u2} C _inst_1 (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 A) f)) f_1)))) (CategoryTheory.Functor.obj.{u1, u1, u1, max u2 u1} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.Over.category.{u2, u1} C _inst_1 A) (CategoryTheory.Functor.fromPUnit.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.Over.category.{u2, u1} C _inst_1 A) f) (CategoryTheory.Comma.right.{u1, u1, u1, max u2 u1, u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.Over.category.{u2, u1} C _inst_1 A) (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.Over.category.{u2, u1} C _inst_1 A) (CategoryTheory.Functor.id.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.Over.category.{u2, u1} C _inst_1 A)) (CategoryTheory.Functor.fromPUnit.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.Over.category.{u2, u1} C _inst_1 A) f) (CategoryTheory.Functor.obj.{u1, u1, max u2 u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 A) f)) (CategoryTheory.Over.category.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 A) f)) (CategoryTheory.Over.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.Over.category.{u2, u1} C _inst_1 A) f) (CategoryTheory.Over.category.{max u2 u1, u1} (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.Over.category.{u2, u1} C _inst_1 A) f) (CategoryTheory.Equivalence.inverse.{u1, u1, max u2 u1, max u2 u1} (CategoryTheory.Over.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.Over.category.{u2, u1} C _inst_1 A) f) (CategoryTheory.Over.category.{max u2 u1, u1} (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.Over.category.{u2, u1} C _inst_1 A) f) (CategoryTheory.Over.{u1, u2} C _inst_1 (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 A) f)) (CategoryTheory.Over.category.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 A) f)) (CategoryTheory.Over.iteratedSliceEquiv.{u1, u2} C _inst_1 A f)) (CategoryTheory.Functor.obj.{u1, u1, max u2 u1, max u2 u1} (CategoryTheory.MonoOver.{u1, u2} C _inst_1 (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 A) f)) (CategoryTheory.InducedCategory.category.{u1, max u2 u1, max u2 u1} (CategoryTheory.FullSubcategoryₓ.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 A) f)) (CategoryTheory.Over.category.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 A) f)) (fun (f_1 : CategoryTheory.Over.{u1, u2} C _inst_1 (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 A) f)) => CategoryTheory.Mono.{u1, u2} C _inst_1 (CategoryTheory.Functor.obj.{u1, u1, u2, u2} C _inst_1 C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 A) f)) f_1)) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 A) f)) (CategoryTheory.Comma.right.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 A) f)) f_1)) (CategoryTheory.Comma.hom.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 A) f)) f_1))) (CategoryTheory.Over.{u1, u2} C _inst_1 (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 A) f)) (CategoryTheory.Over.category.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 A) f)) (CategoryTheory.FullSubcategoryₓ.obj.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 A) f)) (CategoryTheory.Over.category.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 A) f)) (fun (f_1 : CategoryTheory.Over.{u1, u2} C _inst_1 (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 A) f)) => CategoryTheory.Mono.{u1, u2} C _inst_1 (CategoryTheory.Functor.obj.{u1, u1, u2, u2} C _inst_1 C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 A) f)) f_1)) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 A) f)) (CategoryTheory.Comma.right.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 A) f)) f_1)) (CategoryTheory.Comma.hom.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 A) f)) f_1)))) (CategoryTheory.Over.{u1, u2} C _inst_1 (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 A) f)) (CategoryTheory.Over.category.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 A) f)) (CategoryTheory.MonoOver.forget.{u1, u2} C _inst_1 (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 A) f)) f_1)))) (CategoryTheory.Comma.hom.{u1, u1, u1, max u2 u1, u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.Over.category.{u2, u1} C _inst_1 A) (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.Over.category.{u2, u1} C _inst_1 A) (CategoryTheory.Functor.id.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.Over.category.{u2, u1} C _inst_1 A)) (CategoryTheory.Functor.fromPUnit.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.Over.category.{u2, u1} C _inst_1 A) f) (CategoryTheory.Functor.obj.{u1, u1, max u2 u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 A) f)) (CategoryTheory.Over.category.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 A) f)) (CategoryTheory.Over.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.Over.category.{u2, u1} C _inst_1 A) f) (CategoryTheory.Over.category.{max u2 u1, u1} (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.Over.category.{u2, u1} C _inst_1 A) f) (CategoryTheory.Equivalence.inverse.{u1, u1, max u2 u1, max u2 u1} (CategoryTheory.Over.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.Over.category.{u2, u1} C _inst_1 A) f) (CategoryTheory.Over.category.{max u2 u1, u1} (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.Over.category.{u2, u1} C _inst_1 A) f) (CategoryTheory.Over.{u1, u2} C _inst_1 (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 A) f)) (CategoryTheory.Over.category.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 A) f)) (CategoryTheory.Over.iteratedSliceEquiv.{u1, u2} C _inst_1 A f)) (CategoryTheory.Functor.obj.{u1, u1, max u2 u1, max u2 u1} (CategoryTheory.MonoOver.{u1, u2} C _inst_1 (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 A) f)) (CategoryTheory.InducedCategory.category.{u1, max u2 u1, max u2 u1} (CategoryTheory.FullSubcategoryₓ.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 A) f)) (CategoryTheory.Over.category.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 A) f)) (fun (f_1 : CategoryTheory.Over.{u1, u2} C _inst_1 (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 A) f)) => CategoryTheory.Mono.{u1, u2} C _inst_1 (CategoryTheory.Functor.obj.{u1, u1, u2, u2} C _inst_1 C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 A) f)) f_1)) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 A) f)) (CategoryTheory.Comma.right.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 A) f)) f_1)) (CategoryTheory.Comma.hom.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 A) f)) f_1))) (CategoryTheory.Over.{u1, u2} C _inst_1 (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 A) f)) (CategoryTheory.Over.category.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 A) f)) (CategoryTheory.FullSubcategoryₓ.obj.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 A) f)) (CategoryTheory.Over.category.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 A) f)) (fun (f_1 : CategoryTheory.Over.{u1, u2} C _inst_1 (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 A) f)) => CategoryTheory.Mono.{u1, u2} C _inst_1 (CategoryTheory.Functor.obj.{u1, u1, u2, u2} C _inst_1 C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 A) f)) f_1)) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 A) f)) (CategoryTheory.Comma.right.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 A) f)) f_1)) (CategoryTheory.Comma.hom.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 A) f)) f_1)))) (CategoryTheory.Over.{u1, u2} C _inst_1 (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 A) f)) (CategoryTheory.Over.category.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 A) f)) (CategoryTheory.MonoOver.forget.{u1, u2} C _inst_1 (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 A) f)) f_1)))) -> (CategoryTheory.Equivalence.{u1, u1, max u2 u1, max u2 u1} (CategoryTheory.MonoOver.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.Over.category.{u2, u1} C _inst_1 A) f) (CategoryTheory.MonoOver.category.{max u2 u1, u1} (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.Over.category.{u2, u1} C _inst_1 A) f) (CategoryTheory.MonoOver.{u1, u2} C _inst_1 (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 A) f)) (CategoryTheory.MonoOver.category.{u2, u1} C _inst_1 (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 A) f)))
+but is expected to have type
+  forall {C : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} C] {A : C} {f : CategoryTheory.Over.{u1, u2} C _inst_1 A}, (forall (f_1 : CategoryTheory.MonoOver.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.instCategoryOver.{u1, u2} C _inst_1 A) f), CategoryTheory.Mono.{u1, u2} C _inst_1 (Prefunctor.obj.{succ u1, succ u1, u2, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u2, u2} C _inst_1 C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1)) (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 A) f)) (Prefunctor.obj.{succ u1, succ u1, max u2 u1, max u2 u1} (CategoryTheory.Over.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.instCategoryOver.{u1, u2} C _inst_1 A) f) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u2 u1} (CategoryTheory.Over.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.instCategoryOver.{u1, u2} C _inst_1 A) f) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 u1} (CategoryTheory.Over.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.instCategoryOver.{u1, u2} C _inst_1 A) f) (CategoryTheory.instCategoryOver.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.instCategoryOver.{u1, u2} C _inst_1 A) f))) (CategoryTheory.Over.{u1, u2} C _inst_1 (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 A) f)) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 A) f)) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 A) f)) (CategoryTheory.instCategoryOver.{u1, u2} C _inst_1 (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 A) f)))) (CategoryTheory.Functor.toPrefunctor.{u1, u1, max u2 u1, max u2 u1} (CategoryTheory.Over.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.instCategoryOver.{u1, u2} C _inst_1 A) f) (CategoryTheory.instCategoryOver.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.instCategoryOver.{u1, u2} C _inst_1 A) f) (CategoryTheory.Over.{u1, u2} C _inst_1 (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 A) f)) (CategoryTheory.instCategoryOver.{u1, u2} C _inst_1 (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 A) f)) (CategoryTheory.Equivalence.functor.{u1, u1, max u2 u1, max u2 u1} (CategoryTheory.Over.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.instCategoryOver.{u1, u2} C _inst_1 A) f) (CategoryTheory.Over.{u1, u2} C _inst_1 (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 A) f)) (CategoryTheory.instCategoryOver.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.instCategoryOver.{u1, u2} C _inst_1 A) f) (CategoryTheory.instCategoryOver.{u1, u2} C _inst_1 (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 A) f)) (CategoryTheory.Over.iteratedSliceEquiv.{u1, u2} C _inst_1 A f))) (Prefunctor.obj.{succ u1, succ u1, max u2 u1, max u2 u1} (CategoryTheory.MonoOver.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.instCategoryOver.{u1, u2} C _inst_1 A) f) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u2 u1} (CategoryTheory.MonoOver.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.instCategoryOver.{u1, u2} C _inst_1 A) f) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 u1} (CategoryTheory.MonoOver.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.instCategoryOver.{u1, u2} C _inst_1 A) f) (CategoryTheory.instCategoryMonoOver.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.instCategoryOver.{u1, u2} C _inst_1 A) f))) (CategoryTheory.Over.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.instCategoryOver.{u1, u2} C _inst_1 A) f) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u2 u1} (CategoryTheory.Over.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.instCategoryOver.{u1, u2} C _inst_1 A) f) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 u1} (CategoryTheory.Over.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.instCategoryOver.{u1, u2} C _inst_1 A) f) (CategoryTheory.instCategoryOver.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.instCategoryOver.{u1, u2} C _inst_1 A) f))) (CategoryTheory.Functor.toPrefunctor.{u1, u1, max u2 u1, max u2 u1} (CategoryTheory.MonoOver.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.instCategoryOver.{u1, u2} C _inst_1 A) f) (CategoryTheory.instCategoryMonoOver.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.instCategoryOver.{u1, u2} C _inst_1 A) f) (CategoryTheory.Over.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.instCategoryOver.{u1, u2} C _inst_1 A) f) (CategoryTheory.instCategoryOver.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.instCategoryOver.{u1, u2} C _inst_1 A) f) (CategoryTheory.MonoOver.forget.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.instCategoryOver.{u1, u2} C _inst_1 A) f)) f_1)))) (Prefunctor.obj.{succ u1, succ u1, u1, u2} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.Category.toCategoryStruct.{u1, u1} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}))) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u2} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 A) f))) (CategoryTheory.Comma.right.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 A) f)) (Prefunctor.obj.{succ u1, succ u1, max u2 u1, max u2 u1} (CategoryTheory.Over.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.instCategoryOver.{u1, u2} C _inst_1 A) f) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u2 u1} (CategoryTheory.Over.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.instCategoryOver.{u1, u2} C _inst_1 A) f) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 u1} (CategoryTheory.Over.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.instCategoryOver.{u1, u2} C _inst_1 A) f) (CategoryTheory.instCategoryOver.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.instCategoryOver.{u1, u2} C _inst_1 A) f))) (CategoryTheory.Over.{u1, u2} C _inst_1 (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 A) f)) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 A) f)) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 A) f)) (CategoryTheory.instCategoryOver.{u1, u2} C _inst_1 (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 A) f)))) (CategoryTheory.Functor.toPrefunctor.{u1, u1, max u2 u1, max u2 u1} (CategoryTheory.Over.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.instCategoryOver.{u1, u2} C _inst_1 A) f) (CategoryTheory.instCategoryOver.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.instCategoryOver.{u1, u2} C _inst_1 A) f) (CategoryTheory.Over.{u1, u2} C _inst_1 (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 A) f)) (CategoryTheory.instCategoryOver.{u1, u2} C _inst_1 (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 A) f)) (CategoryTheory.Equivalence.functor.{u1, u1, max u2 u1, max u2 u1} (CategoryTheory.Over.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.instCategoryOver.{u1, u2} C _inst_1 A) f) (CategoryTheory.Over.{u1, u2} C _inst_1 (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 A) f)) (CategoryTheory.instCategoryOver.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.instCategoryOver.{u1, u2} C _inst_1 A) f) (CategoryTheory.instCategoryOver.{u1, u2} C _inst_1 (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 A) f)) (CategoryTheory.Over.iteratedSliceEquiv.{u1, u2} C _inst_1 A f))) (Prefunctor.obj.{succ u1, succ u1, max u2 u1, max u2 u1} (CategoryTheory.MonoOver.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.instCategoryOver.{u1, u2} C _inst_1 A) f) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u2 u1} (CategoryTheory.MonoOver.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.instCategoryOver.{u1, u2} C _inst_1 A) f) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 u1} (CategoryTheory.MonoOver.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.instCategoryOver.{u1, u2} C _inst_1 A) f) (CategoryTheory.instCategoryMonoOver.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.instCategoryOver.{u1, u2} C _inst_1 A) f))) (CategoryTheory.Over.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.instCategoryOver.{u1, u2} C _inst_1 A) f) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u2 u1} (CategoryTheory.Over.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.instCategoryOver.{u1, u2} C _inst_1 A) f) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 u1} (CategoryTheory.Over.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.instCategoryOver.{u1, u2} C _inst_1 A) f) (CategoryTheory.instCategoryOver.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.instCategoryOver.{u1, u2} C _inst_1 A) f))) (CategoryTheory.Functor.toPrefunctor.{u1, u1, max u2 u1, max u2 u1} (CategoryTheory.MonoOver.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.instCategoryOver.{u1, u2} C _inst_1 A) f) (CategoryTheory.instCategoryMonoOver.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.instCategoryOver.{u1, u2} C _inst_1 A) f) (CategoryTheory.Over.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.instCategoryOver.{u1, u2} C _inst_1 A) f) (CategoryTheory.instCategoryOver.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.instCategoryOver.{u1, u2} C _inst_1 A) f) (CategoryTheory.MonoOver.forget.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.instCategoryOver.{u1, u2} C _inst_1 A) f)) f_1)))) (CategoryTheory.Comma.hom.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 A) f)) (Prefunctor.obj.{succ u1, succ u1, max u2 u1, max u2 u1} (CategoryTheory.Over.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.instCategoryOver.{u1, u2} C _inst_1 A) f) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u2 u1} (CategoryTheory.Over.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.instCategoryOver.{u1, u2} C _inst_1 A) f) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 u1} (CategoryTheory.Over.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.instCategoryOver.{u1, u2} C _inst_1 A) f) (CategoryTheory.instCategoryOver.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.instCategoryOver.{u1, u2} C _inst_1 A) f))) (CategoryTheory.Over.{u1, u2} C _inst_1 (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 A) f)) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 A) f)) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 A) f)) (CategoryTheory.instCategoryOver.{u1, u2} C _inst_1 (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 A) f)))) (CategoryTheory.Functor.toPrefunctor.{u1, u1, max u2 u1, max u2 u1} (CategoryTheory.Over.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.instCategoryOver.{u1, u2} C _inst_1 A) f) (CategoryTheory.instCategoryOver.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.instCategoryOver.{u1, u2} C _inst_1 A) f) (CategoryTheory.Over.{u1, u2} C _inst_1 (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 A) f)) (CategoryTheory.instCategoryOver.{u1, u2} C _inst_1 (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 A) f)) (CategoryTheory.Equivalence.functor.{u1, u1, max u2 u1, max u2 u1} (CategoryTheory.Over.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.instCategoryOver.{u1, u2} C _inst_1 A) f) (CategoryTheory.Over.{u1, u2} C _inst_1 (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 A) f)) (CategoryTheory.instCategoryOver.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.instCategoryOver.{u1, u2} C _inst_1 A) f) (CategoryTheory.instCategoryOver.{u1, u2} C _inst_1 (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 A) f)) (CategoryTheory.Over.iteratedSliceEquiv.{u1, u2} C _inst_1 A f))) (Prefunctor.obj.{succ u1, succ u1, max u2 u1, max u2 u1} (CategoryTheory.MonoOver.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.instCategoryOver.{u1, u2} C _inst_1 A) f) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u2 u1} (CategoryTheory.MonoOver.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.instCategoryOver.{u1, u2} C _inst_1 A) f) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 u1} (CategoryTheory.MonoOver.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.instCategoryOver.{u1, u2} C _inst_1 A) f) (CategoryTheory.instCategoryMonoOver.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.instCategoryOver.{u1, u2} C _inst_1 A) f))) (CategoryTheory.Over.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.instCategoryOver.{u1, u2} C _inst_1 A) f) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u2 u1} (CategoryTheory.Over.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.instCategoryOver.{u1, u2} C _inst_1 A) f) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 u1} (CategoryTheory.Over.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.instCategoryOver.{u1, u2} C _inst_1 A) f) (CategoryTheory.instCategoryOver.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.instCategoryOver.{u1, u2} C _inst_1 A) f))) (CategoryTheory.Functor.toPrefunctor.{u1, u1, max u2 u1, max u2 u1} (CategoryTheory.MonoOver.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.instCategoryOver.{u1, u2} C _inst_1 A) f) (CategoryTheory.instCategoryMonoOver.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.instCategoryOver.{u1, u2} C _inst_1 A) f) (CategoryTheory.Over.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.instCategoryOver.{u1, u2} C _inst_1 A) f) (CategoryTheory.instCategoryOver.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.instCategoryOver.{u1, u2} C _inst_1 A) f) (CategoryTheory.MonoOver.forget.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.instCategoryOver.{u1, u2} C _inst_1 A) f)) f_1)))) -> (forall (f_1 : CategoryTheory.MonoOver.{u1, u2} C _inst_1 (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 A) f)), CategoryTheory.Mono.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.instCategoryOver.{u1, u2} C _inst_1 A) (Prefunctor.obj.{succ u1, succ u1, max u2 u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.instCategoryOver.{u1, u2} C _inst_1 A))) (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.instCategoryOver.{u1, u2} C _inst_1 A))) (CategoryTheory.Functor.toPrefunctor.{u1, u1, max u2 u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.instCategoryOver.{u1, u2} C _inst_1 A) (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.instCategoryOver.{u1, u2} C _inst_1 A) (CategoryTheory.Functor.id.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.instCategoryOver.{u1, u2} C _inst_1 A))) (CategoryTheory.Comma.left.{u1, u1, u1, max u2 u1, u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.instCategoryOver.{u1, u2} C _inst_1 A) (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.instCategoryOver.{u1, u2} C _inst_1 A) (CategoryTheory.Functor.id.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.instCategoryOver.{u1, u2} C _inst_1 A)) (CategoryTheory.Functor.fromPUnit.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.instCategoryOver.{u1, u2} C _inst_1 A) f) (Prefunctor.obj.{succ u1, succ u1, max u2 u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 A) f)) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 A) f)) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 A) f)) (CategoryTheory.instCategoryOver.{u1, u2} C _inst_1 (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 A) f)))) (CategoryTheory.Over.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.instCategoryOver.{u1, u2} C _inst_1 A) f) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u2 u1} (CategoryTheory.Over.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.instCategoryOver.{u1, u2} C _inst_1 A) f) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 u1} (CategoryTheory.Over.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.instCategoryOver.{u1, u2} C _inst_1 A) f) (CategoryTheory.instCategoryOver.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.instCategoryOver.{u1, u2} C _inst_1 A) f))) (CategoryTheory.Functor.toPrefunctor.{u1, u1, max u2 u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 A) f)) (CategoryTheory.instCategoryOver.{u1, u2} C _inst_1 (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 A) f)) (CategoryTheory.Over.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.instCategoryOver.{u1, u2} C _inst_1 A) f) (CategoryTheory.instCategoryOver.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.instCategoryOver.{u1, u2} C _inst_1 A) f) (CategoryTheory.Equivalence.inverse.{u1, u1, max u2 u1, max u2 u1} (CategoryTheory.Over.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.instCategoryOver.{u1, u2} C _inst_1 A) f) (CategoryTheory.Over.{u1, u2} C _inst_1 (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 A) f)) (CategoryTheory.instCategoryOver.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.instCategoryOver.{u1, u2} C _inst_1 A) f) (CategoryTheory.instCategoryOver.{u1, u2} C _inst_1 (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 A) f)) (CategoryTheory.Over.iteratedSliceEquiv.{u1, u2} C _inst_1 A f))) (Prefunctor.obj.{succ u1, succ u1, max u2 u1, max u2 u1} (CategoryTheory.MonoOver.{u1, u2} C _inst_1 (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 A) f)) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u2 u1} (CategoryTheory.MonoOver.{u1, u2} C _inst_1 (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 A) f)) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 u1} (CategoryTheory.MonoOver.{u1, u2} C _inst_1 (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 A) f)) (CategoryTheory.instCategoryMonoOver.{u1, u2} C _inst_1 (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 A) f)))) (CategoryTheory.Over.{u1, u2} C _inst_1 (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 A) f)) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 A) f)) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 A) f)) (CategoryTheory.instCategoryOver.{u1, u2} C _inst_1 (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 A) f)))) (CategoryTheory.Functor.toPrefunctor.{u1, u1, max u2 u1, max u2 u1} (CategoryTheory.MonoOver.{u1, u2} C _inst_1 (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 A) f)) (CategoryTheory.instCategoryMonoOver.{u1, u2} C _inst_1 (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 A) f)) (CategoryTheory.Over.{u1, u2} C _inst_1 (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 A) f)) (CategoryTheory.instCategoryOver.{u1, u2} C _inst_1 (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 A) f)) (CategoryTheory.MonoOver.forget.{u1, u2} C _inst_1 (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 A) f))) f_1)))) (Prefunctor.obj.{succ u1, succ u1, u1, max u2 u1} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.Category.toCategoryStruct.{u1, u1} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}))) (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.instCategoryOver.{u1, u2} C _inst_1 A))) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, max u2 u1} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.instCategoryOver.{u1, u2} C _inst_1 A) (CategoryTheory.Functor.fromPUnit.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.instCategoryOver.{u1, u2} C _inst_1 A) f)) (CategoryTheory.Comma.right.{u1, u1, u1, max u2 u1, u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.instCategoryOver.{u1, u2} C _inst_1 A) (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.instCategoryOver.{u1, u2} C _inst_1 A) (CategoryTheory.Functor.id.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.instCategoryOver.{u1, u2} C _inst_1 A)) (CategoryTheory.Functor.fromPUnit.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.instCategoryOver.{u1, u2} C _inst_1 A) f) (Prefunctor.obj.{succ u1, succ u1, max u2 u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 A) f)) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 A) f)) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 A) f)) (CategoryTheory.instCategoryOver.{u1, u2} C _inst_1 (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 A) f)))) (CategoryTheory.Over.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.instCategoryOver.{u1, u2} C _inst_1 A) f) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u2 u1} (CategoryTheory.Over.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.instCategoryOver.{u1, u2} C _inst_1 A) f) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 u1} (CategoryTheory.Over.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.instCategoryOver.{u1, u2} C _inst_1 A) f) (CategoryTheory.instCategoryOver.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.instCategoryOver.{u1, u2} C _inst_1 A) f))) (CategoryTheory.Functor.toPrefunctor.{u1, u1, max u2 u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 A) f)) (CategoryTheory.instCategoryOver.{u1, u2} C _inst_1 (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 A) f)) (CategoryTheory.Over.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.instCategoryOver.{u1, u2} C _inst_1 A) f) (CategoryTheory.instCategoryOver.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.instCategoryOver.{u1, u2} C _inst_1 A) f) (CategoryTheory.Equivalence.inverse.{u1, u1, max u2 u1, max u2 u1} (CategoryTheory.Over.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.instCategoryOver.{u1, u2} C _inst_1 A) f) (CategoryTheory.Over.{u1, u2} C _inst_1 (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 A) f)) (CategoryTheory.instCategoryOver.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.instCategoryOver.{u1, u2} C _inst_1 A) f) (CategoryTheory.instCategoryOver.{u1, u2} C _inst_1 (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 A) f)) (CategoryTheory.Over.iteratedSliceEquiv.{u1, u2} C _inst_1 A f))) (Prefunctor.obj.{succ u1, succ u1, max u2 u1, max u2 u1} (CategoryTheory.MonoOver.{u1, u2} C _inst_1 (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 A) f)) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u2 u1} (CategoryTheory.MonoOver.{u1, u2} C _inst_1 (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 A) f)) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 u1} (CategoryTheory.MonoOver.{u1, u2} C _inst_1 (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 A) f)) (CategoryTheory.instCategoryMonoOver.{u1, u2} C _inst_1 (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 A) f)))) (CategoryTheory.Over.{u1, u2} C _inst_1 (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 A) f)) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 A) f)) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 A) f)) (CategoryTheory.instCategoryOver.{u1, u2} C _inst_1 (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 A) f)))) (CategoryTheory.Functor.toPrefunctor.{u1, u1, max u2 u1, max u2 u1} (CategoryTheory.MonoOver.{u1, u2} C _inst_1 (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 A) f)) (CategoryTheory.instCategoryMonoOver.{u1, u2} C _inst_1 (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 A) f)) (CategoryTheory.Over.{u1, u2} C _inst_1 (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 A) f)) (CategoryTheory.instCategoryOver.{u1, u2} C _inst_1 (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 A) f)) (CategoryTheory.MonoOver.forget.{u1, u2} C _inst_1 (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 A) f))) f_1)))) (CategoryTheory.Comma.hom.{u1, u1, u1, max u2 u1, u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.instCategoryOver.{u1, u2} C _inst_1 A) (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.instCategoryOver.{u1, u2} C _inst_1 A) (CategoryTheory.Functor.id.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.instCategoryOver.{u1, u2} C _inst_1 A)) (CategoryTheory.Functor.fromPUnit.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.instCategoryOver.{u1, u2} C _inst_1 A) f) (Prefunctor.obj.{succ u1, succ u1, max u2 u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 A) f)) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 A) f)) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 A) f)) (CategoryTheory.instCategoryOver.{u1, u2} C _inst_1 (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 A) f)))) (CategoryTheory.Over.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.instCategoryOver.{u1, u2} C _inst_1 A) f) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u2 u1} (CategoryTheory.Over.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.instCategoryOver.{u1, u2} C _inst_1 A) f) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 u1} (CategoryTheory.Over.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.instCategoryOver.{u1, u2} C _inst_1 A) f) (CategoryTheory.instCategoryOver.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.instCategoryOver.{u1, u2} C _inst_1 A) f))) (CategoryTheory.Functor.toPrefunctor.{u1, u1, max u2 u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 A) f)) (CategoryTheory.instCategoryOver.{u1, u2} C _inst_1 (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 A) f)) (CategoryTheory.Over.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.instCategoryOver.{u1, u2} C _inst_1 A) f) (CategoryTheory.instCategoryOver.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.instCategoryOver.{u1, u2} C _inst_1 A) f) (CategoryTheory.Equivalence.inverse.{u1, u1, max u2 u1, max u2 u1} (CategoryTheory.Over.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.instCategoryOver.{u1, u2} C _inst_1 A) f) (CategoryTheory.Over.{u1, u2} C _inst_1 (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 A) f)) (CategoryTheory.instCategoryOver.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.instCategoryOver.{u1, u2} C _inst_1 A) f) (CategoryTheory.instCategoryOver.{u1, u2} C _inst_1 (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 A) f)) (CategoryTheory.Over.iteratedSliceEquiv.{u1, u2} C _inst_1 A f))) (Prefunctor.obj.{succ u1, succ u1, max u2 u1, max u2 u1} (CategoryTheory.MonoOver.{u1, u2} C _inst_1 (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 A) f)) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u2 u1} (CategoryTheory.MonoOver.{u1, u2} C _inst_1 (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 A) f)) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 u1} (CategoryTheory.MonoOver.{u1, u2} C _inst_1 (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 A) f)) (CategoryTheory.instCategoryMonoOver.{u1, u2} C _inst_1 (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 A) f)))) (CategoryTheory.Over.{u1, u2} C _inst_1 (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 A) f)) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 A) f)) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 A) f)) (CategoryTheory.instCategoryOver.{u1, u2} C _inst_1 (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 A) f)))) (CategoryTheory.Functor.toPrefunctor.{u1, u1, max u2 u1, max u2 u1} (CategoryTheory.MonoOver.{u1, u2} C _inst_1 (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 A) f)) (CategoryTheory.instCategoryMonoOver.{u1, u2} C _inst_1 (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 A) f)) (CategoryTheory.Over.{u1, u2} C _inst_1 (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 A) f)) (CategoryTheory.instCategoryOver.{u1, u2} C _inst_1 (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 A) f)) (CategoryTheory.MonoOver.forget.{u1, u2} C _inst_1 (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 A) f))) f_1)))) -> (CategoryTheory.Equivalence.{u1, u1, max u2 u1, max u2 u1} (CategoryTheory.MonoOver.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.instCategoryOver.{u1, u2} C _inst_1 A) f) (CategoryTheory.MonoOver.{u1, u2} C _inst_1 (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 A) f)) (CategoryTheory.instCategoryMonoOver.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 A) (CategoryTheory.instCategoryOver.{u1, u2} C _inst_1 A) f) (CategoryTheory.instCategoryMonoOver.{u1, u2} C _inst_1 (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 A) f)))
+Case conversion may be inaccurate. Consider using '#align category_theory.mono_over.slice CategoryTheory.MonoOver.sliceₓ'. -/
 /-- Monomorphisms over an object `f : over A` in an over category
 are equivalent to monomorphisms over the source of `f`.
 -/
@@ -205,6 +303,7 @@ section Pullback
 
 variable [HasPullbacks C]
 
+#print CategoryTheory.MonoOver.pullback /-
 /-- When `C` has pullbacks, a morphism `f : X ⟶ Y` induces a functor `mono_over Y ⥤ mono_over X`,
 by pulling back a monomorphism along `f`. -/
 def pullback (f : X ⟶ Y) : MonoOver Y ⥤ MonoOver X :=
@@ -215,23 +314,40 @@ def pullback (f : X ⟶ Y) : MonoOver Y ⥤ MonoOver X :=
       change mono g.arrow
       infer_instance)
 #align category_theory.mono_over.pullback CategoryTheory.MonoOver.pullback
+-/
 
+#print CategoryTheory.MonoOver.pullbackComp /-
 /-- pullback commutes with composition (up to a natural isomorphism) -/
 def pullbackComp (f : X ⟶ Y) (g : Y ⟶ Z) : pullback (f ≫ g) ≅ pullback g ⋙ pullback f :=
   liftIso _ _ (Over.pullbackComp _ _) ≪≫ (liftComp _ _ _ _).symm
 #align category_theory.mono_over.pullback_comp CategoryTheory.MonoOver.pullbackComp
+-/
 
+#print CategoryTheory.MonoOver.pullbackId /-
 /-- pullback preserves the identity (up to a natural isomorphism) -/
 def pullbackId : pullback (𝟙 X) ≅ 𝟭 _ :=
   liftIso _ _ Over.pullbackId ≪≫ liftId
 #align category_theory.mono_over.pullback_id CategoryTheory.MonoOver.pullbackId
+-/
 
+/- warning: category_theory.mono_over.pullback_obj_left -> CategoryTheory.MonoOver.pullback_obj_left is a dubious translation:
+lean 3 declaration is
+  forall {C : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} C] {X : C} {Y : C} [_inst_3 : CategoryTheory.Limits.HasPullbacks.{u1, u2} C _inst_1] (f : Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) X Y) (g : CategoryTheory.MonoOver.{u1, u2} C _inst_1 Y), Eq.{succ u2} C ((fun (a : Type.{max u2 u1}) (b : Type.{u2}) [self : HasLiftT.{succ (max u2 u1), succ u2} a b] => self.0) (CategoryTheory.MonoOver.{u1, u2} C _inst_1 X) C (HasLiftT.mk.{succ (max u2 u1), succ u2} (CategoryTheory.MonoOver.{u1, u2} C _inst_1 X) C (CoeTCₓ.coe.{succ (max u2 u1), succ u2} (CategoryTheory.MonoOver.{u1, u2} C _inst_1 X) C (coeBase.{succ (max u2 u1), succ u2} (CategoryTheory.MonoOver.{u1, u2} C _inst_1 X) C (CategoryTheory.MonoOver.hasCoe.{u1, u2} C _inst_1 X)))) (CategoryTheory.Functor.obj.{u1, u1, max u2 u1, max u2 u1} (CategoryTheory.MonoOver.{u1, u2} C _inst_1 Y) (CategoryTheory.MonoOver.category.{u2, u1} C _inst_1 Y) (CategoryTheory.MonoOver.{u1, u2} C _inst_1 X) (CategoryTheory.MonoOver.category.{u2, u1} C _inst_1 X) (CategoryTheory.MonoOver.pullback.{u1, u2} C _inst_1 X Y _inst_3 f) g)) (CategoryTheory.Limits.pullback.{u1, u2} C _inst_1 ((fun (a : Type.{max u2 u1}) (b : Type.{u2}) [self : HasLiftT.{succ (max u2 u1), succ u2} a b] => self.0) (CategoryTheory.MonoOver.{u1, u2} C _inst_1 Y) C (HasLiftT.mk.{succ (max u2 u1), succ u2} (CategoryTheory.MonoOver.{u1, u2} C _inst_1 Y) C (CoeTCₓ.coe.{succ (max u2 u1), succ u2} (CategoryTheory.MonoOver.{u1, u2} C _inst_1 Y) C (coeBase.{succ (max u2 u1), succ u2} (CategoryTheory.MonoOver.{u1, u2} C _inst_1 Y) C (CategoryTheory.MonoOver.hasCoe.{u1, u2} C _inst_1 Y)))) g) X Y (CategoryTheory.MonoOver.arrow.{u1, u2} C _inst_1 Y g) f (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u1, u2} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_3 (CategoryTheory.Limits.cospan.{u1, u2} C _inst_1 ((fun (a : Type.{max u2 u1}) (b : Type.{u2}) [self : HasLiftT.{succ (max u2 u1), succ u2} a b] => self.0) (CategoryTheory.MonoOver.{u1, u2} C _inst_1 Y) C (HasLiftT.mk.{succ (max u2 u1), succ u2} (CategoryTheory.MonoOver.{u1, u2} C _inst_1 Y) C (CoeTCₓ.coe.{succ (max u2 u1), succ u2} (CategoryTheory.MonoOver.{u1, u2} C _inst_1 Y) C (coeBase.{succ (max u2 u1), succ u2} (CategoryTheory.MonoOver.{u1, u2} C _inst_1 Y) C (CategoryTheory.MonoOver.hasCoe.{u1, u2} C _inst_1 Y)))) g) X Y (CategoryTheory.MonoOver.arrow.{u1, u2} C _inst_1 Y g) f)))
+but is expected to have type
+  forall {C : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} C] {X : C} {Y : C} [_inst_3 : CategoryTheory.Limits.HasPullbacks.{u1, u2} C _inst_1] (f : Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) X Y) (g : CategoryTheory.MonoOver.{u1, u2} C _inst_1 Y), Eq.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 X) (CategoryTheory.FullSubcategory.obj.{max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 X) (fun (f : CategoryTheory.Over.{u1, u2} C _inst_1 X) => CategoryTheory.Mono.{u1, u2} C _inst_1 (Prefunctor.obj.{succ u1, succ u1, u2, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u2, u2} C _inst_1 C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1)) (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 X) f)) (Prefunctor.obj.{succ u1, succ u1, u1, u2} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.Category.toCategoryStruct.{u1, u1} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}))) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u2} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 X)) (CategoryTheory.Comma.right.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 X) f)) (CategoryTheory.Comma.hom.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 X) f)) (Prefunctor.obj.{succ u1, succ u1, max u2 u1, max u2 u1} (CategoryTheory.MonoOver.{u1, u2} C _inst_1 Y) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u2 u1} (CategoryTheory.MonoOver.{u1, u2} C _inst_1 Y) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 u1} (CategoryTheory.MonoOver.{u1, u2} C _inst_1 Y) (CategoryTheory.instCategoryMonoOver.{u1, u2} C _inst_1 Y))) (CategoryTheory.MonoOver.{u1, u2} C _inst_1 X) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u2 u1} (CategoryTheory.MonoOver.{u1, u2} C _inst_1 X) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 u1} (CategoryTheory.MonoOver.{u1, u2} C _inst_1 X) (CategoryTheory.instCategoryMonoOver.{u1, u2} C _inst_1 X))) (CategoryTheory.Functor.toPrefunctor.{u1, u1, max u2 u1, max u2 u1} (CategoryTheory.MonoOver.{u1, u2} C _inst_1 Y) (CategoryTheory.instCategoryMonoOver.{u1, u2} C _inst_1 Y) (CategoryTheory.MonoOver.{u1, u2} C _inst_1 X) (CategoryTheory.instCategoryMonoOver.{u1, u2} C _inst_1 X) (CategoryTheory.MonoOver.pullback.{u1, u2} C _inst_1 X Y _inst_3 f)) g))) (CategoryTheory.Limits.pullback.{u1, u2} C _inst_1 (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 Y) (CategoryTheory.FullSubcategory.obj.{max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 Y) (fun (f : CategoryTheory.Over.{u1, u2} C _inst_1 Y) => CategoryTheory.Mono.{u1, u2} C _inst_1 (Prefunctor.obj.{succ u1, succ u1, u2, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u2, u2} C _inst_1 C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1)) (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 Y) f)) (Prefunctor.obj.{succ u1, succ u1, u1, u2} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.Category.toCategoryStruct.{u1, u1} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}))) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u2} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 Y)) (CategoryTheory.Comma.right.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 Y) f)) (CategoryTheory.Comma.hom.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 Y) f)) g)) X Y (CategoryTheory.MonoOver.arrow.{u1, u2} C _inst_1 Y g) f (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u1, u2} C _inst_1 CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) _inst_3 (CategoryTheory.Limits.cospan.{u1, u2} C _inst_1 (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 Y) (CategoryTheory.FullSubcategory.obj.{max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 Y) (fun (f : CategoryTheory.Over.{u1, u2} C _inst_1 Y) => CategoryTheory.Mono.{u1, u2} C _inst_1 (Prefunctor.obj.{succ u1, succ u1, u2, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u2, u2} C _inst_1 C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1)) (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 Y) f)) (Prefunctor.obj.{succ u1, succ u1, u1, u2} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.Category.toCategoryStruct.{u1, u1} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}))) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u2} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 Y)) (CategoryTheory.Comma.right.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 Y) f)) (CategoryTheory.Comma.hom.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 Y) f)) g)) X Y (CategoryTheory.MonoOver.arrow.{u1, u2} C _inst_1 Y g) f)))
+Case conversion may be inaccurate. Consider using '#align category_theory.mono_over.pullback_obj_left CategoryTheory.MonoOver.pullback_obj_leftₓ'. -/
 @[simp]
 theorem pullback_obj_left (f : X ⟶ Y) (g : MonoOver Y) :
     ((pullback f).obj g : C) = Limits.pullback g.arrow f :=
   rfl
 #align category_theory.mono_over.pullback_obj_left CategoryTheory.MonoOver.pullback_obj_left
 
+/- warning: category_theory.mono_over.pullback_obj_arrow -> CategoryTheory.MonoOver.pullback_obj_arrow is a dubious translation:
+lean 3 declaration is
+  forall {C : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} C] {X : C} {Y : C} [_inst_3 : CategoryTheory.Limits.HasPullbacks.{u1, u2} C _inst_1] (f : Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) X Y) (g : CategoryTheory.MonoOver.{u1, u2} C _inst_1 Y), Eq.{succ u1} (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) ((fun (a : Type.{max u2 u1}) (b : Type.{u2}) [self : HasLiftT.{succ (max u2 u1), succ u2} a b] => self.0) (CategoryTheory.MonoOver.{u1, u2} C _inst_1 X) C (HasLiftT.mk.{succ (max u2 u1), succ u2} (CategoryTheory.MonoOver.{u1, u2} C _inst_1 X) C (CoeTCₓ.coe.{succ (max u2 u1), succ u2} (CategoryTheory.MonoOver.{u1, u2} C _inst_1 X) C (coeBase.{succ (max u2 u1), succ u2} (CategoryTheory.MonoOver.{u1, u2} C _inst_1 X) C (CategoryTheory.MonoOver.hasCoe.{u1, u2} C _inst_1 X)))) (CategoryTheory.Functor.obj.{u1, u1, max u2 u1, max u2 u1} (CategoryTheory.MonoOver.{u1, u2} C _inst_1 Y) (CategoryTheory.MonoOver.category.{u2, u1} C _inst_1 Y) (CategoryTheory.MonoOver.{u1, u2} C _inst_1 X) (CategoryTheory.MonoOver.category.{u2, u1} C _inst_1 X) (CategoryTheory.MonoOver.pullback.{u1, u2} C _inst_1 X Y _inst_3 f) g)) X) (CategoryTheory.MonoOver.arrow.{u1, u2} C _inst_1 X (CategoryTheory.Functor.obj.{u1, u1, max u2 u1, max u2 u1} (CategoryTheory.MonoOver.{u1, u2} C _inst_1 Y) (CategoryTheory.MonoOver.category.{u2, u1} C _inst_1 Y) (CategoryTheory.MonoOver.{u1, u2} C _inst_1 X) (CategoryTheory.MonoOver.category.{u2, u1} C _inst_1 X) (CategoryTheory.MonoOver.pullback.{u1, u2} C _inst_1 X Y _inst_3 f) g)) (CategoryTheory.Limits.pullback.snd.{u1, u2} C _inst_1 (CategoryTheory.Functor.obj.{u1, u1, u2, u2} C _inst_1 C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 Y) (CategoryTheory.Functor.obj.{u1, u1, max u2 u1, max u2 u1} (CategoryTheory.MonoOver.{u1, u2} C _inst_1 Y) (CategoryTheory.InducedCategory.category.{u1, max u2 u1, max u2 u1} (CategoryTheory.FullSubcategoryₓ.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 Y) (CategoryTheory.Over.category.{u2, u1} C _inst_1 Y) (fun (f : CategoryTheory.Over.{u1, u2} C _inst_1 Y) => CategoryTheory.Mono.{u1, u2} C _inst_1 (CategoryTheory.Functor.obj.{u1, u1, u2, u2} C _inst_1 C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 Y) f)) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 Y) (CategoryTheory.Comma.right.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 Y) f)) (CategoryTheory.Comma.hom.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 Y) f))) (CategoryTheory.Over.{u1, u2} C _inst_1 Y) (CategoryTheory.Over.category.{u2, u1} C _inst_1 Y) (CategoryTheory.FullSubcategoryₓ.obj.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 Y) (CategoryTheory.Over.category.{u2, u1} C _inst_1 Y) (fun (f : CategoryTheory.Over.{u1, u2} C _inst_1 Y) => CategoryTheory.Mono.{u1, u2} C _inst_1 (CategoryTheory.Functor.obj.{u1, u1, u2, u2} C _inst_1 C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 Y) f)) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 Y) (CategoryTheory.Comma.right.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 Y) f)) (CategoryTheory.Comma.hom.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 Y) f)))) (CategoryTheory.Over.{u1, u2} C _inst_1 Y) (CategoryTheory.Over.category.{u2, u1} C _inst_1 Y) (CategoryTheory.MonoOver.forget.{u1, u2} C _inst_1 Y) g))) X (CategoryTheory.Functor.obj.{u1, u1, u1, u2} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 Y) (CategoryTheory.Comma.right.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 Y) (CategoryTheory.Functor.obj.{u1, u1, max u2 u1, max u2 u1} (CategoryTheory.MonoOver.{u1, u2} C _inst_1 Y) (CategoryTheory.InducedCategory.category.{u1, max u2 u1, max u2 u1} (CategoryTheory.FullSubcategoryₓ.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 Y) (CategoryTheory.Over.category.{u2, u1} C _inst_1 Y) (fun (f : CategoryTheory.Over.{u1, u2} C _inst_1 Y) => CategoryTheory.Mono.{u1, u2} C _inst_1 (CategoryTheory.Functor.obj.{u1, u1, u2, u2} C _inst_1 C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 Y) f)) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 Y) (CategoryTheory.Comma.right.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 Y) f)) (CategoryTheory.Comma.hom.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 Y) f))) (CategoryTheory.Over.{u1, u2} C _inst_1 Y) (CategoryTheory.Over.category.{u2, u1} C _inst_1 Y) (CategoryTheory.FullSubcategoryₓ.obj.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 Y) (CategoryTheory.Over.category.{u2, u1} C _inst_1 Y) (fun (f : CategoryTheory.Over.{u1, u2} C _inst_1 Y) => CategoryTheory.Mono.{u1, u2} C _inst_1 (CategoryTheory.Functor.obj.{u1, u1, u2, u2} C _inst_1 C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 Y) f)) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 Y) (CategoryTheory.Comma.right.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 Y) f)) (CategoryTheory.Comma.hom.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 Y) f)))) (CategoryTheory.Over.{u1, u2} C _inst_1 Y) (CategoryTheory.Over.category.{u2, u1} C _inst_1 Y) (CategoryTheory.MonoOver.forget.{u1, u2} C _inst_1 Y) g))) (CategoryTheory.Comma.hom.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 Y) (CategoryTheory.Functor.obj.{u1, u1, max u2 u1, max u2 u1} (CategoryTheory.MonoOver.{u1, u2} C _inst_1 Y) (CategoryTheory.InducedCategory.category.{u1, max u2 u1, max u2 u1} (CategoryTheory.FullSubcategoryₓ.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 Y) (CategoryTheory.Over.category.{u2, u1} C _inst_1 Y) (fun (f : CategoryTheory.Over.{u1, u2} C _inst_1 Y) => CategoryTheory.Mono.{u1, u2} C _inst_1 (CategoryTheory.Functor.obj.{u1, u1, u2, u2} C _inst_1 C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 Y) f)) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 Y) (CategoryTheory.Comma.right.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 Y) f)) (CategoryTheory.Comma.hom.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 Y) f))) (CategoryTheory.Over.{u1, u2} C _inst_1 Y) (CategoryTheory.Over.category.{u2, u1} C _inst_1 Y) (CategoryTheory.FullSubcategoryₓ.obj.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 Y) (CategoryTheory.Over.category.{u2, u1} C _inst_1 Y) (fun (f : CategoryTheory.Over.{u1, u2} C _inst_1 Y) => CategoryTheory.Mono.{u1, u2} C _inst_1 (CategoryTheory.Functor.obj.{u1, u1, u2, u2} C _inst_1 C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 Y) f)) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 Y) (CategoryTheory.Comma.right.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 Y) f)) (CategoryTheory.Comma.hom.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 Y) f)))) (CategoryTheory.Over.{u1, u2} C _inst_1 Y) (CategoryTheory.Over.category.{u2, u1} C _inst_1 Y) (CategoryTheory.MonoOver.forget.{u1, u2} C _inst_1 Y) g)) f (CategoryTheory.Over.pullback._proof_1.{u2, u1} C _inst_1 _inst_3 X Y f (CategoryTheory.Functor.obj.{u1, u1, max u2 u1, max u2 u1} (CategoryTheory.MonoOver.{u1, u2} C _inst_1 Y) (CategoryTheory.InducedCategory.category.{u1, max u2 u1, max u2 u1} (CategoryTheory.FullSubcategoryₓ.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 Y) (CategoryTheory.Over.category.{u2, u1} C _inst_1 Y) (fun (f : CategoryTheory.Over.{u1, u2} C _inst_1 Y) => CategoryTheory.Mono.{u1, u2} C _inst_1 (CategoryTheory.Functor.obj.{u1, u1, u2, u2} C _inst_1 C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 Y) f)) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 Y) (CategoryTheory.Comma.right.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 Y) f)) (CategoryTheory.Comma.hom.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 Y) f))) (CategoryTheory.Over.{u1, u2} C _inst_1 Y) (CategoryTheory.Over.category.{u2, u1} C _inst_1 Y) (CategoryTheory.FullSubcategoryₓ.obj.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 Y) (CategoryTheory.Over.category.{u2, u1} C _inst_1 Y) (fun (f : CategoryTheory.Over.{u1, u2} C _inst_1 Y) => CategoryTheory.Mono.{u1, u2} C _inst_1 (CategoryTheory.Functor.obj.{u1, u1, u2, u2} C _inst_1 C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 Y) f)) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 Y) (CategoryTheory.Comma.right.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 Y) f)) (CategoryTheory.Comma.hom.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 Y) f)))) (CategoryTheory.Over.{u1, u2} C _inst_1 Y) (CategoryTheory.Over.category.{u2, u1} C _inst_1 Y) (CategoryTheory.MonoOver.forget.{u1, u2} C _inst_1 Y) g)))
+but is expected to have type
+  forall {C : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} C] {X : C} {Y : C} [_inst_3 : CategoryTheory.Limits.HasPullbacks.{u1, u2} C _inst_1] (f : Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) X Y) (g : CategoryTheory.MonoOver.{u1, u2} C _inst_1 Y), Eq.{succ u1} (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 X) (CategoryTheory.FullSubcategory.obj.{max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 X) (fun (f : CategoryTheory.Over.{u1, u2} C _inst_1 X) => CategoryTheory.Mono.{u1, u2} C _inst_1 (Prefunctor.obj.{succ u1, succ u1, u2, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u2, u2} C _inst_1 C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1)) (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 X) f)) (Prefunctor.obj.{succ u1, succ u1, u1, u2} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.Category.toCategoryStruct.{u1, u1} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}))) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u2} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 X)) (CategoryTheory.Comma.right.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 X) f)) (CategoryTheory.Comma.hom.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 X) f)) (Prefunctor.obj.{succ u1, succ u1, max u2 u1, max u2 u1} (CategoryTheory.MonoOver.{u1, u2} C _inst_1 Y) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u2 u1} (CategoryTheory.MonoOver.{u1, u2} C _inst_1 Y) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 u1} (CategoryTheory.MonoOver.{u1, u2} C _inst_1 Y) (CategoryTheory.instCategoryMonoOver.{u1, u2} C _inst_1 Y))) (CategoryTheory.MonoOver.{u1, u2} C _inst_1 X) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u2 u1} (CategoryTheory.MonoOver.{u1, u2} C _inst_1 X) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 u1} (CategoryTheory.MonoOver.{u1, u2} C _inst_1 X) (CategoryTheory.instCategoryMonoOver.{u1, u2} C _inst_1 X))) (CategoryTheory.Functor.toPrefunctor.{u1, u1, max u2 u1, max u2 u1} (CategoryTheory.MonoOver.{u1, u2} C _inst_1 Y) (CategoryTheory.instCategoryMonoOver.{u1, u2} C _inst_1 Y) (CategoryTheory.MonoOver.{u1, u2} C _inst_1 X) (CategoryTheory.instCategoryMonoOver.{u1, u2} C _inst_1 X) (CategoryTheory.MonoOver.pullback.{u1, u2} C _inst_1 X Y _inst_3 f)) g))) X) (CategoryTheory.MonoOver.arrow.{u1, u2} C _inst_1 X (Prefunctor.obj.{succ u1, succ u1, max u2 u1, max u2 u1} (CategoryTheory.MonoOver.{u1, u2} C _inst_1 Y) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u2 u1} (CategoryTheory.MonoOver.{u1, u2} C _inst_1 Y) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 u1} (CategoryTheory.MonoOver.{u1, u2} C _inst_1 Y) (CategoryTheory.instCategoryMonoOver.{u1, u2} C _inst_1 Y))) (CategoryTheory.MonoOver.{u1, u2} C _inst_1 X) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u2 u1} (CategoryTheory.MonoOver.{u1, u2} C _inst_1 X) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 u1} (CategoryTheory.MonoOver.{u1, u2} C _inst_1 X) (CategoryTheory.instCategoryMonoOver.{u1, u2} C _inst_1 X))) (CategoryTheory.Functor.toPrefunctor.{u1, u1, max u2 u1, max u2 u1} (CategoryTheory.MonoOver.{u1, u2} C _inst_1 Y) (CategoryTheory.instCategoryMonoOver.{u1, u2} C _inst_1 Y) (CategoryTheory.MonoOver.{u1, u2} C _inst_1 X) (CategoryTheory.instCategoryMonoOver.{u1, u2} C _inst_1 X) (CategoryTheory.MonoOver.pullback.{u1, u2} C _inst_1 X Y _inst_3 f)) g)) (CategoryTheory.Limits.pullback.snd.{u1, u2} C _inst_1 (Prefunctor.obj.{succ u1, succ u1, u2, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u2, u2} C _inst_1 C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1)) (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 Y) (Prefunctor.obj.{succ u1, succ u1, max u2 u1, max u2 u1} (CategoryTheory.MonoOver.{u1, u2} C _inst_1 Y) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u2 u1} (CategoryTheory.MonoOver.{u1, u2} C _inst_1 Y) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 u1} (CategoryTheory.MonoOver.{u1, u2} C _inst_1 Y) (CategoryTheory.instCategoryMonoOver.{u1, u2} C _inst_1 Y))) (CategoryTheory.Over.{u1, u2} C _inst_1 Y) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 Y) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 Y) (CategoryTheory.instCategoryOver.{u1, u2} C _inst_1 Y))) (CategoryTheory.Functor.toPrefunctor.{u1, u1, max u2 u1, max u2 u1} (CategoryTheory.MonoOver.{u1, u2} C _inst_1 Y) (CategoryTheory.instCategoryMonoOver.{u1, u2} C _inst_1 Y) (CategoryTheory.Over.{u1, u2} C _inst_1 Y) (CategoryTheory.instCategoryOver.{u1, u2} C _inst_1 Y) (CategoryTheory.MonoOver.forget.{u1, u2} C _inst_1 Y)) g))) X (Prefunctor.obj.{succ u1, succ u1, u1, u2} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.Category.toCategoryStruct.{u1, u1} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}))) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u2} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 Y)) (CategoryTheory.Comma.right.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 Y) (Prefunctor.obj.{succ u1, succ u1, max u2 u1, max u2 u1} (CategoryTheory.MonoOver.{u1, u2} C _inst_1 Y) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u2 u1} (CategoryTheory.MonoOver.{u1, u2} C _inst_1 Y) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 u1} (CategoryTheory.MonoOver.{u1, u2} C _inst_1 Y) (CategoryTheory.instCategoryMonoOver.{u1, u2} C _inst_1 Y))) (CategoryTheory.Over.{u1, u2} C _inst_1 Y) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 Y) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 Y) (CategoryTheory.instCategoryOver.{u1, u2} C _inst_1 Y))) (CategoryTheory.Functor.toPrefunctor.{u1, u1, max u2 u1, max u2 u1} (CategoryTheory.MonoOver.{u1, u2} C _inst_1 Y) (CategoryTheory.instCategoryMonoOver.{u1, u2} C _inst_1 Y) (CategoryTheory.Over.{u1, u2} C _inst_1 Y) (CategoryTheory.instCategoryOver.{u1, u2} C _inst_1 Y) (CategoryTheory.MonoOver.forget.{u1, u2} C _inst_1 Y)) g))) (CategoryTheory.Comma.hom.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 Y) (Prefunctor.obj.{succ u1, succ u1, max u2 u1, max u2 u1} (CategoryTheory.MonoOver.{u1, u2} C _inst_1 Y) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u2 u1} (CategoryTheory.MonoOver.{u1, u2} C _inst_1 Y) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 u1} (CategoryTheory.MonoOver.{u1, u2} C _inst_1 Y) (CategoryTheory.instCategoryMonoOver.{u1, u2} C _inst_1 Y))) (CategoryTheory.Over.{u1, u2} C _inst_1 Y) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 Y) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 Y) (CategoryTheory.instCategoryOver.{u1, u2} C _inst_1 Y))) (CategoryTheory.Functor.toPrefunctor.{u1, u1, max u2 u1, max u2 u1} (CategoryTheory.MonoOver.{u1, u2} C _inst_1 Y) (CategoryTheory.instCategoryMonoOver.{u1, u2} C _inst_1 Y) (CategoryTheory.Over.{u1, u2} C _inst_1 Y) (CategoryTheory.instCategoryOver.{u1, u2} C _inst_1 Y) (CategoryTheory.MonoOver.forget.{u1, u2} C _inst_1 Y)) g)) f (CategoryTheory.Over.pullback.proof_1.{u1, u2} C _inst_1 _inst_3 X Y f (Prefunctor.obj.{succ u1, succ u1, max u2 u1, max u2 u1} (CategoryTheory.MonoOver.{u1, u2} C _inst_1 Y) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u2 u1} (CategoryTheory.MonoOver.{u1, u2} C _inst_1 Y) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 u1} (CategoryTheory.MonoOver.{u1, u2} C _inst_1 Y) (CategoryTheory.instCategoryMonoOver.{u1, u2} C _inst_1 Y))) (CategoryTheory.Over.{u1, u2} C _inst_1 Y) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 Y) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 Y) (CategoryTheory.instCategoryOver.{u1, u2} C _inst_1 Y))) (CategoryTheory.Functor.toPrefunctor.{u1, u1, max u2 u1, max u2 u1} (CategoryTheory.MonoOver.{u1, u2} C _inst_1 Y) (CategoryTheory.instCategoryMonoOver.{u1, u2} C _inst_1 Y) (CategoryTheory.Over.{u1, u2} C _inst_1 Y) (CategoryTheory.instCategoryOver.{u1, u2} C _inst_1 Y) (CategoryTheory.MonoOver.forget.{u1, u2} C _inst_1 Y)) g)))
+Case conversion may be inaccurate. Consider using '#align category_theory.mono_over.pullback_obj_arrow CategoryTheory.MonoOver.pullback_obj_arrowₓ'. -/
 @[simp]
 theorem pullback_obj_arrow (f : X ⟶ Y) (g : MonoOver Y) :
     ((pullback f).obj g).arrow = pullback.snd :=
@@ -244,43 +360,71 @@ section Map
 
 attribute [instance] mono_comp
 
+#print CategoryTheory.MonoOver.map /-
 /-- We can map monomorphisms over `X` to monomorphisms over `Y`
 by post-composition with a monomorphism `f : X ⟶ Y`.
 -/
 def map (f : X ⟶ Y) [Mono f] : MonoOver X ⥤ MonoOver Y :=
   lift (Over.map f) fun g => by apply mono_comp g.arrow f
 #align category_theory.mono_over.map CategoryTheory.MonoOver.map
+-/
 
+#print CategoryTheory.MonoOver.mapComp /-
 /-- `mono_over.map` commutes with composition (up to a natural isomorphism). -/
 def mapComp (f : X ⟶ Y) (g : Y ⟶ Z) [Mono f] [Mono g] : map (f ≫ g) ≅ map f ⋙ map g :=
   liftIso _ _ (Over.mapComp _ _) ≪≫ (liftComp _ _ _ _).symm
 #align category_theory.mono_over.map_comp CategoryTheory.MonoOver.mapComp
+-/
 
+#print CategoryTheory.MonoOver.mapId /-
 /-- `mono_over.map` preserves the identity (up to a natural isomorphism). -/
 def mapId : map (𝟙 X) ≅ 𝟭 _ :=
   liftIso _ _ Over.mapId ≪≫ liftId
 #align category_theory.mono_over.map_id CategoryTheory.MonoOver.mapId
+-/
 
+/- warning: category_theory.mono_over.map_obj_left -> CategoryTheory.MonoOver.map_obj_left is a dubious translation:
+lean 3 declaration is
+  forall {C : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} C] {X : C} {Y : C} (f : Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) X Y) [_inst_3 : CategoryTheory.Mono.{u1, u2} C _inst_1 X Y f] (g : CategoryTheory.MonoOver.{u1, u2} C _inst_1 X), Eq.{succ u2} C ((fun (a : Type.{max u2 u1}) (b : Type.{u2}) [self : HasLiftT.{succ (max u2 u1), succ u2} a b] => self.0) (CategoryTheory.MonoOver.{u1, u2} C _inst_1 Y) C (HasLiftT.mk.{succ (max u2 u1), succ u2} (CategoryTheory.MonoOver.{u1, u2} C _inst_1 Y) C (CoeTCₓ.coe.{succ (max u2 u1), succ u2} (CategoryTheory.MonoOver.{u1, u2} C _inst_1 Y) C (coeBase.{succ (max u2 u1), succ u2} (CategoryTheory.MonoOver.{u1, u2} C _inst_1 Y) C (CategoryTheory.MonoOver.hasCoe.{u1, u2} C _inst_1 Y)))) (CategoryTheory.Functor.obj.{u1, u1, max u2 u1, max u2 u1} (CategoryTheory.MonoOver.{u1, u2} C _inst_1 X) (CategoryTheory.MonoOver.category.{u2, u1} C _inst_1 X) (CategoryTheory.MonoOver.{u1, u2} C _inst_1 Y) (CategoryTheory.MonoOver.category.{u2, u1} C _inst_1 Y) (CategoryTheory.MonoOver.map.{u1, u2} C _inst_1 X Y f _inst_3) g)) (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 X) (CategoryTheory.FullSubcategoryₓ.obj.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 X) (CategoryTheory.Over.category.{u2, u1} C _inst_1 X) (fun (f : CategoryTheory.Over.{u1, u2} C _inst_1 X) => CategoryTheory.Mono.{u1, u2} C _inst_1 (CategoryTheory.Functor.obj.{u1, u1, u2, u2} C _inst_1 C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 X) f)) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 X) (CategoryTheory.Comma.right.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 X) f)) (CategoryTheory.Comma.hom.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 X) f)) g))
+but is expected to have type
+  forall {C : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} C] {X : C} {Y : C} (f : Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) X Y) [_inst_3 : CategoryTheory.Mono.{u1, u2} C _inst_1 X Y f] (g : CategoryTheory.MonoOver.{u1, u2} C _inst_1 X), Eq.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 Y) (CategoryTheory.FullSubcategory.obj.{max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 Y) (fun (f : CategoryTheory.Over.{u1, u2} C _inst_1 Y) => CategoryTheory.Mono.{u1, u2} C _inst_1 (Prefunctor.obj.{succ u1, succ u1, u2, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u2, u2} C _inst_1 C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1)) (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 Y) f)) (Prefunctor.obj.{succ u1, succ u1, u1, u2} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.Category.toCategoryStruct.{u1, u1} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}))) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u2} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 Y)) (CategoryTheory.Comma.right.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 Y) f)) (CategoryTheory.Comma.hom.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 Y) f)) (Prefunctor.obj.{succ u1, succ u1, max u2 u1, max u2 u1} (CategoryTheory.MonoOver.{u1, u2} C _inst_1 X) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u2 u1} (CategoryTheory.MonoOver.{u1, u2} C _inst_1 X) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 u1} (CategoryTheory.MonoOver.{u1, u2} C _inst_1 X) (CategoryTheory.instCategoryMonoOver.{u1, u2} C _inst_1 X))) (CategoryTheory.MonoOver.{u1, u2} C _inst_1 Y) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u2 u1} (CategoryTheory.MonoOver.{u1, u2} C _inst_1 Y) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 u1} (CategoryTheory.MonoOver.{u1, u2} C _inst_1 Y) (CategoryTheory.instCategoryMonoOver.{u1, u2} C _inst_1 Y))) (CategoryTheory.Functor.toPrefunctor.{u1, u1, max u2 u1, max u2 u1} (CategoryTheory.MonoOver.{u1, u2} C _inst_1 X) (CategoryTheory.instCategoryMonoOver.{u1, u2} C _inst_1 X) (CategoryTheory.MonoOver.{u1, u2} C _inst_1 Y) (CategoryTheory.instCategoryMonoOver.{u1, u2} C _inst_1 Y) (CategoryTheory.MonoOver.map.{u1, u2} C _inst_1 X Y f _inst_3)) g))) (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 X) (CategoryTheory.FullSubcategory.obj.{max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 X) (fun (f : CategoryTheory.Over.{u1, u2} C _inst_1 X) => CategoryTheory.Mono.{u1, u2} C _inst_1 (Prefunctor.obj.{succ u1, succ u1, u2, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u2, u2} C _inst_1 C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1)) (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 X) f)) (Prefunctor.obj.{succ u1, succ u1, u1, u2} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.Category.toCategoryStruct.{u1, u1} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}))) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u2} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 X)) (CategoryTheory.Comma.right.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 X) f)) (CategoryTheory.Comma.hom.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 X) f)) g))
+Case conversion may be inaccurate. Consider using '#align category_theory.mono_over.map_obj_left CategoryTheory.MonoOver.map_obj_leftₓ'. -/
 @[simp]
 theorem map_obj_left (f : X ⟶ Y) [Mono f] (g : MonoOver X) : ((map f).obj g : C) = g.obj.left :=
   rfl
 #align category_theory.mono_over.map_obj_left CategoryTheory.MonoOver.map_obj_left
 
+/- warning: category_theory.mono_over.map_obj_arrow -> CategoryTheory.MonoOver.map_obj_arrow is a dubious translation:
+lean 3 declaration is
+  forall {C : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} C] {X : C} {Y : C} (f : Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) X Y) [_inst_3 : CategoryTheory.Mono.{u1, u2} C _inst_1 X Y f] (g : CategoryTheory.MonoOver.{u1, u2} C _inst_1 X), Eq.{succ u1} (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) ((fun (a : Type.{max u2 u1}) (b : Type.{u2}) [self : HasLiftT.{succ (max u2 u1), succ u2} a b] => self.0) (CategoryTheory.MonoOver.{u1, u2} C _inst_1 Y) C (HasLiftT.mk.{succ (max u2 u1), succ u2} (CategoryTheory.MonoOver.{u1, u2} C _inst_1 Y) C (CoeTCₓ.coe.{succ (max u2 u1), succ u2} (CategoryTheory.MonoOver.{u1, u2} C _inst_1 Y) C (coeBase.{succ (max u2 u1), succ u2} (CategoryTheory.MonoOver.{u1, u2} C _inst_1 Y) C (CategoryTheory.MonoOver.hasCoe.{u1, u2} C _inst_1 Y)))) (CategoryTheory.Functor.obj.{u1, u1, max u2 u1, max u2 u1} (CategoryTheory.MonoOver.{u1, u2} C _inst_1 X) (CategoryTheory.MonoOver.category.{u2, u1} C _inst_1 X) (CategoryTheory.MonoOver.{u1, u2} C _inst_1 Y) (CategoryTheory.MonoOver.category.{u2, u1} C _inst_1 Y) (CategoryTheory.MonoOver.map.{u1, u2} C _inst_1 X Y f _inst_3) g)) Y) (CategoryTheory.MonoOver.arrow.{u1, u2} C _inst_1 Y (CategoryTheory.Functor.obj.{u1, u1, max u2 u1, max u2 u1} (CategoryTheory.MonoOver.{u1, u2} C _inst_1 X) (CategoryTheory.MonoOver.category.{u2, u1} C _inst_1 X) (CategoryTheory.MonoOver.{u1, u2} C _inst_1 Y) (CategoryTheory.MonoOver.category.{u2, u1} C _inst_1 Y) (CategoryTheory.MonoOver.map.{u1, u2} C _inst_1 X Y f _inst_3) g)) (CategoryTheory.CategoryStruct.comp.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1) ((fun (a : Type.{max u2 u1}) (b : Type.{u2}) [self : HasLiftT.{succ (max u2 u1), succ u2} a b] => self.0) (CategoryTheory.MonoOver.{u1, u2} C _inst_1 Y) C (HasLiftT.mk.{succ (max u2 u1), succ u2} (CategoryTheory.MonoOver.{u1, u2} C _inst_1 Y) C (CoeTCₓ.coe.{succ (max u2 u1), succ u2} (CategoryTheory.MonoOver.{u1, u2} C _inst_1 Y) C (coeBase.{succ (max u2 u1), succ u2} (CategoryTheory.MonoOver.{u1, u2} C _inst_1 Y) C (CategoryTheory.MonoOver.hasCoe.{u1, u2} C _inst_1 Y)))) (CategoryTheory.Functor.obj.{u1, u1, max u2 u1, max u2 u1} (CategoryTheory.MonoOver.{u1, u2} C _inst_1 X) (CategoryTheory.MonoOver.category.{u2, u1} C _inst_1 X) (CategoryTheory.MonoOver.{u1, u2} C _inst_1 Y) (CategoryTheory.MonoOver.category.{u2, u1} C _inst_1 Y) (CategoryTheory.MonoOver.map.{u1, u2} C _inst_1 X Y f _inst_3) g)) X Y (CategoryTheory.MonoOver.arrow.{u1, u2} C _inst_1 X g) f)
+but is expected to have type
+  forall {C : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} C] {X : C} {Y : C} (f : Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) X Y) [_inst_3 : CategoryTheory.Mono.{u1, u2} C _inst_1 X Y f] (g : CategoryTheory.MonoOver.{u1, u2} C _inst_1 X), Eq.{succ u1} (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 Y) (CategoryTheory.FullSubcategory.obj.{max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 Y) (fun (f : CategoryTheory.Over.{u1, u2} C _inst_1 Y) => CategoryTheory.Mono.{u1, u2} C _inst_1 (Prefunctor.obj.{succ u1, succ u1, u2, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u2, u2} C _inst_1 C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1)) (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 Y) f)) (Prefunctor.obj.{succ u1, succ u1, u1, u2} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.Category.toCategoryStruct.{u1, u1} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}))) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u2} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 Y)) (CategoryTheory.Comma.right.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 Y) f)) (CategoryTheory.Comma.hom.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 Y) f)) (Prefunctor.obj.{succ u1, succ u1, max u2 u1, max u2 u1} (CategoryTheory.MonoOver.{u1, u2} C _inst_1 X) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u2 u1} (CategoryTheory.MonoOver.{u1, u2} C _inst_1 X) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 u1} (CategoryTheory.MonoOver.{u1, u2} C _inst_1 X) (CategoryTheory.instCategoryMonoOver.{u1, u2} C _inst_1 X))) (CategoryTheory.MonoOver.{u1, u2} C _inst_1 Y) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u2 u1} (CategoryTheory.MonoOver.{u1, u2} C _inst_1 Y) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 u1} (CategoryTheory.MonoOver.{u1, u2} C _inst_1 Y) (CategoryTheory.instCategoryMonoOver.{u1, u2} C _inst_1 Y))) (CategoryTheory.Functor.toPrefunctor.{u1, u1, max u2 u1, max u2 u1} (CategoryTheory.MonoOver.{u1, u2} C _inst_1 X) (CategoryTheory.instCategoryMonoOver.{u1, u2} C _inst_1 X) (CategoryTheory.MonoOver.{u1, u2} C _inst_1 Y) (CategoryTheory.instCategoryMonoOver.{u1, u2} C _inst_1 Y) (CategoryTheory.MonoOver.map.{u1, u2} C _inst_1 X Y f _inst_3)) g))) Y) (CategoryTheory.MonoOver.arrow.{u1, u2} C _inst_1 Y (Prefunctor.obj.{succ u1, succ u1, max u2 u1, max u2 u1} (CategoryTheory.MonoOver.{u1, u2} C _inst_1 X) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u2 u1} (CategoryTheory.MonoOver.{u1, u2} C _inst_1 X) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 u1} (CategoryTheory.MonoOver.{u1, u2} C _inst_1 X) (CategoryTheory.instCategoryMonoOver.{u1, u2} C _inst_1 X))) (CategoryTheory.MonoOver.{u1, u2} C _inst_1 Y) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u2 u1} (CategoryTheory.MonoOver.{u1, u2} C _inst_1 Y) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 u1} (CategoryTheory.MonoOver.{u1, u2} C _inst_1 Y) (CategoryTheory.instCategoryMonoOver.{u1, u2} C _inst_1 Y))) (CategoryTheory.Functor.toPrefunctor.{u1, u1, max u2 u1, max u2 u1} (CategoryTheory.MonoOver.{u1, u2} C _inst_1 X) (CategoryTheory.instCategoryMonoOver.{u1, u2} C _inst_1 X) (CategoryTheory.MonoOver.{u1, u2} C _inst_1 Y) (CategoryTheory.instCategoryMonoOver.{u1, u2} C _inst_1 Y) (CategoryTheory.MonoOver.map.{u1, u2} C _inst_1 X Y f _inst_3)) g)) (CategoryTheory.CategoryStruct.comp.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1) (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 X) (CategoryTheory.FullSubcategory.obj.{max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 X) (fun (f : CategoryTheory.Over.{u1, u2} C _inst_1 X) => CategoryTheory.Mono.{u1, u2} C _inst_1 (Prefunctor.obj.{succ u1, succ u1, u2, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u2, u2} C _inst_1 C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1)) (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 X) f)) (Prefunctor.obj.{succ u1, succ u1, u1, u2} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.Category.toCategoryStruct.{u1, u1} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}))) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u2} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 X)) (CategoryTheory.Comma.right.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 X) f)) (CategoryTheory.Comma.hom.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 X) f)) g)) X Y (CategoryTheory.MonoOver.arrow.{u1, u2} C _inst_1 X g) f)
+Case conversion may be inaccurate. Consider using '#align category_theory.mono_over.map_obj_arrow CategoryTheory.MonoOver.map_obj_arrowₓ'. -/
 @[simp]
 theorem map_obj_arrow (f : X ⟶ Y) [Mono f] (g : MonoOver X) : ((map f).obj g).arrow = g.arrow ≫ f :=
   rfl
 #align category_theory.mono_over.map_obj_arrow CategoryTheory.MonoOver.map_obj_arrow
 
+#print CategoryTheory.MonoOver.fullMap /-
 instance fullMap (f : X ⟶ Y) [Mono f] : Full (map f)
     where preimage g h e := by
     refine' hom_mk e.left _
     rw [← cancel_mono f, assoc]
     apply w e
 #align category_theory.mono_over.full_map CategoryTheory.MonoOver.fullMap
+-/
 
+#print CategoryTheory.MonoOver.faithful_map /-
 instance faithful_map (f : X ⟶ Y) [Mono f] : Faithful (map f) where
 #align category_theory.mono_over.faithful_map CategoryTheory.MonoOver.faithful_map
+-/
 
+/- warning: category_theory.mono_over.map_iso -> CategoryTheory.MonoOver.mapIso is a dubious translation:
+lean 3 declaration is
+  forall {C : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} C] {A : C} {B : C}, (CategoryTheory.Iso.{u1, u2} C _inst_1 A B) -> (CategoryTheory.Equivalence.{u1, u1, max u2 u1, max u2 u1} (CategoryTheory.MonoOver.{u1, u2} C _inst_1 A) (CategoryTheory.MonoOver.category.{u2, u1} C _inst_1 A) (CategoryTheory.MonoOver.{u1, u2} C _inst_1 B) (CategoryTheory.MonoOver.category.{u2, u1} C _inst_1 B))
+but is expected to have type
+  forall {C : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} C] {A : C} {B : C}, (CategoryTheory.Iso.{u1, u2} C _inst_1 A B) -> (CategoryTheory.Equivalence.{u1, u1, max u2 u1, max u2 u1} (CategoryTheory.MonoOver.{u1, u2} C _inst_1 A) (CategoryTheory.MonoOver.{u1, u2} C _inst_1 B) (CategoryTheory.instCategoryMonoOver.{u1, u2} C _inst_1 A) (CategoryTheory.instCategoryMonoOver.{u1, u2} C _inst_1 B))
+Case conversion may be inaccurate. Consider using '#align category_theory.mono_over.map_iso CategoryTheory.MonoOver.mapIsoₓ'. -/
 /-- Isomorphic objects have equivalent `mono_over` categories.
 -/
 @[simps]
@@ -296,6 +440,12 @@ section
 
 variable (X)
 
+/- warning: category_theory.mono_over.congr -> CategoryTheory.MonoOver.congr is a dubious translation:
+lean 3 declaration is
+  forall {C : Type.{u3}} [_inst_1 : CategoryTheory.Category.{u1, u3} C] (X : C) {D : Type.{u4}} [_inst_2 : CategoryTheory.Category.{u2, u4} D] (e : CategoryTheory.Equivalence.{u1, u2, u3, u4} C _inst_1 D _inst_2), CategoryTheory.Equivalence.{u1, u2, max u3 u1, max u4 u2} (CategoryTheory.MonoOver.{u1, u3} C _inst_1 X) (CategoryTheory.MonoOver.category.{u3, u1} C _inst_1 X) (CategoryTheory.MonoOver.{u2, u4} D _inst_2 (CategoryTheory.Functor.obj.{u1, u2, u3, u4} C _inst_1 D _inst_2 (CategoryTheory.Equivalence.functor.{u1, u2, u3, u4} C _inst_1 D _inst_2 e) X)) (CategoryTheory.MonoOver.category.{u4, u2} D _inst_2 (CategoryTheory.Functor.obj.{u1, u2, u3, u4} C _inst_1 D _inst_2 (CategoryTheory.Equivalence.functor.{u1, u2, u3, u4} C _inst_1 D _inst_2 e) X))
+but is expected to have type
+  forall {C : Type.{u3}} [_inst_1 : CategoryTheory.Category.{u1, u3} C] (X : C) {D : Type.{u4}} [_inst_2 : CategoryTheory.Category.{u2, u4} D] (e : CategoryTheory.Equivalence.{u1, u2, u3, u4} C D _inst_1 _inst_2), CategoryTheory.Equivalence.{u1, u2, max u3 u1, max u4 u2} (CategoryTheory.MonoOver.{u1, u3} C _inst_1 X) (CategoryTheory.MonoOver.{u2, u4} D _inst_2 (Prefunctor.obj.{succ u1, succ u2, u3, u4} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} C (CategoryTheory.Category.toCategoryStruct.{u1, u3} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u2, u4} D (CategoryTheory.Category.toCategoryStruct.{u2, u4} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u2, u3, u4} C _inst_1 D _inst_2 (CategoryTheory.Equivalence.functor.{u1, u2, u3, u4} C D _inst_1 _inst_2 e)) X)) (CategoryTheory.instCategoryMonoOver.{u1, u3} C _inst_1 X) (CategoryTheory.instCategoryMonoOver.{u2, u4} D _inst_2 (Prefunctor.obj.{succ u1, succ u2, u3, u4} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} C (CategoryTheory.Category.toCategoryStruct.{u1, u3} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u2, u4} D (CategoryTheory.Category.toCategoryStruct.{u2, u4} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u2, u3, u4} C _inst_1 D _inst_2 (CategoryTheory.Equivalence.functor.{u1, u2, u3, u4} C D _inst_1 _inst_2 e)) X))
+Case conversion may be inaccurate. Consider using '#align category_theory.mono_over.congr CategoryTheory.MonoOver.congrₓ'. -/
 /-- An equivalence of categories `e` between `C` and `D` induces an equivalence between
     `mono_over X` and `mono_over (e.functor.obj X)` whenever `X` is an object of `C`. -/
 @[simps]
@@ -320,16 +470,20 @@ section
 
 variable [HasPullbacks C]
 
+#print CategoryTheory.MonoOver.mapPullbackAdj /-
 /-- `map f` is left adjoint to `pullback f` when `f` is a monomorphism -/
 def mapPullbackAdj (f : X ⟶ Y) [Mono f] : map f ⊣ pullback f :=
   Adjunction.restrictFullyFaithful (forget X) (forget Y) (Over.mapPullbackAdj f) (Iso.refl _)
     (Iso.refl _)
 #align category_theory.mono_over.map_pullback_adj CategoryTheory.MonoOver.mapPullbackAdj
+-/
 
+#print CategoryTheory.MonoOver.pullbackMapSelf /-
 /-- `mono_over.map f` followed by `mono_over.pullback f` is the identity. -/
 def pullbackMapSelf (f : X ⟶ Y) [Mono f] : map f ⋙ pullback f ≅ 𝟭 _ :=
   (asIso (MonoOver.mapPullbackAdj f).Unit).symm
 #align category_theory.mono_over.pullback_map_self CategoryTheory.MonoOver.pullbackMapSelf
+-/
 
 end
 
@@ -339,12 +493,20 @@ section Image
 
 variable (f : X ⟶ Y) [HasImage f]
 
+#print CategoryTheory.MonoOver.imageMonoOver /-
 /-- The `mono_over Y` for the image inclusion for a morphism `f : X ⟶ Y`.
 -/
 def imageMonoOver (f : X ⟶ Y) [HasImage f] : MonoOver Y :=
   MonoOver.mk' (image.ι f)
 #align category_theory.mono_over.image_mono_over CategoryTheory.MonoOver.imageMonoOver
+-/
 
+/- warning: category_theory.mono_over.image_mono_over_arrow -> CategoryTheory.MonoOver.imageMonoOver_arrow is a dubious translation:
+lean 3 declaration is
+  forall {C : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} C] {X : C} {Y : C} (f : Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) X Y) [_inst_4 : CategoryTheory.Limits.HasImage.{u1, u2} C _inst_1 X Y f], Eq.{succ u1} (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) ((fun (a : Type.{max u2 u1}) (b : Type.{u2}) [self : HasLiftT.{succ (max u2 u1), succ u2} a b] => self.0) (CategoryTheory.MonoOver.{u1, u2} C _inst_1 Y) C (HasLiftT.mk.{succ (max u2 u1), succ u2} (CategoryTheory.MonoOver.{u1, u2} C _inst_1 Y) C (CoeTCₓ.coe.{succ (max u2 u1), succ u2} (CategoryTheory.MonoOver.{u1, u2} C _inst_1 Y) C (coeBase.{succ (max u2 u1), succ u2} (CategoryTheory.MonoOver.{u1, u2} C _inst_1 Y) C (CategoryTheory.MonoOver.hasCoe.{u1, u2} C _inst_1 Y)))) (CategoryTheory.MonoOver.imageMonoOver.{u1, u2} C _inst_1 X Y f _inst_4)) Y) (CategoryTheory.MonoOver.arrow.{u1, u2} C _inst_1 Y (CategoryTheory.MonoOver.imageMonoOver.{u1, u2} C _inst_1 X Y f _inst_4)) (CategoryTheory.Limits.image.ι.{u1, u2} C _inst_1 X Y f _inst_4)
+but is expected to have type
+  forall {C : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} C] {X : C} {Y : C} (f : Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) X Y) [_inst_4 : CategoryTheory.Limits.HasImage.{u1, u2} C _inst_1 X Y f], Eq.{succ u1} (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 Y) (CategoryTheory.FullSubcategory.obj.{max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 Y) (fun (f : CategoryTheory.Over.{u1, u2} C _inst_1 Y) => CategoryTheory.Mono.{u1, u2} C _inst_1 (Prefunctor.obj.{succ u1, succ u1, u2, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u2, u2} C _inst_1 C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1)) (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 Y) f)) (Prefunctor.obj.{succ u1, succ u1, u1, u2} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.Category.toCategoryStruct.{u1, u1} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}))) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u2} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 Y)) (CategoryTheory.Comma.right.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 Y) f)) (CategoryTheory.Comma.hom.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 Y) f)) (CategoryTheory.MonoOver.imageMonoOver.{u1, u2} C _inst_1 X Y f _inst_4))) Y) (CategoryTheory.MonoOver.arrow.{u1, u2} C _inst_1 Y (CategoryTheory.MonoOver.imageMonoOver.{u1, u2} C _inst_1 X Y f _inst_4)) (CategoryTheory.Limits.image.ι.{u1, u2} C _inst_1 X Y f _inst_4)
+Case conversion may be inaccurate. Consider using '#align category_theory.mono_over.image_mono_over_arrow CategoryTheory.MonoOver.imageMonoOver_arrowₓ'. -/
 @[simp]
 theorem imageMonoOver_arrow (f : X ⟶ Y) [HasImage f] : (imageMonoOver f).arrow = image.ι f :=
   rfl
@@ -356,6 +518,7 @@ section Image
 
 variable [HasImages C]
 
+#print CategoryTheory.MonoOver.image /-
 /-- Taking the image of a morphism gives a functor `over X ⥤ mono_over X`.
 -/
 @[simps]
@@ -371,7 +534,9 @@ def image : Over X ⥤ MonoOver X where
           e := k.left ≫ factor_thru_image g.hom }
     apply image.lift_fac
 #align category_theory.mono_over.image CategoryTheory.MonoOver.image
+-/
 
+#print CategoryTheory.MonoOver.imageForgetAdj /-
 /-- `mono_over.image : over X ⥤ mono_over X` is left adjoint to
 `mono_over.forget : mono_over X ⥤ over X`
 -/
@@ -401,14 +566,27 @@ def imageForgetAdj : image ⊣ forget X :=
             rw [← cancel_mono g.arrow, assoc, image.lift_fac, image.fac f.hom]
             exact (over.w k).symm } }
 #align category_theory.mono_over.image_forget_adj CategoryTheory.MonoOver.imageForgetAdj
+-/
 
 instance : IsRightAdjoint (forget X) where
   left := image
   adj := imageForgetAdj
 
+/- warning: category_theory.mono_over.reflective -> CategoryTheory.MonoOver.reflective is a dubious translation:
+lean 3 declaration is
+  forall {C : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} C] {X : C} [_inst_3 : CategoryTheory.Limits.HasImages.{u1, u2} C _inst_1], CategoryTheory.Reflective.{u1, u1, max u2 u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 X) (CategoryTheory.MonoOver.{u1, u2} C _inst_1 X) (CategoryTheory.Over.category.{u2, u1} C _inst_1 X) (CategoryTheory.InducedCategory.category.{u1, max u2 u1, max u2 u1} (CategoryTheory.FullSubcategoryₓ.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 X) (CategoryTheory.Over.category.{u2, u1} C _inst_1 X) (fun (f : CategoryTheory.Over.{u1, u2} C _inst_1 X) => CategoryTheory.Mono.{u1, u2} C _inst_1 (CategoryTheory.Functor.obj.{u1, u1, u2, u2} C _inst_1 C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 X) f)) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 X) (CategoryTheory.Comma.right.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 X) f)) (CategoryTheory.Comma.hom.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 X) f))) (CategoryTheory.Over.{u1, u2} C _inst_1 X) (CategoryTheory.Over.category.{u2, u1} C _inst_1 X) (CategoryTheory.FullSubcategoryₓ.obj.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 X) (CategoryTheory.Over.category.{u2, u1} C _inst_1 X) (fun (f : CategoryTheory.Over.{u1, u2} C _inst_1 X) => CategoryTheory.Mono.{u1, u2} C _inst_1 (CategoryTheory.Functor.obj.{u1, u1, u2, u2} C _inst_1 C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 X) f)) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 X) (CategoryTheory.Comma.right.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 X) f)) (CategoryTheory.Comma.hom.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 X) f)))) (CategoryTheory.MonoOver.forget.{u1, u2} C _inst_1 X)
+but is expected to have type
+  forall {C : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} C] {X : C} [_inst_3 : CategoryTheory.Limits.HasImages.{u1, u2} C _inst_1], CategoryTheory.Reflective.{u1, u1, max u2 u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 X) (CategoryTheory.MonoOver.{u1, u2} C _inst_1 X) (CategoryTheory.instCategoryOver.{u1, u2} C _inst_1 X) (CategoryTheory.instCategoryMonoOver.{u1, u2} C _inst_1 X) (CategoryTheory.MonoOver.forget.{u1, u2} C _inst_1 X)
+Case conversion may be inaccurate. Consider using '#align category_theory.mono_over.reflective CategoryTheory.MonoOver.reflectiveₓ'. -/
 instance reflective : Reflective (forget X) where
 #align category_theory.mono_over.reflective CategoryTheory.MonoOver.reflective
 
+/- warning: category_theory.mono_over.forget_image -> CategoryTheory.MonoOver.forgetImage is a dubious translation:
+lean 3 declaration is
+  forall {C : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} C] {X : C} [_inst_3 : CategoryTheory.Limits.HasImages.{u1, u2} C _inst_1], CategoryTheory.Iso.{max u2 u1, max u2 u1} (CategoryTheory.Functor.{u1, u1, max u2 u1, max u2 u1} (CategoryTheory.MonoOver.{u1, u2} C _inst_1 X) (CategoryTheory.InducedCategory.category.{u1, max u2 u1, max u2 u1} (CategoryTheory.FullSubcategoryₓ.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 X) (CategoryTheory.Over.category.{u2, u1} C _inst_1 X) (fun (f : CategoryTheory.Over.{u1, u2} C _inst_1 X) => CategoryTheory.Mono.{u1, u2} C _inst_1 (CategoryTheory.Functor.obj.{u1, u1, u2, u2} C _inst_1 C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 X) f)) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 X) (CategoryTheory.Comma.right.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 X) f)) (CategoryTheory.Comma.hom.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 X) f))) (CategoryTheory.Over.{u1, u2} C _inst_1 X) (CategoryTheory.Over.category.{u2, u1} C _inst_1 X) (CategoryTheory.FullSubcategoryₓ.obj.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 X) (CategoryTheory.Over.category.{u2, u1} C _inst_1 X) (fun (f : CategoryTheory.Over.{u1, u2} C _inst_1 X) => CategoryTheory.Mono.{u1, u2} C _inst_1 (CategoryTheory.Functor.obj.{u1, u1, u2, u2} C _inst_1 C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 X) f)) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 X) (CategoryTheory.Comma.right.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 X) f)) (CategoryTheory.Comma.hom.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 X) f)))) (CategoryTheory.MonoOver.{u1, u2} C _inst_1 X) (CategoryTheory.MonoOver.category.{u2, u1} C _inst_1 X)) (CategoryTheory.Functor.category.{u1, u1, max u2 u1, max u2 u1} (CategoryTheory.MonoOver.{u1, u2} C _inst_1 X) (CategoryTheory.InducedCategory.category.{u1, max u2 u1, max u2 u1} (CategoryTheory.FullSubcategoryₓ.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 X) (CategoryTheory.Over.category.{u2, u1} C _inst_1 X) (fun (f : CategoryTheory.Over.{u1, u2} C _inst_1 X) => CategoryTheory.Mono.{u1, u2} C _inst_1 (CategoryTheory.Functor.obj.{u1, u1, u2, u2} C _inst_1 C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 X) f)) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 X) (CategoryTheory.Comma.right.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 X) f)) (CategoryTheory.Comma.hom.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 X) f))) (CategoryTheory.Over.{u1, u2} C _inst_1 X) (CategoryTheory.Over.category.{u2, u1} C _inst_1 X) (CategoryTheory.FullSubcategoryₓ.obj.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 X) (CategoryTheory.Over.category.{u2, u1} C _inst_1 X) (fun (f : CategoryTheory.Over.{u1, u2} C _inst_1 X) => CategoryTheory.Mono.{u1, u2} C _inst_1 (CategoryTheory.Functor.obj.{u1, u1, u2, u2} C _inst_1 C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 X) f)) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 X) (CategoryTheory.Comma.right.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 X) f)) (CategoryTheory.Comma.hom.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 X) f)))) (CategoryTheory.MonoOver.{u1, u2} C _inst_1 X) (CategoryTheory.MonoOver.category.{u2, u1} C _inst_1 X)) (CategoryTheory.Functor.comp.{u1, u1, u1, max u2 u1, max u2 u1, max u2 u1} (CategoryTheory.MonoOver.{u1, u2} C _inst_1 X) (CategoryTheory.InducedCategory.category.{u1, max u2 u1, max u2 u1} (CategoryTheory.FullSubcategoryₓ.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 X) (CategoryTheory.Over.category.{u2, u1} C _inst_1 X) (fun (f : CategoryTheory.Over.{u1, u2} C _inst_1 X) => CategoryTheory.Mono.{u1, u2} C _inst_1 (CategoryTheory.Functor.obj.{u1, u1, u2, u2} C _inst_1 C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 X) f)) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 X) (CategoryTheory.Comma.right.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 X) f)) (CategoryTheory.Comma.hom.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 X) f))) (CategoryTheory.Over.{u1, u2} C _inst_1 X) (CategoryTheory.Over.category.{u2, u1} C _inst_1 X) (CategoryTheory.FullSubcategoryₓ.obj.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 X) (CategoryTheory.Over.category.{u2, u1} C _inst_1 X) (fun (f : CategoryTheory.Over.{u1, u2} C _inst_1 X) => CategoryTheory.Mono.{u1, u2} C _inst_1 (CategoryTheory.Functor.obj.{u1, u1, u2, u2} C _inst_1 C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 X) f)) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 X) (CategoryTheory.Comma.right.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 X) f)) (CategoryTheory.Comma.hom.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 X) f)))) (CategoryTheory.Over.{u1, u2} C _inst_1 X) (CategoryTheory.Over.category.{u2, u1} C _inst_1 X) (CategoryTheory.MonoOver.{u1, u2} C _inst_1 X) (CategoryTheory.MonoOver.category.{u2, u1} C _inst_1 X) (CategoryTheory.MonoOver.forget.{u1, u2} C _inst_1 X) (CategoryTheory.MonoOver.image.{u1, u2} C _inst_1 X _inst_3)) (CategoryTheory.Functor.id.{u1, max u2 u1} (CategoryTheory.MonoOver.{u1, u2} C _inst_1 X) (CategoryTheory.InducedCategory.category.{u1, max u2 u1, max u2 u1} (CategoryTheory.FullSubcategoryₓ.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 X) (CategoryTheory.Over.category.{u2, u1} C _inst_1 X) (fun (f : CategoryTheory.Over.{u1, u2} C _inst_1 X) => CategoryTheory.Mono.{u1, u2} C _inst_1 (CategoryTheory.Functor.obj.{u1, u1, u2, u2} C _inst_1 C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 X) f)) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 X) (CategoryTheory.Comma.right.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 X) f)) (CategoryTheory.Comma.hom.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 X) f))) (CategoryTheory.Over.{u1, u2} C _inst_1 X) (CategoryTheory.Over.category.{u2, u1} C _inst_1 X) (CategoryTheory.FullSubcategoryₓ.obj.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 X) (CategoryTheory.Over.category.{u2, u1} C _inst_1 X) (fun (f : CategoryTheory.Over.{u1, u2} C _inst_1 X) => CategoryTheory.Mono.{u1, u2} C _inst_1 (CategoryTheory.Functor.obj.{u1, u1, u2, u2} C _inst_1 C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 X) f)) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 X) (CategoryTheory.Comma.right.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 X) f)) (CategoryTheory.Comma.hom.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 X) f)))))
+but is expected to have type
+  forall {C : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} C] {X : C} [_inst_3 : CategoryTheory.Limits.HasImages.{u1, u2} C _inst_1], CategoryTheory.Iso.{max u2 u1, max u2 u1} (CategoryTheory.Functor.{u1, u1, max u2 u1, max u2 u1} (CategoryTheory.MonoOver.{u1, u2} C _inst_1 X) (CategoryTheory.instCategoryMonoOver.{u1, u2} C _inst_1 X) (CategoryTheory.MonoOver.{u1, u2} C _inst_1 X) (CategoryTheory.instCategoryMonoOver.{u1, u2} C _inst_1 X)) (CategoryTheory.Functor.category.{u1, u1, max u2 u1, max u2 u1} (CategoryTheory.MonoOver.{u1, u2} C _inst_1 X) (CategoryTheory.instCategoryMonoOver.{u1, u2} C _inst_1 X) (CategoryTheory.MonoOver.{u1, u2} C _inst_1 X) (CategoryTheory.instCategoryMonoOver.{u1, u2} C _inst_1 X)) (CategoryTheory.Functor.comp.{u1, u1, u1, max u2 u1, max u2 u1, max u2 u1} (CategoryTheory.MonoOver.{u1, u2} C _inst_1 X) (CategoryTheory.instCategoryMonoOver.{u1, u2} C _inst_1 X) (CategoryTheory.Over.{u1, u2} C _inst_1 X) (CategoryTheory.instCategoryOver.{u1, u2} C _inst_1 X) (CategoryTheory.MonoOver.{u1, u2} C _inst_1 X) (CategoryTheory.instCategoryMonoOver.{u1, u2} C _inst_1 X) (CategoryTheory.MonoOver.forget.{u1, u2} C _inst_1 X) (CategoryTheory.MonoOver.image.{u1, u2} C _inst_1 X _inst_3)) (CategoryTheory.Functor.id.{u1, max u2 u1} (CategoryTheory.MonoOver.{u1, u2} C _inst_1 X) (CategoryTheory.instCategoryMonoOver.{u1, u2} C _inst_1 X))
+Case conversion may be inaccurate. Consider using '#align category_theory.mono_over.forget_image CategoryTheory.MonoOver.forgetImageₓ'. -/
 /-- Forgetting that a monomorphism over `X` is a monomorphism, then taking its image,
 is the identity functor.
 -/
@@ -422,19 +600,37 @@ section Exists
 
 variable [HasImages C]
 
+/- warning: category_theory.mono_over.exists -> CategoryTheory.MonoOver.exists_ is a dubious translation:
+lean 3 declaration is
+  forall {C : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} C] {X : C} {Y : C} [_inst_3 : CategoryTheory.Limits.HasImages.{u1, u2} C _inst_1], (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) X Y) -> (CategoryTheory.Functor.{u1, u1, max u2 u1, max u2 u1} (CategoryTheory.MonoOver.{u1, u2} C _inst_1 X) (CategoryTheory.InducedCategory.category.{u1, max u2 u1, max u2 u1} (CategoryTheory.FullSubcategoryₓ.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 X) (CategoryTheory.Over.category.{u2, u1} C _inst_1 X) (fun (f : CategoryTheory.Over.{u1, u2} C _inst_1 X) => CategoryTheory.Mono.{u1, u2} C _inst_1 (CategoryTheory.Functor.obj.{u1, u1, u2, u2} C _inst_1 C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 X) f)) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 X) (CategoryTheory.Comma.right.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 X) f)) (CategoryTheory.Comma.hom.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 X) f))) (CategoryTheory.Over.{u1, u2} C _inst_1 X) (CategoryTheory.Over.category.{u2, u1} C _inst_1 X) (CategoryTheory.FullSubcategoryₓ.obj.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 X) (CategoryTheory.Over.category.{u2, u1} C _inst_1 X) (fun (f : CategoryTheory.Over.{u1, u2} C _inst_1 X) => CategoryTheory.Mono.{u1, u2} C _inst_1 (CategoryTheory.Functor.obj.{u1, u1, u2, u2} C _inst_1 C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 X) f)) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 X) (CategoryTheory.Comma.right.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 X) f)) (CategoryTheory.Comma.hom.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 X) f)))) (CategoryTheory.MonoOver.{u1, u2} C _inst_1 Y) (CategoryTheory.MonoOver.category.{u2, u1} C _inst_1 Y))
+but is expected to have type
+  forall {C : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} C] {X : C} {Y : C} [_inst_3 : CategoryTheory.Limits.HasImages.{u1, u2} C _inst_1], (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) X Y) -> (CategoryTheory.Functor.{u1, u1, max u2 u1, max u2 u1} (CategoryTheory.MonoOver.{u1, u2} C _inst_1 X) (CategoryTheory.instCategoryMonoOver.{u1, u2} C _inst_1 X) (CategoryTheory.MonoOver.{u1, u2} C _inst_1 Y) (CategoryTheory.instCategoryMonoOver.{u1, u2} C _inst_1 Y))
+Case conversion may be inaccurate. Consider using '#align category_theory.mono_over.exists CategoryTheory.MonoOver.exists_ₓ'. -/
 /-- In the case where `f` is not a monomorphism but `C` has images,
 we can still take the "forward map" under it, which agrees with `mono_over.map f`.
 -/
-def exists (f : X ⟶ Y) : MonoOver X ⥤ MonoOver Y :=
+def exists_ (f : X ⟶ Y) : MonoOver X ⥤ MonoOver Y :=
   forget _ ⋙ Over.map f ⋙ image
-#align category_theory.mono_over.exists CategoryTheory.MonoOver.exists
-
-instance faithful_exists (f : X ⟶ Y) : Faithful (exists f) where
+#align category_theory.mono_over.exists CategoryTheory.MonoOver.exists_
+
+/- warning: category_theory.mono_over.faithful_exists -> CategoryTheory.MonoOver.faithful_exists is a dubious translation:
+lean 3 declaration is
+  forall {C : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} C] {X : C} {Y : C} [_inst_3 : CategoryTheory.Limits.HasImages.{u1, u2} C _inst_1] (f : Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) X Y), CategoryTheory.Faithful.{u1, u1, max u2 u1, max u2 u1} (CategoryTheory.MonoOver.{u1, u2} C _inst_1 X) (CategoryTheory.InducedCategory.category.{u1, max u2 u1, max u2 u1} (CategoryTheory.FullSubcategoryₓ.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 X) (CategoryTheory.Over.category.{u2, u1} C _inst_1 X) (fun (f : CategoryTheory.Over.{u1, u2} C _inst_1 X) => CategoryTheory.Mono.{u1, u2} C _inst_1 (CategoryTheory.Functor.obj.{u1, u1, u2, u2} C _inst_1 C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 X) f)) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 X) (CategoryTheory.Comma.right.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 X) f)) (CategoryTheory.Comma.hom.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 X) f))) (CategoryTheory.Over.{u1, u2} C _inst_1 X) (CategoryTheory.Over.category.{u2, u1} C _inst_1 X) (CategoryTheory.FullSubcategoryₓ.obj.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 X) (CategoryTheory.Over.category.{u2, u1} C _inst_1 X) (fun (f : CategoryTheory.Over.{u1, u2} C _inst_1 X) => CategoryTheory.Mono.{u1, u2} C _inst_1 (CategoryTheory.Functor.obj.{u1, u1, u2, u2} C _inst_1 C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 X) f)) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 X) (CategoryTheory.Comma.right.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 X) f)) (CategoryTheory.Comma.hom.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 X) f)))) (CategoryTheory.MonoOver.{u1, u2} C _inst_1 Y) (CategoryTheory.MonoOver.category.{u2, u1} C _inst_1 Y) (CategoryTheory.MonoOver.exists_.{u1, u2} C _inst_1 X Y _inst_3 f)
+but is expected to have type
+  forall {C : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} C] {X : C} {Y : C} [_inst_3 : CategoryTheory.Limits.HasImages.{u1, u2} C _inst_1] (f : Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) X Y), CategoryTheory.Faithful.{u1, u1, max u2 u1, max u2 u1} (CategoryTheory.MonoOver.{u1, u2} C _inst_1 X) (CategoryTheory.instCategoryMonoOver.{u1, u2} C _inst_1 X) (CategoryTheory.MonoOver.{u1, u2} C _inst_1 Y) (CategoryTheory.instCategoryMonoOver.{u1, u2} C _inst_1 Y) (CategoryTheory.MonoOver.exists_.{u1, u2} C _inst_1 X Y _inst_3 f)
+Case conversion may be inaccurate. Consider using '#align category_theory.mono_over.faithful_exists CategoryTheory.MonoOver.faithful_existsₓ'. -/
+instance faithful_exists (f : X ⟶ Y) : Faithful (exists_ f) where
 #align category_theory.mono_over.faithful_exists CategoryTheory.MonoOver.faithful_exists
 
+/- warning: category_theory.mono_over.exists_iso_map -> CategoryTheory.MonoOver.existsIsoMap is a dubious translation:
+lean 3 declaration is
+  forall {C : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} C] {X : C} {Y : C} [_inst_3 : CategoryTheory.Limits.HasImages.{u1, u2} C _inst_1] (f : Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) X Y) [_inst_4 : CategoryTheory.Mono.{u1, u2} C _inst_1 X Y f], CategoryTheory.Iso.{max u2 u1, max u2 u1} (CategoryTheory.Functor.{u1, u1, max u2 u1, max u2 u1} (CategoryTheory.MonoOver.{u1, u2} C _inst_1 X) (CategoryTheory.InducedCategory.category.{u1, max u2 u1, max u2 u1} (CategoryTheory.FullSubcategoryₓ.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 X) (CategoryTheory.Over.category.{u2, u1} C _inst_1 X) (fun (f : CategoryTheory.Over.{u1, u2} C _inst_1 X) => CategoryTheory.Mono.{u1, u2} C _inst_1 (CategoryTheory.Functor.obj.{u1, u1, u2, u2} C _inst_1 C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 X) f)) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 X) (CategoryTheory.Comma.right.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 X) f)) (CategoryTheory.Comma.hom.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 X) f))) (CategoryTheory.Over.{u1, u2} C _inst_1 X) (CategoryTheory.Over.category.{u2, u1} C _inst_1 X) (CategoryTheory.FullSubcategoryₓ.obj.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 X) (CategoryTheory.Over.category.{u2, u1} C _inst_1 X) (fun (f : CategoryTheory.Over.{u1, u2} C _inst_1 X) => CategoryTheory.Mono.{u1, u2} C _inst_1 (CategoryTheory.Functor.obj.{u1, u1, u2, u2} C _inst_1 C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 X) f)) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 X) (CategoryTheory.Comma.right.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 X) f)) (CategoryTheory.Comma.hom.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 X) f)))) (CategoryTheory.MonoOver.{u1, u2} C _inst_1 Y) (CategoryTheory.MonoOver.category.{u2, u1} C _inst_1 Y)) (CategoryTheory.Functor.category.{u1, u1, max u2 u1, max u2 u1} (CategoryTheory.MonoOver.{u1, u2} C _inst_1 X) (CategoryTheory.InducedCategory.category.{u1, max u2 u1, max u2 u1} (CategoryTheory.FullSubcategoryₓ.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 X) (CategoryTheory.Over.category.{u2, u1} C _inst_1 X) (fun (f : CategoryTheory.Over.{u1, u2} C _inst_1 X) => CategoryTheory.Mono.{u1, u2} C _inst_1 (CategoryTheory.Functor.obj.{u1, u1, u2, u2} C _inst_1 C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 X) f)) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 X) (CategoryTheory.Comma.right.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 X) f)) (CategoryTheory.Comma.hom.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 X) f))) (CategoryTheory.Over.{u1, u2} C _inst_1 X) (CategoryTheory.Over.category.{u2, u1} C _inst_1 X) (CategoryTheory.FullSubcategoryₓ.obj.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 X) (CategoryTheory.Over.category.{u2, u1} C _inst_1 X) (fun (f : CategoryTheory.Over.{u1, u2} C _inst_1 X) => CategoryTheory.Mono.{u1, u2} C _inst_1 (CategoryTheory.Functor.obj.{u1, u1, u2, u2} C _inst_1 C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 X) f)) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 X) (CategoryTheory.Comma.right.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 X) f)) (CategoryTheory.Comma.hom.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 X) f)))) (CategoryTheory.MonoOver.{u1, u2} C _inst_1 Y) (CategoryTheory.MonoOver.category.{u2, u1} C _inst_1 Y)) (CategoryTheory.MonoOver.exists_.{u1, u2} C _inst_1 X Y _inst_3 f) (CategoryTheory.MonoOver.map.{u1, u2} C _inst_1 X Y f _inst_4)
+but is expected to have type
+  forall {C : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} C] {X : C} {Y : C} [_inst_3 : CategoryTheory.Limits.HasImages.{u1, u2} C _inst_1] (f : Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) X Y) [_inst_4 : CategoryTheory.Mono.{u1, u2} C _inst_1 X Y f], CategoryTheory.Iso.{max u2 u1, max u2 u1} (CategoryTheory.Functor.{u1, u1, max u2 u1, max u2 u1} (CategoryTheory.MonoOver.{u1, u2} C _inst_1 X) (CategoryTheory.instCategoryMonoOver.{u1, u2} C _inst_1 X) (CategoryTheory.MonoOver.{u1, u2} C _inst_1 Y) (CategoryTheory.instCategoryMonoOver.{u1, u2} C _inst_1 Y)) (CategoryTheory.Functor.category.{u1, u1, max u2 u1, max u2 u1} (CategoryTheory.MonoOver.{u1, u2} C _inst_1 X) (CategoryTheory.instCategoryMonoOver.{u1, u2} C _inst_1 X) (CategoryTheory.MonoOver.{u1, u2} C _inst_1 Y) (CategoryTheory.instCategoryMonoOver.{u1, u2} C _inst_1 Y)) (CategoryTheory.MonoOver.exists_.{u1, u2} C _inst_1 X Y _inst_3 f) (CategoryTheory.MonoOver.map.{u1, u2} C _inst_1 X Y f _inst_4)
+Case conversion may be inaccurate. Consider using '#align category_theory.mono_over.exists_iso_map CategoryTheory.MonoOver.existsIsoMapₓ'. -/
 /-- When `f : X ⟶ Y` is a monomorphism, `exists f` agrees with `map f`.
 -/
-def existsIsoMap (f : X ⟶ Y) [Mono f] : exists f ≅ map f :=
+def existsIsoMap (f : X ⟶ Y) [Mono f] : exists_ f ≅ map f :=
   NatIso.ofComponents
     (by
       intro Z
@@ -454,8 +650,14 @@ def existsIsoMap (f : X ⟶ Y) [Mono f] : exists f ≅ map f :=
       apply image.lift_fac)
 #align category_theory.mono_over.exists_iso_map CategoryTheory.MonoOver.existsIsoMap
 
+/- warning: category_theory.mono_over.exists_pullback_adj -> CategoryTheory.MonoOver.existsPullbackAdj is a dubious translation:
+lean 3 declaration is
+  forall {C : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} C] {X : C} {Y : C} [_inst_3 : CategoryTheory.Limits.HasImages.{u1, u2} C _inst_1] (f : Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) X Y) [_inst_4 : CategoryTheory.Limits.HasPullbacks.{u1, u2} C _inst_1], CategoryTheory.Adjunction.{u1, u1, max u2 u1, max u2 u1} (CategoryTheory.MonoOver.{u1, u2} C _inst_1 X) (CategoryTheory.InducedCategory.category.{u1, max u2 u1, max u2 u1} (CategoryTheory.FullSubcategoryₓ.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 X) (CategoryTheory.Over.category.{u2, u1} C _inst_1 X) (fun (f : CategoryTheory.Over.{u1, u2} C _inst_1 X) => CategoryTheory.Mono.{u1, u2} C _inst_1 (CategoryTheory.Functor.obj.{u1, u1, u2, u2} C _inst_1 C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 X) f)) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 X) (CategoryTheory.Comma.right.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 X) f)) (CategoryTheory.Comma.hom.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 X) f))) (CategoryTheory.Over.{u1, u2} C _inst_1 X) (CategoryTheory.Over.category.{u2, u1} C _inst_1 X) (CategoryTheory.FullSubcategoryₓ.obj.{u1, max u2 u1} (CategoryTheory.Over.{u1, u2} C _inst_1 X) (CategoryTheory.Over.category.{u2, u1} C _inst_1 X) (fun (f : CategoryTheory.Over.{u1, u2} C _inst_1 X) => CategoryTheory.Mono.{u1, u2} C _inst_1 (CategoryTheory.Functor.obj.{u1, u1, u2, u2} C _inst_1 C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 X) f)) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 X) (CategoryTheory.Comma.right.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 X) f)) (CategoryTheory.Comma.hom.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 X) f)))) (CategoryTheory.MonoOver.{u1, u2} C _inst_1 Y) (CategoryTheory.MonoOver.category.{u2, u1} C _inst_1 Y) (CategoryTheory.MonoOver.exists_.{u1, u2} C _inst_1 X Y _inst_3 f) (CategoryTheory.MonoOver.pullback.{u1, u2} C _inst_1 X Y _inst_4 f)
+but is expected to have type
+  forall {C : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} C] {X : C} {Y : C} [_inst_3 : CategoryTheory.Limits.HasImages.{u1, u2} C _inst_1] (f : Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) X Y) [_inst_4 : CategoryTheory.Limits.HasPullbacks.{u1, u2} C _inst_1], CategoryTheory.Adjunction.{u1, u1, max u2 u1, max u2 u1} (CategoryTheory.MonoOver.{u1, u2} C _inst_1 X) (CategoryTheory.instCategoryMonoOver.{u1, u2} C _inst_1 X) (CategoryTheory.MonoOver.{u1, u2} C _inst_1 Y) (CategoryTheory.instCategoryMonoOver.{u1, u2} C _inst_1 Y) (CategoryTheory.MonoOver.exists_.{u1, u2} C _inst_1 X Y _inst_3 f) (CategoryTheory.MonoOver.pullback.{u1, u2} C _inst_1 X Y _inst_4 f)
+Case conversion may be inaccurate. Consider using '#align category_theory.mono_over.exists_pullback_adj CategoryTheory.MonoOver.existsPullbackAdjₓ'. -/
 /-- `exists` is adjoint to `pullback` when images exist -/
-def existsPullbackAdj (f : X ⟶ Y) [HasPullbacks C] : exists f ⊣ pullback f :=
+def existsPullbackAdj (f : X ⟶ Y) [HasPullbacks C] : exists_ f ⊣ pullback f :=
   Adjunction.restrictFullyFaithful (forget X) (𝟭 _) ((Over.mapPullbackAdj f).comp imageForgetAdj)
     (Iso.refl _) (Iso.refl _)
 #align category_theory.mono_over.exists_pullback_adj CategoryTheory.MonoOver.existsPullbackAdj
Diff
@@ -392,7 +392,7 @@ def imageForgetAdj : image ⊣ forget X :=
                 { i := g.obj.left
                   m := g.arrow
                   e := k.left
-                  fac' := over.w k }
+                  fac := over.w k }
             apply image.lift_fac
           left_inv := fun k => Subsingleton.elim _ _
           right_inv := fun k => by

Changes in mathlib4

mathlib3
mathlib4
chore: adapt to multiple goal linter 1 (#12338)

A PR accompanying #12339.

Zulip discussion

Diff
@@ -367,12 +367,12 @@ def image : Over X ⥤ MonoOver X where
   map {f g} k := by
     apply (forget X).preimage _
     apply Over.homMk _ _
-    exact
-      image.lift
-        { I := Limits.image _
-          m := image.ι g.hom
-          e := k.left ≫ factorThruImage g.hom }
-    apply image.lift_fac
+    · exact
+        image.lift
+          { I := Limits.image _
+            m := image.ι g.hom
+            e := k.left ≫ factorThruImage g.hom }
+    · apply image.lift_fac
 #align category_theory.mono_over.image CategoryTheory.MonoOver.image
 
 /-- `MonoOver.image : Over X ⥤ MonoOver X` is left adjoint to
@@ -388,13 +388,13 @@ def imageForgetAdj : image ⊣ forget X :=
             apply image.fac
           invFun := fun k => by
             refine' Over.homMk _ _
-            exact
-              image.lift
-                { I := g.obj.left
-                  m := g.arrow
-                  e := k.left
-                  fac := Over.w k }
-            apply image.lift_fac
+            · exact
+                image.lift
+                  { I := g.obj.left
+                    m := g.arrow
+                    e := k.left
+                    fac := Over.w k }
+            · apply image.lift_fac
           left_inv := fun k => Subsingleton.elim _ _
           right_inv := fun k => by
             ext1
@@ -441,8 +441,8 @@ def existsIsoMap (f : X ⟶ Y) [Mono f] : «exists» f ≅ map f :=
     suffices (forget _).obj ((«exists» f).obj Z) ≅ (forget _).obj ((map f).obj Z) by
       apply (forget _).preimageIso this
     apply Over.isoMk _ _
-    apply imageMonoIsoSource (Z.arrow ≫ f)
-    apply imageMonoIsoSource_hom_self)
+    · apply imageMonoIsoSource (Z.arrow ≫ f)
+    · apply imageMonoIsoSource_hom_self)
 #align category_theory.mono_over.exists_iso_map CategoryTheory.MonoOver.existsIsoMap
 
 /-- `exists` is adjoint to `pullback` when images exist -/
chore(CategoryTheory): make Functor.Full a Prop (#12449)

Before this PR, Functor.Full contained the data of the preimage of maps by a full functor F. This PR makes Functor.Full a proposition. This is to prevent any diamond to appear.

The lemma Functor.image_preimage is also renamed Functor.map_preimage.

Co-authored-by: Joël Riou <37772949+joelriou@users.noreply.github.com>

Diff
@@ -152,7 +152,7 @@ def lift {Y : D} (F : Over Y ⥤ Over X)
     (h : ∀ f : MonoOver Y, Mono (F.obj ((MonoOver.forget Y).obj f)).hom) :
     MonoOver Y ⥤ MonoOver X where
   obj f := ⟨_, h f⟩
-  map k := (MonoOver.forget X).preimage ((MonoOver.forget Y ⋙ F).map k)
+  map k := (MonoOver.forget Y ⋙ F).map k
 #align category_theory.mono_over.lift CategoryTheory.MonoOver.lift
 
 /-- Isomorphic functors `Over Y ⥤ Over X` lift to isomorphic functors `MonoOver Y ⥤ MonoOver X`.
@@ -276,12 +276,12 @@ theorem map_obj_arrow (f : X ⟶ Y) [Mono f] (g : MonoOver X) : ((map f).obj g).
   rfl
 #align category_theory.mono_over.map_obj_arrow CategoryTheory.MonoOver.map_obj_arrow
 
-instance fullMap (f : X ⟶ Y) [Mono f] : Functor.Full (map f) where
-  preimage {g h} e := by
-    refine' homMk e.left _
-    rw [← cancel_mono f, assoc]
-    apply w e
-#align category_theory.mono_over.full_map CategoryTheory.MonoOver.fullMap
+instance full_map (f : X ⟶ Y) [Mono f] : Functor.Full (map f) where
+  map_surjective {g h} e := by
+    refine' ⟨homMk e.left _, rfl⟩
+    · rw [← cancel_mono f, assoc]
+      apply w e
+#align category_theory.mono_over.full_map CategoryTheory.MonoOver.full_map
 
 instance faithful_map (f : X ⟶ Y) [Mono f] : Functor.Faithful (map f) where
 #align category_theory.mono_over.faithful_map CategoryTheory.MonoOver.faithful_map
chore: split CategoryTheory.MorphismProperty (#12393)

The file CategoryTheory.MorphismProperty is split into five files Basic, Composition, Limits, Concrete, IsInvertedBy.

Diff
@@ -4,6 +4,7 @@ Released under Apache 2.0 license as described in the file LICENSE.
 Authors: Bhavik Mehta, Scott Morrison
 -/
 import Mathlib.CategoryTheory.Limits.Over
+import Mathlib.CategoryTheory.Limits.Shapes.Images
 import Mathlib.CategoryTheory.Adjunction.Reflective
 import Mathlib.CategoryTheory.Adjunction.Restrict
 
chore(CategoryTheory/Adjunction): move Adjunction.restrictFullyFaithful to separate file (#12363)

Also resolves a TODO to add lemmas about Adjunction.restrictFullyFaithful

Diff
@@ -4,8 +4,8 @@ Released under Apache 2.0 license as described in the file LICENSE.
 Authors: Bhavik Mehta, Scott Morrison
 -/
 import Mathlib.CategoryTheory.Limits.Over
-import Mathlib.CategoryTheory.Limits.Shapes.Images
 import Mathlib.CategoryTheory.Adjunction.Reflective
+import Mathlib.CategoryTheory.Adjunction.Restrict
 
 #align_import category_theory.subobject.mono_over from "leanprover-community/mathlib"@"70fd9563a21e7b963887c9360bd29b2393e6225a"
 
chore(CategoryTheory): move Full, Faithful, EssSurj, IsEquivalence and ReflectsIsomorphisms to the Functor namespace (#11985)

These notions on functors are now Functor.Full, Functor.Faithful, Functor.EssSurj, Functor.IsEquivalence, Functor.ReflectsIsomorphisms. Deprecated aliases are introduced for the previous names.

Diff
@@ -98,10 +98,10 @@ theorem forget_obj_hom {f} : ((forget X).obj f).hom = f.arrow :=
   rfl
 #align category_theory.mono_over.forget_obj_hom CategoryTheory.MonoOver.forget_obj_hom
 
-instance : Full (forget X) :=
+instance : (forget X).Full :=
   FullSubcategory.full _
 
-instance : Faithful (forget X) :=
+instance : (forget X).Faithful :=
   FullSubcategory.faithful _
 
 instance mono (f : MonoOver X) : Mono f.arrow :=
@@ -157,18 +157,18 @@ def lift {Y : D} (F : Over Y ⥤ Over X)
 /-- Isomorphic functors `Over Y ⥤ Over X` lift to isomorphic functors `MonoOver Y ⥤ MonoOver X`.
 -/
 def liftIso {Y : D} {F₁ F₂ : Over Y ⥤ Over X} (h₁ h₂) (i : F₁ ≅ F₂) : lift F₁ h₁ ≅ lift F₂ h₂ :=
-  fullyFaithfulCancelRight (MonoOver.forget X) (isoWhiskerLeft (MonoOver.forget Y) i)
+  Functor.fullyFaithfulCancelRight (MonoOver.forget X) (isoWhiskerLeft (MonoOver.forget Y) i)
 #align category_theory.mono_over.lift_iso CategoryTheory.MonoOver.liftIso
 
 /-- `MonoOver.lift` commutes with composition of functors. -/
 def liftComp {X Z : C} {Y : D} (F : Over X ⥤ Over Y) (G : Over Y ⥤ Over Z) (h₁ h₂) :
     lift F h₁ ⋙ lift G h₂ ≅ lift (F ⋙ G) fun f => h₂ ⟨_, h₁ f⟩ :=
-  fullyFaithfulCancelRight (MonoOver.forget _) (Iso.refl _)
+  Functor.fullyFaithfulCancelRight (MonoOver.forget _) (Iso.refl _)
 #align category_theory.mono_over.lift_comp CategoryTheory.MonoOver.liftComp
 
 /-- `MonoOver.lift` preserves the identity functor. -/
 def liftId : (lift (𝟭 (Over X)) fun f => f.2) ≅ 𝟭 _ :=
-  fullyFaithfulCancelRight (MonoOver.forget _) (Iso.refl _)
+  Functor.fullyFaithfulCancelRight (MonoOver.forget _) (Iso.refl _)
 #align category_theory.mono_over.lift_id CategoryTheory.MonoOver.liftId
 
 @[simp]
@@ -275,14 +275,14 @@ theorem map_obj_arrow (f : X ⟶ Y) [Mono f] (g : MonoOver X) : ((map f).obj g).
   rfl
 #align category_theory.mono_over.map_obj_arrow CategoryTheory.MonoOver.map_obj_arrow
 
-instance fullMap (f : X ⟶ Y) [Mono f] : Full (map f) where
+instance fullMap (f : X ⟶ Y) [Mono f] : Functor.Full (map f) where
   preimage {g h} e := by
     refine' homMk e.left _
     rw [← cancel_mono f, assoc]
     apply w e
 #align category_theory.mono_over.full_map CategoryTheory.MonoOver.fullMap
 
-instance faithful_map (f : X ⟶ Y) [Mono f] : Faithful (map f) where
+instance faithful_map (f : X ⟶ Y) [Mono f] : Functor.Faithful (map f) where
 #align category_theory.mono_over.faithful_map CategoryTheory.MonoOver.faithful_map
 
 /-- Isomorphic objects have equivalent `MonoOver` categories.
@@ -429,7 +429,7 @@ def «exists» (f : X ⟶ Y) : MonoOver X ⥤ MonoOver Y :=
   forget _ ⋙ Over.map f ⋙ image
 #align category_theory.mono_over.exists CategoryTheory.MonoOver.exists
 
-instance faithful_exists (f : X ⟶ Y) : Faithful («exists» f) where
+instance faithful_exists (f : X ⟶ Y) : Functor.Faithful («exists» f) where
 #align category_theory.mono_over.faithful_exists CategoryTheory.MonoOver.faithful_exists
 
 /-- When `f : X ⟶ Y` is a monomorphism, `exists f` agrees with `map f`.
fix: change refine to exact in files where it speeds up (#11896)

See #11890 and this Zulip discussion for an in-depth explanation of why these refines and not others.

The short answer is that the files in which these replacements took place were more performant after the change than before.

Diff
@@ -366,7 +366,7 @@ def image : Over X ⥤ MonoOver X where
   map {f g} k := by
     apply (forget X).preimage _
     apply Over.homMk _ _
-    refine'
+    exact
       image.lift
         { I := Limits.image _
           m := image.ι g.hom
@@ -387,7 +387,7 @@ def imageForgetAdj : image ⊣ forget X :=
             apply image.fac
           invFun := fun k => by
             refine' Over.homMk _ _
-            refine'
+            exact
               image.lift
                 { I := g.obj.left
                   m := g.arrow
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
@@ -43,7 +43,6 @@ namespace CategoryTheory
 open CategoryTheory CategoryTheory.Category CategoryTheory.Limits
 
 variable {C : Type u₁} [Category.{v₁} C] {X Y Z : C}
-
 variable {D : Type u₂} [Category.{v₂} D]
 
 /-- The category of monomorphisms into `X` as a full subcategory of the over category.
chore: tidy various files (#8880)
Diff
@@ -191,10 +191,10 @@ are equivalent to monomorphisms over the source of `f`.
 -/
 def slice {A : C} {f : Over A}
     (h₁ : ∀ (g : MonoOver f),
-    Mono ((Over.iteratedSliceEquiv f).functor.obj ((forget f).obj g)).hom)
+      Mono ((Over.iteratedSliceEquiv f).functor.obj ((forget f).obj g)).hom)
     (h₂ : ∀ (g : MonoOver f.left),
-    Mono ((Over.iteratedSliceEquiv f).inverse.obj ((forget f.left).obj g)).hom) :
-  MonoOver f ≌ MonoOver f.left where
+      Mono ((Over.iteratedSliceEquiv f).inverse.obj ((forget f.left).obj g)).hom) :
+    MonoOver f ≌ MonoOver f.left where
   functor := MonoOver.lift f.iteratedSliceEquiv.functor h₁
   inverse := MonoOver.lift f.iteratedSliceEquiv.inverse h₂
   unitIso :=
feat(CategoryTheory/Sites): internal hom of (pre)sheaves (#8622)

In this PR, we define a presheaf presheafHom F G when F and G are presheaves Cᵒᵖ ⥤ A and show that it is a sheaf when G is a sheaf (for a certain Grothendieck topology on C).

Co-authored-by: Joël Riou <37772949+joelriou@users.noreply.github.com>

Diff
@@ -257,11 +257,15 @@ def mapComp (f : X ⟶ Y) (g : Y ⟶ Z) [Mono f] [Mono g] : map (f ≫ g) ≅ ma
   liftIso _ _ (Over.mapComp _ _) ≪≫ (liftComp _ _ _ _).symm
 #align category_theory.mono_over.map_comp CategoryTheory.MonoOver.mapComp
 
+variable (X)
+
 /-- `MonoOver.map` preserves the identity (up to a natural isomorphism). -/
 def mapId : map (𝟙 X) ≅ 𝟭 _ :=
-  liftIso _ _ Over.mapId ≪≫ liftId
+  liftIso _ _ (Over.mapId X) ≪≫ liftId
 #align category_theory.mono_over.map_id CategoryTheory.MonoOver.mapId
 
+variable {X}
+
 @[simp]
 theorem map_obj_left (f : X ⟶ Y) [Mono f] (g : MonoOver X) : ((map f).obj g : C) = g.obj.left :=
   rfl
@@ -288,8 +292,8 @@ instance faithful_map (f : X ⟶ Y) [Mono f] : Faithful (map f) where
 def mapIso {A B : C} (e : A ≅ B) : MonoOver A ≌ MonoOver B where
   functor := map e.hom
   inverse := map e.inv
-  unitIso := ((mapComp _ _).symm ≪≫ eqToIso (by simp) ≪≫ mapId).symm
-  counitIso := (mapComp _ _).symm ≪≫ eqToIso (by simp) ≪≫ mapId
+  unitIso := ((mapComp _ _).symm ≪≫ eqToIso (by simp) ≪≫ (mapId _)).symm
+  counitIso := (mapComp _ _).symm ≪≫ eqToIso (by simp) ≪≫ (mapId _)
 #align category_theory.mono_over.map_iso CategoryTheory.MonoOver.mapIso
 
 section
chore: fix some cases in names (#7469)

And fix some names in comments where this revealed issues

Diff
@@ -420,7 +420,7 @@ section Exists
 variable [HasImages C]
 
 /-- In the case where `f` is not a monomorphism but `C` has images,
-we can still take the "forward map" under it, which agrees with `mono_over.map f`.
+we can still take the "forward map" under it, which agrees with `MonoOver.map f`.
 -/
 def «exists» (f : X ⟶ Y) : MonoOver X ⥤ MonoOver Y :=
   forget _ ⋙ Over.map f ⋙ image
chore: exactly 4 spaces in theorems (#7328)

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

Diff
@@ -190,9 +190,9 @@ theorem lift_obj_arrow {Y : D} (F : Over Y ⥤ Over X)
 are equivalent to monomorphisms over the source of `f`.
 -/
 def slice {A : C} {f : Over A}
-  (h₁ : ∀ (g : MonoOver f),
+    (h₁ : ∀ (g : MonoOver f),
     Mono ((Over.iteratedSliceEquiv f).functor.obj ((forget f).obj g)).hom)
-  (h₂ : ∀ (g : MonoOver f.left),
+    (h₂ : ∀ (g : MonoOver f.left),
     Mono ((Over.iteratedSliceEquiv f).inverse.obj ((forget f.left).obj g)).hom) :
   MonoOver f ≌ MonoOver f.left where
   functor := MonoOver.lift f.iteratedSliceEquiv.functor h₁
chore: avoid lean3 style have/suffices (#6964)

Many proofs use the "stream of consciousness" style from Lean 3, rather than have ... := or suffices ... from/by.

This PR updates a fraction of these to the preferred Lean 4 style.

I think a good goal would be to delete the "deferred" versions of have, suffices, and let at the bottom of Mathlib.Tactic.Have

(Anyone who would like to contribute more cleanup is welcome to push directly to this branch.)

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

Diff
@@ -434,8 +434,8 @@ instance faithful_exists (f : X ⟶ Y) : Faithful («exists» f) where
 def existsIsoMap (f : X ⟶ Y) [Mono f] : «exists» f ≅ map f :=
   NatIso.ofComponents (by
     intro Z
-    suffices : (forget _).obj ((«exists» f).obj Z) ≅ (forget _).obj ((map f).obj Z)
-    apply (forget _).preimageIso this
+    suffices (forget _).obj ((«exists» f).obj Z) ≅ (forget _).obj ((map f).obj Z) by
+      apply (forget _).preimageIso this
     apply Over.isoMk _ _
     apply imageMonoIsoSource (Z.arrow ≫ f)
     apply imageMonoIsoSource_hom_self)
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) 2020 Bhavik Mehta. All rights reserved.
 Released under Apache 2.0 license as described in the file LICENSE.
 Authors: Bhavik Mehta, Scott Morrison
-
-! This file was ported from Lean 3 source module category_theory.subobject.mono_over
-! leanprover-community/mathlib commit 70fd9563a21e7b963887c9360bd29b2393e6225a
-! Please do not edit these lines, except to modify the commit id
-! if you have ported upstream changes.
 -/
 import Mathlib.CategoryTheory.Limits.Over
 import Mathlib.CategoryTheory.Limits.Shapes.Images
 import Mathlib.CategoryTheory.Adjunction.Reflective
 
+#align_import category_theory.subobject.mono_over from "leanprover-community/mathlib"@"70fd9563a21e7b963887c9360bd29b2393e6225a"
+
 /-!
 # Monomorphisms over a fixed object
 
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
@@ -127,14 +127,15 @@ theorem w {f g : MonoOver X} (k : f ⟶ g) : k.left ≫ g.arrow = f.arrow :=
 #align category_theory.mono_over.w CategoryTheory.MonoOver.w
 
 /-- Convenience constructor for a morphism in monomorphisms over `X`. -/
-abbrev homMk {f g : MonoOver X} (h : f.obj.left ⟶ g.obj.left) (w : h ≫ g.arrow = f.arrow) : f ⟶ g :=
+abbrev homMk {f g : MonoOver X} (h : f.obj.left ⟶ g.obj.left)
+    (w : h ≫ g.arrow = f.arrow := by aesop_cat) : f ⟶ g :=
   Over.homMk h w
 #align category_theory.mono_over.hom_mk CategoryTheory.MonoOver.homMk
 
 /-- Convenience constructor for an isomorphism in monomorphisms over `X`. -/
 @[simps]
-def isoMk {f g : MonoOver X} (h : f.obj.left ≅ g.obj.left) (w : h.hom ≫ g.arrow = f.arrow) : f ≅ g
-    where
+def isoMk {f g : MonoOver X} (h : f.obj.left ≅ g.obj.left)
+    (w : h.hom ≫ g.arrow = f.arrow := by aesop_cat) : f ≅ g where
   hom := homMk h.hom w
   inv := homMk h.inv (by rw [h.inv_comp_eq, w])
 #align category_theory.mono_over.iso_mk CategoryTheory.MonoOver.isoMk
@@ -143,7 +144,7 @@ def isoMk {f g : MonoOver X} (h : f.obj.left ≅ g.obj.left) (w : h.hom ≫ g.ar
     package it as an isomorphism. -/
 @[simp]
 def mk'ArrowIso {X : C} (f : MonoOver X) : mk' f.arrow ≅ f :=
-  isoMk (Iso.refl _) (by simp)
+  isoMk (Iso.refl _)
 #align category_theory.mono_over.mk'_arrow_iso CategoryTheory.MonoOver.mk'ArrowIso
 
 /-- Lift a functor between over categories to a functor between `MonoOver` categories,
@@ -151,8 +152,8 @@ given suitable evidence that morphisms are taken to monomorphisms.
 -/
 @[simps]
 def lift {Y : D} (F : Over Y ⥤ Over X)
-    (h : ∀ f : MonoOver Y, Mono (F.obj ((MonoOver.forget Y).obj f)).hom) : MonoOver Y ⥤ MonoOver X
-    where
+    (h : ∀ f : MonoOver Y, Mono (F.obj ((MonoOver.forget Y).obj f)).hom) :
+    MonoOver Y ⥤ MonoOver X where
   obj f := ⟨_, h f⟩
   map k := (MonoOver.forget X).preimage ((MonoOver.forget Y ⋙ F).map k)
 #align category_theory.mono_over.lift CategoryTheory.MonoOver.lift
@@ -311,10 +312,8 @@ def congr (e : C ≌ D) : MonoOver X ≌ MonoOver (e.functor.obj X) where
         dsimp
         infer_instance) ⋙
       (mapIso (e.unitIso.symm.app X)).functor
-  unitIso := NatIso.ofComponents (fun Y => isoMk (e.unitIso.app Y)
-    (by aesop_cat)) (by aesop_cat)
-  counitIso := NatIso.ofComponents (fun Y => isoMk (e.counitIso.app Y)
-    (by aesop_cat)) (by aesop_cat)
+  unitIso := NatIso.ofComponents fun Y => isoMk (e.unitIso.app Y)
+  counitIso := NatIso.ofComponents fun Y => isoMk (e.counitIso.app Y)
 #align category_theory.mono_over.congr CategoryTheory.MonoOver.congr
 
 end
@@ -436,15 +435,13 @@ instance faithful_exists (f : X ⟶ Y) : Faithful («exists» f) where
 /-- When `f : X ⟶ Y` is a monomorphism, `exists f` agrees with `map f`.
 -/
 def existsIsoMap (f : X ⟶ Y) [Mono f] : «exists» f ≅ map f :=
-  NatIso.ofComponents
-    (by
-      intro Z
-      suffices : (forget _).obj ((«exists» f).obj Z) ≅ (forget _).obj ((map f).obj Z)
-      apply (forget _).preimageIso this
-      apply Over.isoMk _ _
-      apply imageMonoIsoSource (Z.arrow ≫ f)
-      apply imageMonoIsoSource_hom_self)
-    (fun _ => Subsingleton.elim _ _)
+  NatIso.ofComponents (by
+    intro Z
+    suffices : (forget _).obj ((«exists» f).obj Z) ≅ (forget _).obj ((map f).obj Z)
+    apply (forget _).preimageIso this
+    apply Over.isoMk _ _
+    apply imageMonoIsoSource (Z.arrow ≫ f)
+    apply imageMonoIsoSource_hom_self)
 #align category_theory.mono_over.exists_iso_map CategoryTheory.MonoOver.existsIsoMap
 
 /-- `exists` is adjoint to `pullback` when images exist -/
chore: tidy various files (#3848)
Diff
@@ -423,24 +423,23 @@ section Exists
 
 variable [HasImages C]
 
--- porting note: renamed `exists` as `exists_` because it is a reserved word
 /-- In the case where `f` is not a monomorphism but `C` has images,
 we can still take the "forward map" under it, which agrees with `mono_over.map f`.
 -/
-def exists_ (f : X ⟶ Y) : MonoOver X ⥤ MonoOver Y :=
+def «exists» (f : X ⟶ Y) : MonoOver X ⥤ MonoOver Y :=
   forget _ ⋙ Over.map f ⋙ image
-#align category_theory.mono_over.exists CategoryTheory.MonoOver.exists_
+#align category_theory.mono_over.exists CategoryTheory.MonoOver.exists
 
-instance faithful_exists (f : X ⟶ Y) : Faithful (exists_ f) where
+instance faithful_exists (f : X ⟶ Y) : Faithful («exists» f) where
 #align category_theory.mono_over.faithful_exists CategoryTheory.MonoOver.faithful_exists
 
-/-- When `f : X ⟶ Y` is a monomorphism, `exists_ f` agrees with `map f`.
+/-- When `f : X ⟶ Y` is a monomorphism, `exists f` agrees with `map f`.
 -/
-def existsIsoMap (f : X ⟶ Y) [Mono f] : exists_ f ≅ map f :=
+def existsIsoMap (f : X ⟶ Y) [Mono f] : «exists» f ≅ map f :=
   NatIso.ofComponents
     (by
       intro Z
-      suffices : (forget _).obj ((exists_ f).obj Z) ≅ (forget _).obj ((map f).obj Z)
+      suffices : (forget _).obj ((«exists» f).obj Z) ≅ (forget _).obj ((map f).obj Z)
       apply (forget _).preimageIso this
       apply Over.isoMk _ _
       apply imageMonoIsoSource (Z.arrow ≫ f)
@@ -449,7 +448,7 @@ def existsIsoMap (f : X ⟶ Y) [Mono f] : exists_ f ≅ map f :=
 #align category_theory.mono_over.exists_iso_map CategoryTheory.MonoOver.existsIsoMap
 
 /-- `exists` is adjoint to `pullback` when images exist -/
-def existsPullbackAdj (f : X ⟶ Y) [HasPullbacks C] : exists_ f ⊣ pullback f :=
+def existsPullbackAdj (f : X ⟶ Y) [HasPullbacks C] : «exists» f ⊣ pullback f :=
   Adjunction.restrictFullyFaithful (forget X) (𝟭 _) ((Over.mapPullbackAdj f).comp imageForgetAdj)
     (Iso.refl _) (Iso.refl _)
 #align category_theory.mono_over.exists_pullback_adj CategoryTheory.MonoOver.existsPullbackAdj
feat: port CategoryTheory.Subobject.MonoOver (#3423)

Co-authored-by: Joël Riou <joel.riou@universite-paris-saclay.fr>

Dependencies 140

141 files ported (100.0%)
57072 lines ported (100.0%)

All dependencies are ported!