category_theory.sites.adjunctionMathlib.CategoryTheory.Sites.Adjunction

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
@@ -55,7 +55,8 @@ abbrev sheafForget : Sheaf J D ⥤ SheafOfTypes J :=
 -- We need to sheafify...
 variable [∀ (P : Cᵒᵖ ⥤ D) (X : C) (S : J.cover X), HasMultiequalizer (S.index P)]
   [∀ X : C, HasColimitsOfShape (J.cover X)ᵒᵖ D]
-  [∀ X : C, PreservesColimitsOfShape (J.cover X)ᵒᵖ (forget D)] [ReflectsIsomorphisms (forget D)]
+  [∀ X : C, PreservesColimitsOfShape (J.cover X)ᵒᵖ (forget D)]
+  [CategoryTheory.Functor.ReflectsIsomorphisms (forget D)]
 
 namespace Sheaf
 
Diff
@@ -4,7 +4,7 @@ Released under Apache 2.0 license as described in the file LICENSE.
 Authors: Adam Topaz
 -/
 import CategoryTheory.Adjunction.Whiskering
-import CategoryTheory.Sites.Sheafification
+import CategoryTheory.Sites.ConcreteSheafification
 import CategoryTheory.Sites.Whiskering
 
 #align_import category_theory.sites.adjunction from "leanprover-community/mathlib"@"f2b757fc5c341d88741b9c4630b1e8ba973c5726"
Diff
@@ -65,7 +65,7 @@ noncomputable section
 /-- This is the functor sending a sheaf `X : Sheaf J E` to the sheafification
 of `X ⋙ G`. -/
 abbrev composeAndSheafify (G : E ⥤ D) : Sheaf J E ⥤ Sheaf J D :=
-  sheafToPresheaf J E ⋙ (whiskeringRight _ _ _).obj G ⋙ presheafToSheaf J D
+  sheafToPresheaf J E ⋙ (whiskeringRight _ _ _).obj G ⋙ plusPlusSheaf J D
 #align category_theory.Sheaf.compose_and_sheafify CategoryTheory.Sheaf.composeAndSheafify
 -/
 
Diff
@@ -3,9 +3,9 @@ Copyright (c) 2021 Adam Topaz. All rights reserved.
 Released under Apache 2.0 license as described in the file LICENSE.
 Authors: Adam Topaz
 -/
-import Mathbin.CategoryTheory.Adjunction.Whiskering
-import Mathbin.CategoryTheory.Sites.Sheafification
-import Mathbin.CategoryTheory.Sites.Whiskering
+import CategoryTheory.Adjunction.Whiskering
+import CategoryTheory.Sites.Sheafification
+import CategoryTheory.Sites.Whiskering
 
 #align_import category_theory.sites.adjunction from "leanprover-community/mathlib"@"f2b757fc5c341d88741b9c4630b1e8ba973c5726"
 
Diff
@@ -2,16 +2,13 @@
 Copyright (c) 2021 Adam Topaz. All rights reserved.
 Released under Apache 2.0 license as described in the file LICENSE.
 Authors: Adam Topaz
-
-! This file was ported from Lean 3 source module category_theory.sites.adjunction
-! leanprover-community/mathlib commit f2b757fc5c341d88741b9c4630b1e8ba973c5726
-! Please do not edit these lines, except to modify the commit id
-! if you have ported upstream changes.
 -/
 import Mathbin.CategoryTheory.Adjunction.Whiskering
 import Mathbin.CategoryTheory.Sites.Sheafification
 import Mathbin.CategoryTheory.Sites.Whiskering
 
+#align_import category_theory.sites.adjunction from "leanprover-community/mathlib"@"f2b757fc5c341d88741b9c4630b1e8ba973c5726"
+
 /-!
 > THIS FILE IS SYNCHRONIZED WITH MATHLIB4.
 > Any changes to this file require a corresponding PR to mathlib4.
Diff
@@ -64,12 +64,15 @@ namespace Sheaf
 
 noncomputable section
 
+#print CategoryTheory.Sheaf.composeAndSheafify /-
 /-- This is the functor sending a sheaf `X : Sheaf J E` to the sheafification
 of `X ⋙ G`. -/
 abbrev composeAndSheafify (G : E ⥤ D) : Sheaf J E ⥤ Sheaf J D :=
   sheafToPresheaf J E ⋙ (whiskeringRight _ _ _).obj G ⋙ presheafToSheaf J D
 #align category_theory.Sheaf.compose_and_sheafify CategoryTheory.Sheaf.composeAndSheafify
+-/
 
+#print CategoryTheory.Sheaf.composeEquiv /-
 /-- An auxiliary definition to be used in defining `category_theory.Sheaf.adjunction` below. -/
 @[simps]
 def composeEquiv (adj : G ⊣ F) (X : Sheaf J E) (Y : Sheaf J D) :
@@ -90,7 +93,9 @@ def composeEquiv (adj : G ⊣ F) (X : Sheaf J E) (Y : Sheaf J D) :
       dsimp
       rw [J.to_sheafify_sheafify_lift, Equiv.apply_symm_apply] }
 #align category_theory.Sheaf.compose_equiv CategoryTheory.Sheaf.composeEquiv
+-/
 
+#print CategoryTheory.Sheaf.adjunction /-
 /-- An adjunction `adj : G ⊣ F` with `F : D ⥤ E` and `G : E ⥤ D` induces an adjunction
 between `Sheaf J D` and `Sheaf J E`, in contexts where one can sheafify `D`-valued presheaves,
 and `F` preserves the correct limits. -/
@@ -101,24 +106,30 @@ def adjunction (adj : G ⊣ F) : composeAndSheafify J G ⊣ sheafCompose J F :=
       homEquiv_naturality_left_symm := fun X' X Y f g => by ext1; dsimp; simp
       homEquiv_naturality_right := fun X Y Y' f g => by ext1; dsimp; simp }
 #align category_theory.Sheaf.adjunction CategoryTheory.Sheaf.adjunction
+-/
 
 instance [IsRightAdjoint F] : IsRightAdjoint (sheafCompose J F) :=
   ⟨_, adjunction J (Adjunction.ofRightAdjoint F)⟩
 
 section ForgetToType
 
+#print CategoryTheory.Sheaf.composeAndSheafifyFromTypes /-
 /-- This is the functor sending a sheaf of types `X` to the sheafification of `X ⋙ G`. -/
 abbrev composeAndSheafifyFromTypes (G : Type max v u ⥤ D) : SheafOfTypes J ⥤ Sheaf J D :=
   (sheafEquivSheafOfTypes J).inverse ⋙ composeAndSheafify _ G
 #align category_theory.Sheaf.compose_and_sheafify_from_types CategoryTheory.Sheaf.composeAndSheafifyFromTypes
+-/
 
+#print CategoryTheory.Sheaf.adjunctionToTypes /-
 /-- A variant of the adjunction between sheaf categories, in the case where the right adjoint
 is the forgetful functor to sheaves of types. -/
 def adjunctionToTypes {G : Type max v u ⥤ D} (adj : G ⊣ forget D) :
     composeAndSheafifyFromTypes J G ⊣ sheafForget J :=
   (sheafEquivSheafOfTypes J).symm.toAdjunction.comp (adjunction J adj)
 #align category_theory.Sheaf.adjunction_to_types CategoryTheory.Sheaf.adjunctionToTypes
+-/
 
+#print CategoryTheory.Sheaf.adjunctionToTypes_unit_app_val /-
 @[simp]
 theorem adjunctionToTypes_unit_app_val {G : Type max v u ⥤ D} (adj : G ⊣ forget D)
     (Y : SheafOfTypes J) :
@@ -129,7 +140,9 @@ theorem adjunctionToTypes_unit_app_val {G : Type max v u ⥤ D} (adj : G ⊣ for
   dsimp [adjunction_to_types, adjunction.comp]
   simpa
 #align category_theory.Sheaf.adjunction_to_types_unit_app_val CategoryTheory.Sheaf.adjunctionToTypes_unit_app_val
+-/
 
+#print CategoryTheory.Sheaf.adjunctionToTypes_counit_app_val /-
 @[simp]
 theorem adjunctionToTypes_counit_app_val {G : Type max v u ⥤ D} (adj : G ⊣ forget D)
     (X : Sheaf J D) :
@@ -145,6 +158,7 @@ theorem adjunctionToTypes_counit_app_val {G : Type max v u ⥤ D} (adj : G ⊣ f
     nat_iso.of_components]
   simp
 #align category_theory.Sheaf.adjunction_to_types_counit_app_val CategoryTheory.Sheaf.adjunctionToTypes_counit_app_val
+-/
 
 instance [IsRightAdjoint (forget D)] : IsRightAdjoint (sheafForget J) :=
   ⟨_, adjunctionToTypes J (Adjunction.ofRightAdjoint (forget D))⟩
Diff
@@ -64,21 +64,12 @@ namespace Sheaf
 
 noncomputable section
 
-/- warning: category_theory.Sheaf.compose_and_sheafify -> CategoryTheory.Sheaf.composeAndSheafify is a dubious translation:
-lean 3 declaration is
-  forall {C : Type.{u4}} [_inst_1 : CategoryTheory.Category.{u3, u4} C] (J : CategoryTheory.GrothendieckTopology.{u3, u4} C _inst_1) {D : Type.{u1}} [_inst_2 : CategoryTheory.Category.{max u3 u4, u1} D] {E : Type.{u2}} [_inst_3 : CategoryTheory.Category.{max u3 u4, u2} E] [_inst_5 : CategoryTheory.ConcreteCategory.{max u3 u4, max u3 u4, u1} D _inst_2] [_inst_6 : CategoryTheory.Limits.PreservesLimits.{max u3 u4, max u3 u4, u1, succ (max u3 u4)} D _inst_2 Type.{max u3 u4} CategoryTheory.types.{max u3 u4} (CategoryTheory.forget.{u1, max u3 u4, max u3 u4} D _inst_2 _inst_5)] [_inst_7 : forall (P : CategoryTheory.Functor.{u3, max u3 u4, u4, u1} (Opposite.{succ u4} C) (CategoryTheory.Category.opposite.{u3, u4} C _inst_1) D _inst_2) (X : C) (S : CategoryTheory.GrothendieckTopology.Cover.{u3, u4} C _inst_1 J X), CategoryTheory.Limits.HasMultiequalizer.{max u3 u4, u1, max u4 u3} D _inst_2 (CategoryTheory.GrothendieckTopology.Cover.index.{u1, u3, u4} C _inst_1 X J D _inst_2 S P)] [_inst_8 : forall (X : C), CategoryTheory.Limits.HasColimitsOfShape.{max u4 u3, max u4 u3, max u3 u4, u1} (Opposite.{succ (max u4 u3)} (CategoryTheory.GrothendieckTopology.Cover.{u3, u4} C _inst_1 J X)) (CategoryTheory.Category.opposite.{max u4 u3, max u4 u3} (CategoryTheory.GrothendieckTopology.Cover.{u3, u4} C _inst_1 J X) (Preorder.smallCategory.{max u4 u3} (CategoryTheory.GrothendieckTopology.Cover.{u3, u4} C _inst_1 J X) (CategoryTheory.GrothendieckTopology.Cover.preorder.{u3, u4} C _inst_1 J X))) D _inst_2] [_inst_9 : forall (X : C), CategoryTheory.Limits.PreservesColimitsOfShape.{max u4 u3, max u4 u3, max u3 u4, max u3 u4, u1, succ (max u3 u4)} D _inst_2 Type.{max u3 u4} CategoryTheory.types.{max u3 u4} (Opposite.{succ (max u4 u3)} (CategoryTheory.GrothendieckTopology.Cover.{u3, u4} C _inst_1 J X)) (CategoryTheory.Category.opposite.{max u4 u3, max u4 u3} (CategoryTheory.GrothendieckTopology.Cover.{u3, u4} C _inst_1 J X) (Preorder.smallCategory.{max u4 u3} (CategoryTheory.GrothendieckTopology.Cover.{u3, u4} C _inst_1 J X) (CategoryTheory.GrothendieckTopology.Cover.preorder.{u3, u4} C _inst_1 J X))) (CategoryTheory.forget.{u1, max u3 u4, max u3 u4} D _inst_2 _inst_5)] [_inst_10 : CategoryTheory.ReflectsIsomorphisms.{max u3 u4, max u3 u4, u1, succ (max u3 u4)} D _inst_2 Type.{max u3 u4} CategoryTheory.types.{max u3 u4} (CategoryTheory.forget.{u1, max u3 u4, max u3 u4} D _inst_2 _inst_5)], (CategoryTheory.Functor.{max u3 u4, max u3 u4, u2, u1} E _inst_3 D _inst_2) -> (CategoryTheory.Functor.{max u3 u4, max u3 u4, max u4 u2 u3 u4, max u4 u1 u3 u4} (CategoryTheory.Sheaf.{u3, max u3 u4, u4, u2} C _inst_1 J E _inst_3) (CategoryTheory.Sheaf.CategoryTheory.category.{u3, max u3 u4, u4, u2} C _inst_1 J E _inst_3) (CategoryTheory.Sheaf.{u3, max u3 u4, u4, u1} C _inst_1 J D _inst_2) (CategoryTheory.Sheaf.CategoryTheory.category.{u3, max u3 u4, u4, u1} C _inst_1 J D _inst_2))
-but is expected to have type
-  forall {C : Type.{u4}} [_inst_1 : CategoryTheory.Category.{u3, u4} C] (J : CategoryTheory.GrothendieckTopology.{u3, u4} C _inst_1) {D : Type.{u1}} [_inst_2 : CategoryTheory.Category.{max u3 u4, u1} D] {E : Type.{u2}} [_inst_3 : CategoryTheory.Category.{max u3 u4, u2} E] [_inst_5 : CategoryTheory.ConcreteCategory.{max u3 u4, max u4 u3, u1} D _inst_2] [_inst_6 : CategoryTheory.Limits.PreservesLimits.{max u4 u3, max u4 u3, u1, max (succ u4) (succ u3)} D _inst_2 Type.{max u4 u3} CategoryTheory.types.{max u4 u3} (CategoryTheory.forget.{u1, max u4 u3, max u4 u3} D _inst_2 _inst_5)] [_inst_7 : forall (P : CategoryTheory.Functor.{u3, max u4 u3, u4, u1} (Opposite.{succ u4} C) (CategoryTheory.Category.opposite.{u3, u4} C _inst_1) D _inst_2) (X : C) (S : CategoryTheory.GrothendieckTopology.Cover.{u3, u4} C _inst_1 J X), CategoryTheory.Limits.HasMultiequalizer.{max u4 u3, u1, max u4 u3} D _inst_2 (CategoryTheory.GrothendieckTopology.Cover.index.{u1, u3, u4} C _inst_1 X J D _inst_2 S P)] [_inst_8 : forall (X : C), CategoryTheory.Limits.HasColimitsOfShape.{max u4 u3, max u4 u3, max u4 u3, u1} (Opposite.{max (succ u4) (succ u3)} (CategoryTheory.GrothendieckTopology.Cover.{u3, u4} C _inst_1 J X)) (CategoryTheory.Category.opposite.{max u4 u3, max u4 u3} (CategoryTheory.GrothendieckTopology.Cover.{u3, u4} C _inst_1 J X) (Preorder.smallCategory.{max u4 u3} (CategoryTheory.GrothendieckTopology.Cover.{u3, u4} C _inst_1 J X) (CategoryTheory.GrothendieckTopology.instPreorderCover.{u3, u4} C _inst_1 J X))) D _inst_2] [_inst_9 : forall (X : C), CategoryTheory.Limits.PreservesColimitsOfShape.{max u4 u3, max u4 u3, max u4 u3, max u4 u3, u1, max (succ u4) (succ u3)} D _inst_2 Type.{max u4 u3} CategoryTheory.types.{max u4 u3} (Opposite.{max (succ u4) (succ u3)} (CategoryTheory.GrothendieckTopology.Cover.{u3, u4} C _inst_1 J X)) (CategoryTheory.Category.opposite.{max u4 u3, max u4 u3} (CategoryTheory.GrothendieckTopology.Cover.{u3, u4} C _inst_1 J X) (Preorder.smallCategory.{max u4 u3} (CategoryTheory.GrothendieckTopology.Cover.{u3, u4} C _inst_1 J X) (CategoryTheory.GrothendieckTopology.instPreorderCover.{u3, u4} C _inst_1 J X))) (CategoryTheory.forget.{u1, max u4 u3, max u4 u3} D _inst_2 _inst_5)] [_inst_10 : CategoryTheory.ReflectsIsomorphisms.{max u4 u3, max u4 u3, u1, max (succ u4) (succ u3)} D _inst_2 Type.{max u4 u3} CategoryTheory.types.{max u4 u3} (CategoryTheory.forget.{u1, max u4 u3, max u4 u3} D _inst_2 _inst_5)], (CategoryTheory.Functor.{max u4 u3, max u4 u3, u2, u1} E _inst_3 D _inst_2) -> (CategoryTheory.Functor.{max u4 u3, max u4 u3, max (max (max u2 u4) u4 u3) u3, max (max (max u1 u4) u4 u3) u3} (CategoryTheory.Sheaf.{u3, max u4 u3, u4, u2} C _inst_1 J E _inst_3) (CategoryTheory.Sheaf.instCategorySheaf.{u3, max u4 u3, u4, u2} C _inst_1 J E _inst_3) (CategoryTheory.Sheaf.{u3, max u4 u3, u4, u1} C _inst_1 J D _inst_2) (CategoryTheory.Sheaf.instCategorySheaf.{u3, max u4 u3, u4, u1} C _inst_1 J D _inst_2))
-Case conversion may be inaccurate. Consider using '#align category_theory.Sheaf.compose_and_sheafify CategoryTheory.Sheaf.composeAndSheafifyₓ'. -/
 /-- This is the functor sending a sheaf `X : Sheaf J E` to the sheafification
 of `X ⋙ G`. -/
 abbrev composeAndSheafify (G : E ⥤ D) : Sheaf J E ⥤ Sheaf J D :=
   sheafToPresheaf J E ⋙ (whiskeringRight _ _ _).obj G ⋙ presheafToSheaf J D
 #align category_theory.Sheaf.compose_and_sheafify CategoryTheory.Sheaf.composeAndSheafify
 
-/- warning: category_theory.Sheaf.compose_equiv -> CategoryTheory.Sheaf.composeEquiv is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align category_theory.Sheaf.compose_equiv CategoryTheory.Sheaf.composeEquivₓ'. -/
 /-- An auxiliary definition to be used in defining `category_theory.Sheaf.adjunction` below. -/
 @[simps]
 def composeEquiv (adj : G ⊣ F) (X : Sheaf J E) (Y : Sheaf J D) :
@@ -100,9 +91,6 @@ def composeEquiv (adj : G ⊣ F) (X : Sheaf J E) (Y : Sheaf J D) :
       rw [J.to_sheafify_sheafify_lift, Equiv.apply_symm_apply] }
 #align category_theory.Sheaf.compose_equiv CategoryTheory.Sheaf.composeEquiv
 
-/- warning: category_theory.Sheaf.adjunction -> CategoryTheory.Sheaf.adjunction is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align category_theory.Sheaf.adjunction CategoryTheory.Sheaf.adjunctionₓ'. -/
 /-- An adjunction `adj : G ⊣ F` with `F : D ⥤ E` and `G : E ⥤ D` induces an adjunction
 between `Sheaf J D` and `Sheaf J E`, in contexts where one can sheafify `D`-valued presheaves,
 and `F` preserves the correct limits. -/
@@ -119,23 +107,11 @@ instance [IsRightAdjoint F] : IsRightAdjoint (sheafCompose J F) :=
 
 section ForgetToType
 
-/- warning: category_theory.Sheaf.compose_and_sheafify_from_types -> CategoryTheory.Sheaf.composeAndSheafifyFromTypes is a dubious translation:
-lean 3 declaration is
-  forall {C : Type.{u3}} [_inst_1 : CategoryTheory.Category.{u2, u3} C] (J : CategoryTheory.GrothendieckTopology.{u2, u3} C _inst_1) {D : Type.{u1}} [_inst_2 : CategoryTheory.Category.{max u2 u3, u1} D] [_inst_5 : CategoryTheory.ConcreteCategory.{max u2 u3, max u2 u3, u1} D _inst_2] [_inst_6 : CategoryTheory.Limits.PreservesLimits.{max u2 u3, max u2 u3, u1, succ (max u2 u3)} D _inst_2 Type.{max u2 u3} CategoryTheory.types.{max u2 u3} (CategoryTheory.forget.{u1, max u2 u3, max u2 u3} D _inst_2 _inst_5)] [_inst_7 : forall (P : CategoryTheory.Functor.{u2, max u2 u3, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2) (X : C) (S : CategoryTheory.GrothendieckTopology.Cover.{u2, u3} C _inst_1 J X), CategoryTheory.Limits.HasMultiequalizer.{max u2 u3, u1, max u3 u2} D _inst_2 (CategoryTheory.GrothendieckTopology.Cover.index.{u1, u2, u3} C _inst_1 X J D _inst_2 S P)] [_inst_8 : forall (X : C), CategoryTheory.Limits.HasColimitsOfShape.{max u3 u2, max u3 u2, max u2 u3, u1} (Opposite.{succ (max u3 u2)} (CategoryTheory.GrothendieckTopology.Cover.{u2, u3} C _inst_1 J X)) (CategoryTheory.Category.opposite.{max u3 u2, max u3 u2} (CategoryTheory.GrothendieckTopology.Cover.{u2, u3} C _inst_1 J X) (Preorder.smallCategory.{max u3 u2} (CategoryTheory.GrothendieckTopology.Cover.{u2, u3} C _inst_1 J X) (CategoryTheory.GrothendieckTopology.Cover.preorder.{u2, u3} C _inst_1 J X))) D _inst_2] [_inst_9 : forall (X : C), CategoryTheory.Limits.PreservesColimitsOfShape.{max u3 u2, max u3 u2, max u2 u3, max u2 u3, u1, succ (max u2 u3)} D _inst_2 Type.{max u2 u3} CategoryTheory.types.{max u2 u3} (Opposite.{succ (max u3 u2)} (CategoryTheory.GrothendieckTopology.Cover.{u2, u3} C _inst_1 J X)) (CategoryTheory.Category.opposite.{max u3 u2, max u3 u2} (CategoryTheory.GrothendieckTopology.Cover.{u2, u3} C _inst_1 J X) (Preorder.smallCategory.{max u3 u2} (CategoryTheory.GrothendieckTopology.Cover.{u2, u3} C _inst_1 J X) (CategoryTheory.GrothendieckTopology.Cover.preorder.{u2, u3} C _inst_1 J X))) (CategoryTheory.forget.{u1, max u2 u3, max u2 u3} D _inst_2 _inst_5)] [_inst_10 : CategoryTheory.ReflectsIsomorphisms.{max u2 u3, max u2 u3, u1, succ (max u2 u3)} D _inst_2 Type.{max u2 u3} CategoryTheory.types.{max u2 u3} (CategoryTheory.forget.{u1, max u2 u3, max u2 u3} D _inst_2 _inst_5)], (CategoryTheory.Functor.{max u2 u3, max u2 u3, succ (max u2 u3), u1} Type.{max u2 u3} CategoryTheory.types.{max u2 u3} D _inst_2) -> (CategoryTheory.Functor.{max u2 u3, max u2 u3, max u3 u2 (succ (max u2 u3)), max u3 u1 u2 u3} (CategoryTheory.SheafOfTypes.{max u2 u3, u2, u3} C _inst_1 J) (CategoryTheory.SheafOfTypes.CategoryTheory.category.{u2, u3, max u2 u3} C _inst_1 J) (CategoryTheory.Sheaf.{u2, max u2 u3, u3, u1} C _inst_1 J D _inst_2) (CategoryTheory.Sheaf.CategoryTheory.category.{u2, max u2 u3, u3, u1} C _inst_1 J D _inst_2))
-but is expected to have type
-  forall {C : Type.{u3}} [_inst_1 : CategoryTheory.Category.{u2, u3} C] (J : CategoryTheory.GrothendieckTopology.{u2, u3} C _inst_1) {D : Type.{u1}} [_inst_2 : CategoryTheory.Category.{max u2 u3, u1} D] [_inst_5 : CategoryTheory.ConcreteCategory.{max u2 u3, max u3 u2, u1} D _inst_2] [_inst_6 : CategoryTheory.Limits.PreservesLimits.{max u3 u2, max u3 u2, u1, max (succ u3) (succ u2)} D _inst_2 Type.{max u3 u2} CategoryTheory.types.{max u3 u2} (CategoryTheory.forget.{u1, max u3 u2, max u3 u2} D _inst_2 _inst_5)] [_inst_7 : forall (P : CategoryTheory.Functor.{u2, max u3 u2, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2) (X : C) (S : CategoryTheory.GrothendieckTopology.Cover.{u2, u3} C _inst_1 J X), CategoryTheory.Limits.HasMultiequalizer.{max u3 u2, u1, max u3 u2} D _inst_2 (CategoryTheory.GrothendieckTopology.Cover.index.{u1, u2, u3} C _inst_1 X J D _inst_2 S P)] [_inst_8 : forall (X : C), CategoryTheory.Limits.HasColimitsOfShape.{max u3 u2, max u3 u2, max u3 u2, u1} (Opposite.{max (succ u3) (succ u2)} (CategoryTheory.GrothendieckTopology.Cover.{u2, u3} C _inst_1 J X)) (CategoryTheory.Category.opposite.{max u3 u2, max u3 u2} (CategoryTheory.GrothendieckTopology.Cover.{u2, u3} C _inst_1 J X) (Preorder.smallCategory.{max u3 u2} (CategoryTheory.GrothendieckTopology.Cover.{u2, u3} C _inst_1 J X) (CategoryTheory.GrothendieckTopology.instPreorderCover.{u2, u3} C _inst_1 J X))) D _inst_2] [_inst_9 : forall (X : C), CategoryTheory.Limits.PreservesColimitsOfShape.{max u3 u2, max u3 u2, max u3 u2, max u3 u2, u1, max (succ u3) (succ u2)} D _inst_2 Type.{max u3 u2} CategoryTheory.types.{max u3 u2} (Opposite.{max (succ u3) (succ u2)} (CategoryTheory.GrothendieckTopology.Cover.{u2, u3} C _inst_1 J X)) (CategoryTheory.Category.opposite.{max u3 u2, max u3 u2} (CategoryTheory.GrothendieckTopology.Cover.{u2, u3} C _inst_1 J X) (Preorder.smallCategory.{max u3 u2} (CategoryTheory.GrothendieckTopology.Cover.{u2, u3} C _inst_1 J X) (CategoryTheory.GrothendieckTopology.instPreorderCover.{u2, u3} C _inst_1 J X))) (CategoryTheory.forget.{u1, max u3 u2, max u3 u2} D _inst_2 _inst_5)] [_inst_10 : CategoryTheory.ReflectsIsomorphisms.{max u3 u2, max u3 u2, u1, max (succ u3) (succ u2)} D _inst_2 Type.{max u3 u2} CategoryTheory.types.{max u3 u2} (CategoryTheory.forget.{u1, max u3 u2, max u3 u2} D _inst_2 _inst_5)], (CategoryTheory.Functor.{max u3 u2, max u3 u2, max (succ u3) (succ u2), u1} Type.{max u2 u3} CategoryTheory.types.{max u3 u2} D _inst_2) -> (CategoryTheory.Functor.{max u3 u2, max u3 u2, succ (max u3 u2), max (max (max u1 u3) u3 u2) u2} (CategoryTheory.SheafOfTypes.{max u3 u2, u2, u3} C _inst_1 J) (CategoryTheory.SheafOfTypes.instCategorySheafOfTypes.{u2, u3, max u3 u2} C _inst_1 J) (CategoryTheory.Sheaf.{u2, max u3 u2, u3, u1} C _inst_1 J D _inst_2) (CategoryTheory.Sheaf.instCategorySheaf.{u2, max u3 u2, u3, u1} C _inst_1 J D _inst_2))
-Case conversion may be inaccurate. Consider using '#align category_theory.Sheaf.compose_and_sheafify_from_types CategoryTheory.Sheaf.composeAndSheafifyFromTypesₓ'. -/
 /-- This is the functor sending a sheaf of types `X` to the sheafification of `X ⋙ G`. -/
 abbrev composeAndSheafifyFromTypes (G : Type max v u ⥤ D) : SheafOfTypes J ⥤ Sheaf J D :=
   (sheafEquivSheafOfTypes J).inverse ⋙ composeAndSheafify _ G
 #align category_theory.Sheaf.compose_and_sheafify_from_types CategoryTheory.Sheaf.composeAndSheafifyFromTypes
 
-/- warning: category_theory.Sheaf.adjunction_to_types -> CategoryTheory.Sheaf.adjunctionToTypes is a dubious translation:
-lean 3 declaration is
-  forall {C : Type.{u3}} [_inst_1 : CategoryTheory.Category.{u2, u3} C] (J : CategoryTheory.GrothendieckTopology.{u2, u3} C _inst_1) {D : Type.{u1}} [_inst_2 : CategoryTheory.Category.{max u2 u3, u1} D] [_inst_5 : CategoryTheory.ConcreteCategory.{max u2 u3, max u2 u3, u1} D _inst_2] [_inst_6 : CategoryTheory.Limits.PreservesLimits.{max u2 u3, max u2 u3, u1, succ (max u2 u3)} D _inst_2 Type.{max u2 u3} CategoryTheory.types.{max u2 u3} (CategoryTheory.forget.{u1, max u2 u3, max u2 u3} D _inst_2 _inst_5)] [_inst_7 : forall (P : CategoryTheory.Functor.{u2, max u2 u3, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2) (X : C) (S : CategoryTheory.GrothendieckTopology.Cover.{u2, u3} C _inst_1 J X), CategoryTheory.Limits.HasMultiequalizer.{max u2 u3, u1, max u3 u2} D _inst_2 (CategoryTheory.GrothendieckTopology.Cover.index.{u1, u2, u3} C _inst_1 X J D _inst_2 S P)] [_inst_8 : forall (X : C), CategoryTheory.Limits.HasColimitsOfShape.{max u3 u2, max u3 u2, max u2 u3, u1} (Opposite.{succ (max u3 u2)} (CategoryTheory.GrothendieckTopology.Cover.{u2, u3} C _inst_1 J X)) (CategoryTheory.Category.opposite.{max u3 u2, max u3 u2} (CategoryTheory.GrothendieckTopology.Cover.{u2, u3} C _inst_1 J X) (Preorder.smallCategory.{max u3 u2} (CategoryTheory.GrothendieckTopology.Cover.{u2, u3} C _inst_1 J X) (CategoryTheory.GrothendieckTopology.Cover.preorder.{u2, u3} C _inst_1 J X))) D _inst_2] [_inst_9 : forall (X : C), CategoryTheory.Limits.PreservesColimitsOfShape.{max u3 u2, max u3 u2, max u2 u3, max u2 u3, u1, succ (max u2 u3)} D _inst_2 Type.{max u2 u3} CategoryTheory.types.{max u2 u3} (Opposite.{succ (max u3 u2)} (CategoryTheory.GrothendieckTopology.Cover.{u2, u3} C _inst_1 J X)) (CategoryTheory.Category.opposite.{max u3 u2, max u3 u2} (CategoryTheory.GrothendieckTopology.Cover.{u2, u3} C _inst_1 J X) (Preorder.smallCategory.{max u3 u2} (CategoryTheory.GrothendieckTopology.Cover.{u2, u3} C _inst_1 J X) (CategoryTheory.GrothendieckTopology.Cover.preorder.{u2, u3} C _inst_1 J X))) (CategoryTheory.forget.{u1, max u2 u3, max u2 u3} D _inst_2 _inst_5)] [_inst_10 : CategoryTheory.ReflectsIsomorphisms.{max u2 u3, max u2 u3, u1, succ (max u2 u3)} D _inst_2 Type.{max u2 u3} CategoryTheory.types.{max u2 u3} (CategoryTheory.forget.{u1, max u2 u3, max u2 u3} D _inst_2 _inst_5)] {G : CategoryTheory.Functor.{max u2 u3, max u2 u3, succ (max u2 u3), u1} Type.{max u2 u3} CategoryTheory.types.{max u2 u3} D _inst_2}, (CategoryTheory.Adjunction.{max u2 u3, max u2 u3, succ (max u2 u3), u1} Type.{max u2 u3} CategoryTheory.types.{max u2 u3} D _inst_2 G (CategoryTheory.forget.{u1, max u2 u3, max u2 u3} D _inst_2 _inst_5)) -> (CategoryTheory.Adjunction.{max u2 u3, max u2 u3, max u3 u2 (succ (max u2 u3)), max u3 u1 u2 u3} (CategoryTheory.SheafOfTypes.{max u2 u3, u2, u3} C _inst_1 J) (CategoryTheory.SheafOfTypes.CategoryTheory.category.{u2, u3, max u2 u3} C _inst_1 J) (CategoryTheory.Sheaf.{u2, max u2 u3, u3, u1} C _inst_1 J D _inst_2) (CategoryTheory.Sheaf.CategoryTheory.category.{u2, max u2 u3, u3, u1} C _inst_1 J D _inst_2) (CategoryTheory.Sheaf.composeAndSheafifyFromTypes.{u1, u2, u3} C _inst_1 J D _inst_2 _inst_5 _inst_6 (CategoryTheory.Sheaf.adjunctionToTypes._proof_1.{u3, u2, u1} C _inst_1 J D _inst_2 _inst_7) (CategoryTheory.Sheaf.adjunctionToTypes._proof_2.{u3, u2, u1} C _inst_1 J D _inst_2 _inst_8) (fun (X : C) => _inst_9 X) _inst_10 G) (CategoryTheory.sheafForget.{u1, u2, u3} C _inst_1 J D _inst_2 _inst_5 _inst_6))
-but is expected to have type
-  forall {C : Type.{u3}} [_inst_1 : CategoryTheory.Category.{u2, u3} C] (J : CategoryTheory.GrothendieckTopology.{u2, u3} C _inst_1) {D : Type.{u1}} [_inst_2 : CategoryTheory.Category.{max u2 u3, u1} D] [_inst_5 : CategoryTheory.ConcreteCategory.{max u2 u3, max u3 u2, u1} D _inst_2] [_inst_6 : CategoryTheory.Limits.PreservesLimits.{max u3 u2, max u3 u2, u1, max (succ u3) (succ u2)} D _inst_2 Type.{max u3 u2} CategoryTheory.types.{max u3 u2} (CategoryTheory.forget.{u1, max u3 u2, max u3 u2} D _inst_2 _inst_5)] [_inst_7 : forall (P : CategoryTheory.Functor.{u2, max u3 u2, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2) (X : C) (S : CategoryTheory.GrothendieckTopology.Cover.{u2, u3} C _inst_1 J X), CategoryTheory.Limits.HasMultiequalizer.{max u3 u2, u1, max u3 u2} D _inst_2 (CategoryTheory.GrothendieckTopology.Cover.index.{u1, u2, u3} C _inst_1 X J D _inst_2 S P)] [_inst_8 : forall (X : C), CategoryTheory.Limits.HasColimitsOfShape.{max u3 u2, max u3 u2, max u3 u2, u1} (Opposite.{max (succ u3) (succ u2)} (CategoryTheory.GrothendieckTopology.Cover.{u2, u3} C _inst_1 J X)) (CategoryTheory.Category.opposite.{max u3 u2, max u3 u2} (CategoryTheory.GrothendieckTopology.Cover.{u2, u3} C _inst_1 J X) (Preorder.smallCategory.{max u3 u2} (CategoryTheory.GrothendieckTopology.Cover.{u2, u3} C _inst_1 J X) (CategoryTheory.GrothendieckTopology.instPreorderCover.{u2, u3} C _inst_1 J X))) D _inst_2] [_inst_9 : forall (X : C), CategoryTheory.Limits.PreservesColimitsOfShape.{max u3 u2, max u3 u2, max u3 u2, max u3 u2, u1, max (succ u3) (succ u2)} D _inst_2 Type.{max u3 u2} CategoryTheory.types.{max u3 u2} (Opposite.{max (succ u3) (succ u2)} (CategoryTheory.GrothendieckTopology.Cover.{u2, u3} C _inst_1 J X)) (CategoryTheory.Category.opposite.{max u3 u2, max u3 u2} (CategoryTheory.GrothendieckTopology.Cover.{u2, u3} C _inst_1 J X) (Preorder.smallCategory.{max u3 u2} (CategoryTheory.GrothendieckTopology.Cover.{u2, u3} C _inst_1 J X) (CategoryTheory.GrothendieckTopology.instPreorderCover.{u2, u3} C _inst_1 J X))) (CategoryTheory.forget.{u1, max u3 u2, max u3 u2} D _inst_2 _inst_5)] [_inst_10 : CategoryTheory.ReflectsIsomorphisms.{max u3 u2, max u3 u2, u1, max (succ u3) (succ u2)} D _inst_2 Type.{max u3 u2} CategoryTheory.types.{max u3 u2} (CategoryTheory.forget.{u1, max u3 u2, max u3 u2} D _inst_2 _inst_5)] {G : CategoryTheory.Functor.{max u3 u2, max u3 u2, max (succ u3) (succ u2), u1} Type.{max u2 u3} CategoryTheory.types.{max u3 u2} D _inst_2}, (CategoryTheory.Adjunction.{max u3 u2, max u3 u2, max (succ u3) (succ u2), u1} Type.{max u2 u3} CategoryTheory.types.{max u3 u2} D _inst_2 G (CategoryTheory.forget.{u1, max u3 u2, max u3 u2} D _inst_2 _inst_5)) -> (CategoryTheory.Adjunction.{max u3 u2, max u3 u2, max (succ u3) (succ u2), max (max u3 u2) u1} (CategoryTheory.SheafOfTypes.{max u3 u2, u2, u3} C _inst_1 J) (CategoryTheory.SheafOfTypes.instCategorySheafOfTypes.{u2, u3, max u3 u2} C _inst_1 J) (CategoryTheory.Sheaf.{u2, max u3 u2, u3, u1} C _inst_1 J D _inst_2) (CategoryTheory.Sheaf.instCategorySheaf.{u2, max u3 u2, u3, u1} C _inst_1 J D _inst_2) (CategoryTheory.Sheaf.composeAndSheafifyFromTypes.{u1, u2, u3} C _inst_1 J D _inst_2 _inst_5 _inst_6 (fun (P : CategoryTheory.Functor.{u2, max u3 u2, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2) (X : C) (S : CategoryTheory.GrothendieckTopology.Cover.{u2, u3} C _inst_1 J X) => _inst_7 P X S) (fun (X : C) => _inst_8 X) (fun (X : C) => _inst_9 X) _inst_10 G) (CategoryTheory.sheafForget.{u1, u2, u3} C _inst_1 J D _inst_2 _inst_5 _inst_6))
-Case conversion may be inaccurate. Consider using '#align category_theory.Sheaf.adjunction_to_types CategoryTheory.Sheaf.adjunctionToTypesₓ'. -/
 /-- A variant of the adjunction between sheaf categories, in the case where the right adjoint
 is the forgetful functor to sheaves of types. -/
 def adjunctionToTypes {G : Type max v u ⥤ D} (adj : G ⊣ forget D) :
@@ -143,9 +119,6 @@ def adjunctionToTypes {G : Type max v u ⥤ D} (adj : G ⊣ forget D) :
   (sheafEquivSheafOfTypes J).symm.toAdjunction.comp (adjunction J adj)
 #align category_theory.Sheaf.adjunction_to_types CategoryTheory.Sheaf.adjunctionToTypes
 
-/- warning: category_theory.Sheaf.adjunction_to_types_unit_app_val -> CategoryTheory.Sheaf.adjunctionToTypes_unit_app_val is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align category_theory.Sheaf.adjunction_to_types_unit_app_val CategoryTheory.Sheaf.adjunctionToTypes_unit_app_valₓ'. -/
 @[simp]
 theorem adjunctionToTypes_unit_app_val {G : Type max v u ⥤ D} (adj : G ⊣ forget D)
     (Y : SheafOfTypes J) :
@@ -157,9 +130,6 @@ theorem adjunctionToTypes_unit_app_val {G : Type max v u ⥤ D} (adj : G ⊣ for
   simpa
 #align category_theory.Sheaf.adjunction_to_types_unit_app_val CategoryTheory.Sheaf.adjunctionToTypes_unit_app_val
 
-/- warning: category_theory.Sheaf.adjunction_to_types_counit_app_val -> CategoryTheory.Sheaf.adjunctionToTypes_counit_app_val is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align category_theory.Sheaf.adjunction_to_types_counit_app_val CategoryTheory.Sheaf.adjunctionToTypes_counit_app_valₓ'. -/
 @[simp]
 theorem adjunctionToTypes_counit_app_val {G : Type max v u ⥤ D} (adj : G ⊣ forget D)
     (X : Sheaf J D) :
Diff
@@ -110,16 +110,8 @@ and `F` preserves the correct limits. -/
 def adjunction (adj : G ⊣ F) : composeAndSheafify J G ⊣ sheafCompose J F :=
   Adjunction.mkOfHomEquiv
     { homEquiv := composeEquiv J adj
-      homEquiv_naturality_left_symm := fun X' X Y f g =>
-        by
-        ext1
-        dsimp
-        simp
-      homEquiv_naturality_right := fun X Y Y' f g =>
-        by
-        ext1
-        dsimp
-        simp }
+      homEquiv_naturality_left_symm := fun X' X Y f g => by ext1; dsimp; simp
+      homEquiv_naturality_right := fun X Y Y' f g => by ext1; dsimp; simp }
 #align category_theory.Sheaf.adjunction CategoryTheory.Sheaf.adjunction
 
 instance [IsRightAdjoint F] : IsRightAdjoint (sheafCompose J F) :=
Diff
@@ -77,10 +77,7 @@ abbrev composeAndSheafify (G : E ⥤ D) : Sheaf J E ⥤ Sheaf J D :=
 #align category_theory.Sheaf.compose_and_sheafify CategoryTheory.Sheaf.composeAndSheafify
 
 /- warning: category_theory.Sheaf.compose_equiv -> CategoryTheory.Sheaf.composeEquiv is a dubious translation:
-lean 3 declaration is
-  forall {C : Type.{u4}} [_inst_1 : CategoryTheory.Category.{u3, u4} C] (J : CategoryTheory.GrothendieckTopology.{u3, u4} C _inst_1) {D : Type.{u1}} [_inst_2 : CategoryTheory.Category.{max u3 u4, u1} D] {E : Type.{u2}} [_inst_3 : CategoryTheory.Category.{max u3 u4, u2} E] {F : CategoryTheory.Functor.{max u3 u4, max u3 u4, u1, u2} D _inst_2 E _inst_3} {G : CategoryTheory.Functor.{max u3 u4, max u3 u4, u2, u1} E _inst_3 D _inst_2} [_inst_4 : forall (X : C) (S : CategoryTheory.GrothendieckTopology.Cover.{u3, u4} C _inst_1 J X) (P : CategoryTheory.Functor.{u3, max u3 u4, u4, u1} (Opposite.{succ u4} C) (CategoryTheory.Category.opposite.{u3, u4} C _inst_1) D _inst_2), CategoryTheory.Limits.PreservesLimit.{max u4 u3, max u4 u3, max u3 u4, max u3 u4, u1, u2} D _inst_2 E _inst_3 (CategoryTheory.Limits.WalkingMulticospan.{max u4 u3} (CategoryTheory.Limits.MulticospanIndex.L.{max u4 u3, max u3 u4, u1} D _inst_2 (CategoryTheory.GrothendieckTopology.Cover.index.{u1, u3, u4} C _inst_1 X J D _inst_2 S P)) (CategoryTheory.Limits.MulticospanIndex.R.{max u4 u3, max u3 u4, u1} D _inst_2 (CategoryTheory.GrothendieckTopology.Cover.index.{u1, u3, u4} C _inst_1 X J D _inst_2 S P)) (CategoryTheory.Limits.MulticospanIndex.fstTo.{max u4 u3, max u3 u4, u1} D _inst_2 (CategoryTheory.GrothendieckTopology.Cover.index.{u1, u3, u4} C _inst_1 X J D _inst_2 S P)) (CategoryTheory.Limits.MulticospanIndex.sndTo.{max u4 u3, max u3 u4, u1} D _inst_2 (CategoryTheory.GrothendieckTopology.Cover.index.{u1, u3, u4} C _inst_1 X J D _inst_2 S P))) (CategoryTheory.Limits.WalkingMulticospan.CategoryTheory.smallCategory.{max u4 u3} (CategoryTheory.Limits.MulticospanIndex.L.{max u4 u3, max u3 u4, u1} D _inst_2 (CategoryTheory.GrothendieckTopology.Cover.index.{u1, u3, u4} C _inst_1 X J D _inst_2 S P)) (CategoryTheory.Limits.MulticospanIndex.R.{max u4 u3, max u3 u4, u1} D _inst_2 (CategoryTheory.GrothendieckTopology.Cover.index.{u1, u3, u4} C _inst_1 X J D _inst_2 S P)) (CategoryTheory.Limits.MulticospanIndex.fstTo.{max u4 u3, max u3 u4, u1} D _inst_2 (CategoryTheory.GrothendieckTopology.Cover.index.{u1, u3, u4} C _inst_1 X J D _inst_2 S P)) (CategoryTheory.Limits.MulticospanIndex.sndTo.{max u4 u3, max u3 u4, u1} D _inst_2 (CategoryTheory.GrothendieckTopology.Cover.index.{u1, u3, u4} C _inst_1 X J D _inst_2 S P))) (CategoryTheory.Limits.MulticospanIndex.multicospan.{max u3 u4, u1, max u4 u3} D _inst_2 (CategoryTheory.GrothendieckTopology.Cover.index.{u1, u3, u4} C _inst_1 X J D _inst_2 S P)) F] [_inst_5 : CategoryTheory.ConcreteCategory.{max u3 u4, max u3 u4, u1} D _inst_2] [_inst_6 : CategoryTheory.Limits.PreservesLimits.{max u3 u4, max u3 u4, u1, succ (max u3 u4)} D _inst_2 Type.{max u3 u4} CategoryTheory.types.{max u3 u4} (CategoryTheory.forget.{u1, max u3 u4, max u3 u4} D _inst_2 _inst_5)] [_inst_7 : forall (P : CategoryTheory.Functor.{u3, max u3 u4, u4, u1} (Opposite.{succ u4} C) (CategoryTheory.Category.opposite.{u3, u4} C _inst_1) D _inst_2) (X : C) (S : CategoryTheory.GrothendieckTopology.Cover.{u3, u4} C _inst_1 J X), CategoryTheory.Limits.HasMultiequalizer.{max u3 u4, u1, max u4 u3} D _inst_2 (CategoryTheory.GrothendieckTopology.Cover.index.{u1, u3, u4} C _inst_1 X J D _inst_2 S P)] [_inst_8 : forall (X : C), CategoryTheory.Limits.HasColimitsOfShape.{max u4 u3, max u4 u3, max u3 u4, u1} (Opposite.{succ (max u4 u3)} (CategoryTheory.GrothendieckTopology.Cover.{u3, u4} C _inst_1 J X)) (CategoryTheory.Category.opposite.{max u4 u3, max u4 u3} (CategoryTheory.GrothendieckTopology.Cover.{u3, u4} C _inst_1 J X) (Preorder.smallCategory.{max u4 u3} (CategoryTheory.GrothendieckTopology.Cover.{u3, u4} C _inst_1 J X) (CategoryTheory.GrothendieckTopology.Cover.preorder.{u3, u4} C _inst_1 J X))) D _inst_2] [_inst_9 : forall (X : C), CategoryTheory.Limits.PreservesColimitsOfShape.{max u4 u3, max u4 u3, max u3 u4, max u3 u4, u1, succ (max u3 u4)} D _inst_2 Type.{max u3 u4} CategoryTheory.types.{max u3 u4} (Opposite.{succ (max u4 u3)} (CategoryTheory.GrothendieckTopology.Cover.{u3, u4} C _inst_1 J X)) (CategoryTheory.Category.opposite.{max u4 u3, max u4 u3} (CategoryTheory.GrothendieckTopology.Cover.{u3, u4} C _inst_1 J X) (Preorder.smallCategory.{max u4 u3} (CategoryTheory.GrothendieckTopology.Cover.{u3, u4} C _inst_1 J X) (CategoryTheory.GrothendieckTopology.Cover.preorder.{u3, u4} C _inst_1 J X))) (CategoryTheory.forget.{u1, max u3 u4, max u3 u4} D _inst_2 _inst_5)] [_inst_10 : CategoryTheory.ReflectsIsomorphisms.{max u3 u4, max u3 u4, u1, succ (max u3 u4)} D _inst_2 Type.{max u3 u4} CategoryTheory.types.{max u3 u4} (CategoryTheory.forget.{u1, max u3 u4, max u3 u4} D _inst_2 _inst_5)], (CategoryTheory.Adjunction.{max u3 u4, max u3 u4, u2, u1} E _inst_3 D _inst_2 G F) -> (forall (X : CategoryTheory.Sheaf.{u3, max u3 u4, u4, u2} C _inst_1 J E _inst_3) (Y : CategoryTheory.Sheaf.{u3, max u3 u4, u4, u1} C _inst_1 J D _inst_2), Equiv.{succ (max u3 u4), succ (max u3 u4)} (Quiver.Hom.{succ (max u3 u4), max u4 u1 u3 u4} (CategoryTheory.Sheaf.{u3, max u3 u4, u4, u1} C _inst_1 J D _inst_2) (CategoryTheory.CategoryStruct.toQuiver.{max u3 u4, max u4 u1 u3 u4} (CategoryTheory.Sheaf.{u3, max u3 u4, u4, u1} C _inst_1 J D _inst_2) (CategoryTheory.Category.toCategoryStruct.{max u3 u4, max u4 u1 u3 u4} (CategoryTheory.Sheaf.{u3, max u3 u4, u4, u1} C _inst_1 J D _inst_2) (CategoryTheory.Sheaf.CategoryTheory.category.{u3, max u3 u4, u4, u1} C _inst_1 J D _inst_2))) (CategoryTheory.Functor.obj.{max u3 u4, max u3 u4, max u4 u2 u3 u4, max u4 u1 u3 u4} (CategoryTheory.Sheaf.{u3, max u3 u4, u4, u2} C _inst_1 J E _inst_3) (CategoryTheory.Sheaf.CategoryTheory.category.{u3, max u3 u4, u4, u2} C _inst_1 J E _inst_3) (CategoryTheory.Sheaf.{u3, max u3 u4, u4, u1} C _inst_1 J D _inst_2) (CategoryTheory.Sheaf.CategoryTheory.category.{u3, max u3 u4, u4, u1} C _inst_1 J D _inst_2) (CategoryTheory.Sheaf.composeAndSheafify.{u1, u2, u3, u4} C _inst_1 J D _inst_2 E _inst_3 _inst_5 _inst_6 (CategoryTheory.Sheaf.composeEquiv._proof_1.{u4, u3, u1} C _inst_1 J D _inst_2 _inst_7) (CategoryTheory.Sheaf.composeEquiv._proof_2.{u4, u3, u1} C _inst_1 J D _inst_2 _inst_8) (fun (X : C) => _inst_9 X) _inst_10 G) X) Y) (Quiver.Hom.{succ (max u3 u4), max u4 u2 u3 u4} (CategoryTheory.Sheaf.{u3, max u3 u4, u4, u2} C _inst_1 J E _inst_3) (CategoryTheory.CategoryStruct.toQuiver.{max u3 u4, max u4 u2 u3 u4} (CategoryTheory.Sheaf.{u3, max u3 u4, u4, u2} C _inst_1 J E _inst_3) (CategoryTheory.Category.toCategoryStruct.{max u3 u4, max u4 u2 u3 u4} (CategoryTheory.Sheaf.{u3, max u3 u4, u4, u2} C _inst_1 J E _inst_3) (CategoryTheory.Sheaf.CategoryTheory.category.{u3, max u3 u4, u4, u2} C _inst_1 J E _inst_3))) X (CategoryTheory.Functor.obj.{max u3 u4, max u3 u4, max u4 u1 u3 u4, max u4 u2 u3 u4} (CategoryTheory.Sheaf.{u3, max u3 u4, u4, u1} C _inst_1 J D _inst_2) (CategoryTheory.Sheaf.CategoryTheory.category.{u3, max u3 u4, u4, u1} C _inst_1 J D _inst_2) (CategoryTheory.Sheaf.{u3, max u3 u4, u4, u2} C _inst_1 J E _inst_3) (CategoryTheory.Sheaf.CategoryTheory.category.{u3, max u3 u4, u4, u2} C _inst_1 J E _inst_3) (CategoryTheory.sheafCompose.{u3, u4, u1, u2} C _inst_1 D _inst_2 E _inst_3 J F (fun (X : C) (S : CategoryTheory.GrothendieckTopology.Cover.{u3, u4} C _inst_1 J X) (P : CategoryTheory.Functor.{u3, max u3 u4, u4, u1} (Opposite.{succ u4} C) (CategoryTheory.Category.opposite.{u3, u4} C _inst_1) D _inst_2) => _inst_4 X S P)) Y)))
-but is expected to have type
-  forall {C : Type.{u4}} [_inst_1 : CategoryTheory.Category.{u3, u4} C] (J : CategoryTheory.GrothendieckTopology.{u3, u4} C _inst_1) {D : Type.{u1}} [_inst_2 : CategoryTheory.Category.{max u3 u4, u1} D] {E : Type.{u2}} [_inst_3 : CategoryTheory.Category.{max u3 u4, u2} E] {F : CategoryTheory.Functor.{max u4 u3, max u4 u3, u1, u2} D _inst_2 E _inst_3} {G : CategoryTheory.Functor.{max u4 u3, max u4 u3, u2, u1} E _inst_3 D _inst_2} [_inst_4 : forall (X : C) (S : CategoryTheory.GrothendieckTopology.Cover.{u3, u4} C _inst_1 J X) (P : CategoryTheory.Functor.{u3, max u4 u3, u4, u1} (Opposite.{succ u4} C) (CategoryTheory.Category.opposite.{u3, u4} C _inst_1) D _inst_2), CategoryTheory.Limits.PreservesLimit.{max u4 u3, max u4 u3, max u4 u3, max u4 u3, u1, u2} D _inst_2 E _inst_3 (CategoryTheory.Limits.WalkingMulticospan.{max u4 u3} (CategoryTheory.Limits.MulticospanIndex.L.{max u4 u3, max u4 u3, u1} D _inst_2 (CategoryTheory.GrothendieckTopology.Cover.index.{u1, u3, u4} C _inst_1 X J D _inst_2 S P)) (CategoryTheory.Limits.MulticospanIndex.R.{max u4 u3, max u4 u3, u1} D _inst_2 (CategoryTheory.GrothendieckTopology.Cover.index.{u1, u3, u4} C _inst_1 X J D _inst_2 S P)) (CategoryTheory.Limits.MulticospanIndex.fstTo.{max u4 u3, max u4 u3, u1} D _inst_2 (CategoryTheory.GrothendieckTopology.Cover.index.{u1, u3, u4} C _inst_1 X J D _inst_2 S P)) (CategoryTheory.Limits.MulticospanIndex.sndTo.{max u4 u3, max u4 u3, u1} D _inst_2 (CategoryTheory.GrothendieckTopology.Cover.index.{u1, u3, u4} C _inst_1 X J D _inst_2 S P))) (CategoryTheory.Limits.WalkingMulticospan.instSmallCategoryWalkingMulticospan.{max u4 u3} (CategoryTheory.Limits.MulticospanIndex.L.{max u4 u3, max u4 u3, u1} D _inst_2 (CategoryTheory.GrothendieckTopology.Cover.index.{u1, u3, u4} C _inst_1 X J D _inst_2 S P)) (CategoryTheory.Limits.MulticospanIndex.R.{max u4 u3, max u4 u3, u1} D _inst_2 (CategoryTheory.GrothendieckTopology.Cover.index.{u1, u3, u4} C _inst_1 X J D _inst_2 S P)) (CategoryTheory.Limits.MulticospanIndex.fstTo.{max u4 u3, max u4 u3, u1} D _inst_2 (CategoryTheory.GrothendieckTopology.Cover.index.{u1, u3, u4} C _inst_1 X J D _inst_2 S P)) (CategoryTheory.Limits.MulticospanIndex.sndTo.{max u4 u3, max u4 u3, u1} D _inst_2 (CategoryTheory.GrothendieckTopology.Cover.index.{u1, u3, u4} C _inst_1 X J D _inst_2 S P))) (CategoryTheory.Limits.MulticospanIndex.multicospan.{max u4 u3, u1, max u4 u3} D _inst_2 (CategoryTheory.GrothendieckTopology.Cover.index.{u1, u3, u4} C _inst_1 X J D _inst_2 S P)) F] [_inst_5 : CategoryTheory.ConcreteCategory.{max u3 u4, max u4 u3, u1} D _inst_2] [_inst_6 : CategoryTheory.Limits.PreservesLimits.{max u4 u3, max u4 u3, u1, max (succ u4) (succ u3)} D _inst_2 Type.{max u4 u3} CategoryTheory.types.{max u4 u3} (CategoryTheory.forget.{u1, max u4 u3, max u4 u3} D _inst_2 _inst_5)] [_inst_7 : forall (P : CategoryTheory.Functor.{u3, max u4 u3, u4, u1} (Opposite.{succ u4} C) (CategoryTheory.Category.opposite.{u3, u4} C _inst_1) D _inst_2) (X : C) (S : CategoryTheory.GrothendieckTopology.Cover.{u3, u4} C _inst_1 J X), CategoryTheory.Limits.HasMultiequalizer.{max u4 u3, u1, max u4 u3} D _inst_2 (CategoryTheory.GrothendieckTopology.Cover.index.{u1, u3, u4} C _inst_1 X J D _inst_2 S P)] [_inst_8 : forall (X : C), CategoryTheory.Limits.HasColimitsOfShape.{max u4 u3, max u4 u3, max u4 u3, u1} (Opposite.{max (succ u4) (succ u3)} (CategoryTheory.GrothendieckTopology.Cover.{u3, u4} C _inst_1 J X)) (CategoryTheory.Category.opposite.{max u4 u3, max u4 u3} (CategoryTheory.GrothendieckTopology.Cover.{u3, u4} C _inst_1 J X) (Preorder.smallCategory.{max u4 u3} (CategoryTheory.GrothendieckTopology.Cover.{u3, u4} C _inst_1 J X) (CategoryTheory.GrothendieckTopology.instPreorderCover.{u3, u4} C _inst_1 J X))) D _inst_2] [_inst_9 : forall (X : C), CategoryTheory.Limits.PreservesColimitsOfShape.{max u4 u3, max u4 u3, max u4 u3, max u4 u3, u1, max (succ u4) (succ u3)} D _inst_2 Type.{max u4 u3} CategoryTheory.types.{max u4 u3} (Opposite.{max (succ u4) (succ u3)} (CategoryTheory.GrothendieckTopology.Cover.{u3, u4} C _inst_1 J X)) (CategoryTheory.Category.opposite.{max u4 u3, max u4 u3} (CategoryTheory.GrothendieckTopology.Cover.{u3, u4} C _inst_1 J X) (Preorder.smallCategory.{max u4 u3} (CategoryTheory.GrothendieckTopology.Cover.{u3, u4} C _inst_1 J X) (CategoryTheory.GrothendieckTopology.instPreorderCover.{u3, u4} C _inst_1 J X))) (CategoryTheory.forget.{u1, max u4 u3, max u4 u3} D _inst_2 _inst_5)] [_inst_10 : CategoryTheory.ReflectsIsomorphisms.{max u4 u3, max u4 u3, u1, max (succ u4) (succ u3)} D _inst_2 Type.{max u4 u3} CategoryTheory.types.{max u4 u3} (CategoryTheory.forget.{u1, max u4 u3, max u4 u3} D _inst_2 _inst_5)], (CategoryTheory.Adjunction.{max u4 u3, max u4 u3, u2, u1} E _inst_3 D _inst_2 G F) -> (forall (X : CategoryTheory.Sheaf.{u3, max u4 u3, u4, u2} C _inst_1 J E _inst_3) (Y : CategoryTheory.Sheaf.{u3, max u4 u3, u4, u1} C _inst_1 J D _inst_2), Equiv.{max (succ u4) (succ u3), max (succ u4) (succ u3)} (Quiver.Hom.{max (succ u4) (succ u3), max (max u4 u3) u1} (CategoryTheory.Sheaf.{u3, max u4 u3, u4, u1} C _inst_1 J D _inst_2) (CategoryTheory.CategoryStruct.toQuiver.{max u4 u3, max (max u4 u3) u1} (CategoryTheory.Sheaf.{u3, max u4 u3, u4, u1} C _inst_1 J D _inst_2) (CategoryTheory.Category.toCategoryStruct.{max u4 u3, max (max u4 u3) u1} (CategoryTheory.Sheaf.{u3, max u4 u3, u4, u1} C _inst_1 J D _inst_2) (CategoryTheory.Sheaf.instCategorySheaf.{u3, max u4 u3, u4, u1} C _inst_1 J D _inst_2))) (Prefunctor.obj.{max (succ u4) (succ u3), max (succ u4) (succ u3), max (max u4 u3) u2, max (max u4 u3) u1} (CategoryTheory.Sheaf.{u3, max u4 u3, u4, u2} C _inst_1 J E _inst_3) (CategoryTheory.CategoryStruct.toQuiver.{max u4 u3, max (max u4 u3) u2} (CategoryTheory.Sheaf.{u3, max u4 u3, u4, u2} C _inst_1 J E _inst_3) (CategoryTheory.Category.toCategoryStruct.{max u4 u3, max (max u4 u3) u2} (CategoryTheory.Sheaf.{u3, max u4 u3, u4, u2} C _inst_1 J E _inst_3) (CategoryTheory.Sheaf.instCategorySheaf.{u3, max u4 u3, u4, u2} C _inst_1 J E _inst_3))) (CategoryTheory.Sheaf.{u3, max u4 u3, u4, u1} C _inst_1 J D _inst_2) (CategoryTheory.CategoryStruct.toQuiver.{max u4 u3, max (max u4 u3) u1} (CategoryTheory.Sheaf.{u3, max u4 u3, u4, u1} C _inst_1 J D _inst_2) (CategoryTheory.Category.toCategoryStruct.{max u4 u3, max (max u4 u3) u1} (CategoryTheory.Sheaf.{u3, max u4 u3, u4, u1} C _inst_1 J D _inst_2) (CategoryTheory.Sheaf.instCategorySheaf.{u3, max u4 u3, u4, u1} C _inst_1 J D _inst_2))) (CategoryTheory.Functor.toPrefunctor.{max u4 u3, max u4 u3, max (max u4 u3) u2, max (max u4 u3) u1} (CategoryTheory.Sheaf.{u3, max u4 u3, u4, u2} C _inst_1 J E _inst_3) (CategoryTheory.Sheaf.instCategorySheaf.{u3, max u4 u3, u4, u2} C _inst_1 J E _inst_3) (CategoryTheory.Sheaf.{u3, max u4 u3, u4, u1} C _inst_1 J D _inst_2) (CategoryTheory.Sheaf.instCategorySheaf.{u3, max u4 u3, u4, u1} C _inst_1 J D _inst_2) (CategoryTheory.Sheaf.composeAndSheafify.{u1, u2, u3, u4} C _inst_1 J D _inst_2 E _inst_3 _inst_5 _inst_6 (fun (P : CategoryTheory.Functor.{u3, max u4 u3, u4, u1} (Opposite.{succ u4} C) (CategoryTheory.Category.opposite.{u3, u4} C _inst_1) D _inst_2) (X : C) (S : CategoryTheory.GrothendieckTopology.Cover.{u3, u4} C _inst_1 J X) => _inst_7 P X S) (fun (X : C) => _inst_8 X) (fun (X : C) => _inst_9 X) _inst_10 G)) X) Y) (Quiver.Hom.{max (succ u4) (succ u3), max (max u4 u3) u2} (CategoryTheory.Sheaf.{u3, max u4 u3, u4, u2} C _inst_1 J E _inst_3) (CategoryTheory.CategoryStruct.toQuiver.{max u4 u3, max (max u4 u3) u2} (CategoryTheory.Sheaf.{u3, max u4 u3, u4, u2} C _inst_1 J E _inst_3) (CategoryTheory.Category.toCategoryStruct.{max u4 u3, max (max u4 u3) u2} (CategoryTheory.Sheaf.{u3, max u4 u3, u4, u2} C _inst_1 J E _inst_3) (CategoryTheory.Sheaf.instCategorySheaf.{u3, max u4 u3, u4, u2} C _inst_1 J E _inst_3))) X (Prefunctor.obj.{max (succ u4) (succ u3), max (succ u4) (succ u3), max (max u4 u3) u1, max (max u4 u3) u2} (CategoryTheory.Sheaf.{u3, max u4 u3, u4, u1} C _inst_1 J D _inst_2) (CategoryTheory.CategoryStruct.toQuiver.{max u4 u3, max (max u4 u3) u1} (CategoryTheory.Sheaf.{u3, max u4 u3, u4, u1} C _inst_1 J D _inst_2) (CategoryTheory.Category.toCategoryStruct.{max u4 u3, max (max u4 u3) u1} (CategoryTheory.Sheaf.{u3, max u4 u3, u4, u1} C _inst_1 J D _inst_2) (CategoryTheory.Sheaf.instCategorySheaf.{u3, max u4 u3, u4, u1} C _inst_1 J D _inst_2))) (CategoryTheory.Sheaf.{u3, max u4 u3, u4, u2} C _inst_1 J E _inst_3) (CategoryTheory.CategoryStruct.toQuiver.{max u4 u3, max (max u4 u3) u2} (CategoryTheory.Sheaf.{u3, max u4 u3, u4, u2} C _inst_1 J E _inst_3) (CategoryTheory.Category.toCategoryStruct.{max u4 u3, max (max u4 u3) u2} (CategoryTheory.Sheaf.{u3, max u4 u3, u4, u2} C _inst_1 J E _inst_3) (CategoryTheory.Sheaf.instCategorySheaf.{u3, max u4 u3, u4, u2} C _inst_1 J E _inst_3))) (CategoryTheory.Functor.toPrefunctor.{max u4 u3, max u4 u3, max (max u4 u3) u1, max (max u4 u3) u2} (CategoryTheory.Sheaf.{u3, max u4 u3, u4, u1} C _inst_1 J D _inst_2) (CategoryTheory.Sheaf.instCategorySheaf.{u3, max u4 u3, u4, u1} C _inst_1 J D _inst_2) (CategoryTheory.Sheaf.{u3, max u4 u3, u4, u2} C _inst_1 J E _inst_3) (CategoryTheory.Sheaf.instCategorySheaf.{u3, max u4 u3, u4, u2} C _inst_1 J E _inst_3) (CategoryTheory.sheafCompose.{u3, u4, u1, u2} C _inst_1 D _inst_2 E _inst_3 J F (fun (X : C) (S : CategoryTheory.GrothendieckTopology.Cover.{u3, u4} C _inst_1 J X) (P : CategoryTheory.Functor.{u3, max u4 u3, u4, u1} (Opposite.{succ u4} C) (CategoryTheory.Category.opposite.{u3, u4} C _inst_1) D _inst_2) => _inst_4 X S P))) Y)))
+<too large>
 Case conversion may be inaccurate. Consider using '#align category_theory.Sheaf.compose_equiv CategoryTheory.Sheaf.composeEquivₓ'. -/
 /-- An auxiliary definition to be used in defining `category_theory.Sheaf.adjunction` below. -/
 @[simps]
@@ -104,10 +101,7 @@ def composeEquiv (adj : G ⊣ F) (X : Sheaf J E) (Y : Sheaf J D) :
 #align category_theory.Sheaf.compose_equiv CategoryTheory.Sheaf.composeEquiv
 
 /- warning: category_theory.Sheaf.adjunction -> CategoryTheory.Sheaf.adjunction is a dubious translation:
-lean 3 declaration is
-  forall {C : Type.{u4}} [_inst_1 : CategoryTheory.Category.{u3, u4} C] (J : CategoryTheory.GrothendieckTopology.{u3, u4} C _inst_1) {D : Type.{u1}} [_inst_2 : CategoryTheory.Category.{max u3 u4, u1} D] {E : Type.{u2}} [_inst_3 : CategoryTheory.Category.{max u3 u4, u2} E] {F : CategoryTheory.Functor.{max u3 u4, max u3 u4, u1, u2} D _inst_2 E _inst_3} {G : CategoryTheory.Functor.{max u3 u4, max u3 u4, u2, u1} E _inst_3 D _inst_2} [_inst_4 : forall (X : C) (S : CategoryTheory.GrothendieckTopology.Cover.{u3, u4} C _inst_1 J X) (P : CategoryTheory.Functor.{u3, max u3 u4, u4, u1} (Opposite.{succ u4} C) (CategoryTheory.Category.opposite.{u3, u4} C _inst_1) D _inst_2), CategoryTheory.Limits.PreservesLimit.{max u4 u3, max u4 u3, max u3 u4, max u3 u4, u1, u2} D _inst_2 E _inst_3 (CategoryTheory.Limits.WalkingMulticospan.{max u4 u3} (CategoryTheory.Limits.MulticospanIndex.L.{max u4 u3, max u3 u4, u1} D _inst_2 (CategoryTheory.GrothendieckTopology.Cover.index.{u1, u3, u4} C _inst_1 X J D _inst_2 S P)) (CategoryTheory.Limits.MulticospanIndex.R.{max u4 u3, max u3 u4, u1} D _inst_2 (CategoryTheory.GrothendieckTopology.Cover.index.{u1, u3, u4} C _inst_1 X J D _inst_2 S P)) (CategoryTheory.Limits.MulticospanIndex.fstTo.{max u4 u3, max u3 u4, u1} D _inst_2 (CategoryTheory.GrothendieckTopology.Cover.index.{u1, u3, u4} C _inst_1 X J D _inst_2 S P)) (CategoryTheory.Limits.MulticospanIndex.sndTo.{max u4 u3, max u3 u4, u1} D _inst_2 (CategoryTheory.GrothendieckTopology.Cover.index.{u1, u3, u4} C _inst_1 X J D _inst_2 S P))) (CategoryTheory.Limits.WalkingMulticospan.CategoryTheory.smallCategory.{max u4 u3} (CategoryTheory.Limits.MulticospanIndex.L.{max u4 u3, max u3 u4, u1} D _inst_2 (CategoryTheory.GrothendieckTopology.Cover.index.{u1, u3, u4} C _inst_1 X J D _inst_2 S P)) (CategoryTheory.Limits.MulticospanIndex.R.{max u4 u3, max u3 u4, u1} D _inst_2 (CategoryTheory.GrothendieckTopology.Cover.index.{u1, u3, u4} C _inst_1 X J D _inst_2 S P)) (CategoryTheory.Limits.MulticospanIndex.fstTo.{max u4 u3, max u3 u4, u1} D _inst_2 (CategoryTheory.GrothendieckTopology.Cover.index.{u1, u3, u4} C _inst_1 X J D _inst_2 S P)) (CategoryTheory.Limits.MulticospanIndex.sndTo.{max u4 u3, max u3 u4, u1} D _inst_2 (CategoryTheory.GrothendieckTopology.Cover.index.{u1, u3, u4} C _inst_1 X J D _inst_2 S P))) (CategoryTheory.Limits.MulticospanIndex.multicospan.{max u3 u4, u1, max u4 u3} D _inst_2 (CategoryTheory.GrothendieckTopology.Cover.index.{u1, u3, u4} C _inst_1 X J D _inst_2 S P)) F] [_inst_5 : CategoryTheory.ConcreteCategory.{max u3 u4, max u3 u4, u1} D _inst_2] [_inst_6 : CategoryTheory.Limits.PreservesLimits.{max u3 u4, max u3 u4, u1, succ (max u3 u4)} D _inst_2 Type.{max u3 u4} CategoryTheory.types.{max u3 u4} (CategoryTheory.forget.{u1, max u3 u4, max u3 u4} D _inst_2 _inst_5)] [_inst_7 : forall (P : CategoryTheory.Functor.{u3, max u3 u4, u4, u1} (Opposite.{succ u4} C) (CategoryTheory.Category.opposite.{u3, u4} C _inst_1) D _inst_2) (X : C) (S : CategoryTheory.GrothendieckTopology.Cover.{u3, u4} C _inst_1 J X), CategoryTheory.Limits.HasMultiequalizer.{max u3 u4, u1, max u4 u3} D _inst_2 (CategoryTheory.GrothendieckTopology.Cover.index.{u1, u3, u4} C _inst_1 X J D _inst_2 S P)] [_inst_8 : forall (X : C), CategoryTheory.Limits.HasColimitsOfShape.{max u4 u3, max u4 u3, max u3 u4, u1} (Opposite.{succ (max u4 u3)} (CategoryTheory.GrothendieckTopology.Cover.{u3, u4} C _inst_1 J X)) (CategoryTheory.Category.opposite.{max u4 u3, max u4 u3} (CategoryTheory.GrothendieckTopology.Cover.{u3, u4} C _inst_1 J X) (Preorder.smallCategory.{max u4 u3} (CategoryTheory.GrothendieckTopology.Cover.{u3, u4} C _inst_1 J X) (CategoryTheory.GrothendieckTopology.Cover.preorder.{u3, u4} C _inst_1 J X))) D _inst_2] [_inst_9 : forall (X : C), CategoryTheory.Limits.PreservesColimitsOfShape.{max u4 u3, max u4 u3, max u3 u4, max u3 u4, u1, succ (max u3 u4)} D _inst_2 Type.{max u3 u4} CategoryTheory.types.{max u3 u4} (Opposite.{succ (max u4 u3)} (CategoryTheory.GrothendieckTopology.Cover.{u3, u4} C _inst_1 J X)) (CategoryTheory.Category.opposite.{max u4 u3, max u4 u3} (CategoryTheory.GrothendieckTopology.Cover.{u3, u4} C _inst_1 J X) (Preorder.smallCategory.{max u4 u3} (CategoryTheory.GrothendieckTopology.Cover.{u3, u4} C _inst_1 J X) (CategoryTheory.GrothendieckTopology.Cover.preorder.{u3, u4} C _inst_1 J X))) (CategoryTheory.forget.{u1, max u3 u4, max u3 u4} D _inst_2 _inst_5)] [_inst_10 : CategoryTheory.ReflectsIsomorphisms.{max u3 u4, max u3 u4, u1, succ (max u3 u4)} D _inst_2 Type.{max u3 u4} CategoryTheory.types.{max u3 u4} (CategoryTheory.forget.{u1, max u3 u4, max u3 u4} D _inst_2 _inst_5)], (CategoryTheory.Adjunction.{max u3 u4, max u3 u4, u2, u1} E _inst_3 D _inst_2 G F) -> (CategoryTheory.Adjunction.{max u3 u4, max u3 u4, max u4 u2 u3 u4, max u4 u1 u3 u4} (CategoryTheory.Sheaf.{u3, max u3 u4, u4, u2} C _inst_1 J E _inst_3) (CategoryTheory.Sheaf.CategoryTheory.category.{u3, max u3 u4, u4, u2} C _inst_1 J E _inst_3) (CategoryTheory.Sheaf.{u3, max u3 u4, u4, u1} C _inst_1 J D _inst_2) (CategoryTheory.Sheaf.CategoryTheory.category.{u3, max u3 u4, u4, u1} C _inst_1 J D _inst_2) (CategoryTheory.Sheaf.composeAndSheafify.{u1, u2, u3, u4} C _inst_1 J D _inst_2 E _inst_3 _inst_5 _inst_6 (CategoryTheory.Sheaf.adjunction._proof_1.{u4, u3, u1} C _inst_1 J D _inst_2 _inst_7) (CategoryTheory.Sheaf.adjunction._proof_2.{u4, u3, u1} C _inst_1 J D _inst_2 _inst_8) (fun (X : C) => _inst_9 X) _inst_10 G) (CategoryTheory.sheafCompose.{u3, u4, u1, u2} C _inst_1 D _inst_2 E _inst_3 J F (fun (X : C) (S : CategoryTheory.GrothendieckTopology.Cover.{u3, u4} C _inst_1 J X) (P : CategoryTheory.Functor.{u3, max u3 u4, u4, u1} (Opposite.{succ u4} C) (CategoryTheory.Category.opposite.{u3, u4} C _inst_1) D _inst_2) => _inst_4 X S P)))
-but is expected to have type
-  forall {C : Type.{u4}} [_inst_1 : CategoryTheory.Category.{u3, u4} C] (J : CategoryTheory.GrothendieckTopology.{u3, u4} C _inst_1) {D : Type.{u1}} [_inst_2 : CategoryTheory.Category.{max u3 u4, u1} D] {E : Type.{u2}} [_inst_3 : CategoryTheory.Category.{max u3 u4, u2} E] {F : CategoryTheory.Functor.{max u4 u3, max u4 u3, u1, u2} D _inst_2 E _inst_3} {G : CategoryTheory.Functor.{max u4 u3, max u4 u3, u2, u1} E _inst_3 D _inst_2} [_inst_4 : forall (X : C) (S : CategoryTheory.GrothendieckTopology.Cover.{u3, u4} C _inst_1 J X) (P : CategoryTheory.Functor.{u3, max u4 u3, u4, u1} (Opposite.{succ u4} C) (CategoryTheory.Category.opposite.{u3, u4} C _inst_1) D _inst_2), CategoryTheory.Limits.PreservesLimit.{max u4 u3, max u4 u3, max u4 u3, max u4 u3, u1, u2} D _inst_2 E _inst_3 (CategoryTheory.Limits.WalkingMulticospan.{max u4 u3} (CategoryTheory.Limits.MulticospanIndex.L.{max u4 u3, max u4 u3, u1} D _inst_2 (CategoryTheory.GrothendieckTopology.Cover.index.{u1, u3, u4} C _inst_1 X J D _inst_2 S P)) (CategoryTheory.Limits.MulticospanIndex.R.{max u4 u3, max u4 u3, u1} D _inst_2 (CategoryTheory.GrothendieckTopology.Cover.index.{u1, u3, u4} C _inst_1 X J D _inst_2 S P)) (CategoryTheory.Limits.MulticospanIndex.fstTo.{max u4 u3, max u4 u3, u1} D _inst_2 (CategoryTheory.GrothendieckTopology.Cover.index.{u1, u3, u4} C _inst_1 X J D _inst_2 S P)) (CategoryTheory.Limits.MulticospanIndex.sndTo.{max u4 u3, max u4 u3, u1} D _inst_2 (CategoryTheory.GrothendieckTopology.Cover.index.{u1, u3, u4} C _inst_1 X J D _inst_2 S P))) (CategoryTheory.Limits.WalkingMulticospan.instSmallCategoryWalkingMulticospan.{max u4 u3} (CategoryTheory.Limits.MulticospanIndex.L.{max u4 u3, max u4 u3, u1} D _inst_2 (CategoryTheory.GrothendieckTopology.Cover.index.{u1, u3, u4} C _inst_1 X J D _inst_2 S P)) (CategoryTheory.Limits.MulticospanIndex.R.{max u4 u3, max u4 u3, u1} D _inst_2 (CategoryTheory.GrothendieckTopology.Cover.index.{u1, u3, u4} C _inst_1 X J D _inst_2 S P)) (CategoryTheory.Limits.MulticospanIndex.fstTo.{max u4 u3, max u4 u3, u1} D _inst_2 (CategoryTheory.GrothendieckTopology.Cover.index.{u1, u3, u4} C _inst_1 X J D _inst_2 S P)) (CategoryTheory.Limits.MulticospanIndex.sndTo.{max u4 u3, max u4 u3, u1} D _inst_2 (CategoryTheory.GrothendieckTopology.Cover.index.{u1, u3, u4} C _inst_1 X J D _inst_2 S P))) (CategoryTheory.Limits.MulticospanIndex.multicospan.{max u4 u3, u1, max u4 u3} D _inst_2 (CategoryTheory.GrothendieckTopology.Cover.index.{u1, u3, u4} C _inst_1 X J D _inst_2 S P)) F] [_inst_5 : CategoryTheory.ConcreteCategory.{max u3 u4, max u4 u3, u1} D _inst_2] [_inst_6 : CategoryTheory.Limits.PreservesLimits.{max u4 u3, max u4 u3, u1, max (succ u4) (succ u3)} D _inst_2 Type.{max u4 u3} CategoryTheory.types.{max u4 u3} (CategoryTheory.forget.{u1, max u4 u3, max u4 u3} D _inst_2 _inst_5)] [_inst_7 : forall (P : CategoryTheory.Functor.{u3, max u4 u3, u4, u1} (Opposite.{succ u4} C) (CategoryTheory.Category.opposite.{u3, u4} C _inst_1) D _inst_2) (X : C) (S : CategoryTheory.GrothendieckTopology.Cover.{u3, u4} C _inst_1 J X), CategoryTheory.Limits.HasMultiequalizer.{max u4 u3, u1, max u4 u3} D _inst_2 (CategoryTheory.GrothendieckTopology.Cover.index.{u1, u3, u4} C _inst_1 X J D _inst_2 S P)] [_inst_8 : forall (X : C), CategoryTheory.Limits.HasColimitsOfShape.{max u4 u3, max u4 u3, max u4 u3, u1} (Opposite.{max (succ u4) (succ u3)} (CategoryTheory.GrothendieckTopology.Cover.{u3, u4} C _inst_1 J X)) (CategoryTheory.Category.opposite.{max u4 u3, max u4 u3} (CategoryTheory.GrothendieckTopology.Cover.{u3, u4} C _inst_1 J X) (Preorder.smallCategory.{max u4 u3} (CategoryTheory.GrothendieckTopology.Cover.{u3, u4} C _inst_1 J X) (CategoryTheory.GrothendieckTopology.instPreorderCover.{u3, u4} C _inst_1 J X))) D _inst_2] [_inst_9 : forall (X : C), CategoryTheory.Limits.PreservesColimitsOfShape.{max u4 u3, max u4 u3, max u4 u3, max u4 u3, u1, max (succ u4) (succ u3)} D _inst_2 Type.{max u4 u3} CategoryTheory.types.{max u4 u3} (Opposite.{max (succ u4) (succ u3)} (CategoryTheory.GrothendieckTopology.Cover.{u3, u4} C _inst_1 J X)) (CategoryTheory.Category.opposite.{max u4 u3, max u4 u3} (CategoryTheory.GrothendieckTopology.Cover.{u3, u4} C _inst_1 J X) (Preorder.smallCategory.{max u4 u3} (CategoryTheory.GrothendieckTopology.Cover.{u3, u4} C _inst_1 J X) (CategoryTheory.GrothendieckTopology.instPreorderCover.{u3, u4} C _inst_1 J X))) (CategoryTheory.forget.{u1, max u4 u3, max u4 u3} D _inst_2 _inst_5)] [_inst_10 : CategoryTheory.ReflectsIsomorphisms.{max u4 u3, max u4 u3, u1, max (succ u4) (succ u3)} D _inst_2 Type.{max u4 u3} CategoryTheory.types.{max u4 u3} (CategoryTheory.forget.{u1, max u4 u3, max u4 u3} D _inst_2 _inst_5)], (CategoryTheory.Adjunction.{max u4 u3, max u4 u3, u2, u1} E _inst_3 D _inst_2 G F) -> (CategoryTheory.Adjunction.{max u4 u3, max u4 u3, max (max u4 u3) u2, max (max u4 u3) u1} (CategoryTheory.Sheaf.{u3, max u4 u3, u4, u2} C _inst_1 J E _inst_3) (CategoryTheory.Sheaf.instCategorySheaf.{u3, max u4 u3, u4, u2} C _inst_1 J E _inst_3) (CategoryTheory.Sheaf.{u3, max u4 u3, u4, u1} C _inst_1 J D _inst_2) (CategoryTheory.Sheaf.instCategorySheaf.{u3, max u4 u3, u4, u1} C _inst_1 J D _inst_2) (CategoryTheory.Sheaf.composeAndSheafify.{u1, u2, u3, u4} C _inst_1 J D _inst_2 E _inst_3 _inst_5 _inst_6 (fun (P : CategoryTheory.Functor.{u3, max u4 u3, u4, u1} (Opposite.{succ u4} C) (CategoryTheory.Category.opposite.{u3, u4} C _inst_1) D _inst_2) (X : C) (S : CategoryTheory.GrothendieckTopology.Cover.{u3, u4} C _inst_1 J X) => _inst_7 P X S) (fun (X : C) => _inst_8 X) (fun (X : C) => _inst_9 X) _inst_10 G) (CategoryTheory.sheafCompose.{u3, u4, u1, u2} C _inst_1 D _inst_2 E _inst_3 J F (fun (X : C) (S : CategoryTheory.GrothendieckTopology.Cover.{u3, u4} C _inst_1 J X) (P : CategoryTheory.Functor.{u3, max u4 u3, u4, u1} (Opposite.{succ u4} C) (CategoryTheory.Category.opposite.{u3, u4} C _inst_1) D _inst_2) => _inst_4 X S P)))
+<too large>
 Case conversion may be inaccurate. Consider using '#align category_theory.Sheaf.adjunction CategoryTheory.Sheaf.adjunctionₓ'. -/
 /-- An adjunction `adj : G ⊣ F` with `F : D ⥤ E` and `G : E ⥤ D` induces an adjunction
 between `Sheaf J D` and `Sheaf J E`, in contexts where one can sheafify `D`-valued presheaves,
@@ -158,10 +152,7 @@ def adjunctionToTypes {G : Type max v u ⥤ D} (adj : G ⊣ forget D) :
 #align category_theory.Sheaf.adjunction_to_types CategoryTheory.Sheaf.adjunctionToTypes
 
 /- warning: category_theory.Sheaf.adjunction_to_types_unit_app_val -> CategoryTheory.Sheaf.adjunctionToTypes_unit_app_val is a dubious translation:
-lean 3 declaration is
-  forall {C : Type.{u3}} [_inst_1 : CategoryTheory.Category.{u2, u3} C] (J : CategoryTheory.GrothendieckTopology.{u2, u3} C _inst_1) {D : Type.{u1}} [_inst_2 : CategoryTheory.Category.{max u2 u3, u1} D] [_inst_5 : CategoryTheory.ConcreteCategory.{max u2 u3, max u2 u3, u1} D _inst_2] [_inst_6 : CategoryTheory.Limits.PreservesLimits.{max u2 u3, max u2 u3, u1, succ (max u2 u3)} D _inst_2 Type.{max u2 u3} CategoryTheory.types.{max u2 u3} (CategoryTheory.forget.{u1, max u2 u3, max u2 u3} D _inst_2 _inst_5)] [_inst_7 : forall (P : CategoryTheory.Functor.{u2, max u2 u3, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2) (X : C) (S : CategoryTheory.GrothendieckTopology.Cover.{u2, u3} C _inst_1 J X), CategoryTheory.Limits.HasMultiequalizer.{max u2 u3, u1, max u3 u2} D _inst_2 (CategoryTheory.GrothendieckTopology.Cover.index.{u1, u2, u3} C _inst_1 X J D _inst_2 S P)] [_inst_8 : forall (X : C), CategoryTheory.Limits.HasColimitsOfShape.{max u3 u2, max u3 u2, max u2 u3, u1} (Opposite.{succ (max u3 u2)} (CategoryTheory.GrothendieckTopology.Cover.{u2, u3} C _inst_1 J X)) (CategoryTheory.Category.opposite.{max u3 u2, max u3 u2} (CategoryTheory.GrothendieckTopology.Cover.{u2, u3} C _inst_1 J X) (Preorder.smallCategory.{max u3 u2} (CategoryTheory.GrothendieckTopology.Cover.{u2, u3} C _inst_1 J X) (CategoryTheory.GrothendieckTopology.Cover.preorder.{u2, u3} C _inst_1 J X))) D _inst_2] [_inst_9 : forall (X : C), CategoryTheory.Limits.PreservesColimitsOfShape.{max u3 u2, max u3 u2, max u2 u3, max u2 u3, u1, succ (max u2 u3)} D _inst_2 Type.{max u2 u3} CategoryTheory.types.{max u2 u3} (Opposite.{succ (max u3 u2)} (CategoryTheory.GrothendieckTopology.Cover.{u2, u3} C _inst_1 J X)) (CategoryTheory.Category.opposite.{max u3 u2, max u3 u2} (CategoryTheory.GrothendieckTopology.Cover.{u2, u3} C _inst_1 J X) (Preorder.smallCategory.{max u3 u2} (CategoryTheory.GrothendieckTopology.Cover.{u2, u3} C _inst_1 J X) (CategoryTheory.GrothendieckTopology.Cover.preorder.{u2, u3} C _inst_1 J X))) (CategoryTheory.forget.{u1, max u2 u3, max u2 u3} D _inst_2 _inst_5)] [_inst_10 : CategoryTheory.ReflectsIsomorphisms.{max u2 u3, max u2 u3, u1, succ (max u2 u3)} D _inst_2 Type.{max u2 u3} CategoryTheory.types.{max u2 u3} (CategoryTheory.forget.{u1, max u2 u3, max u2 u3} D _inst_2 _inst_5)] {G : CategoryTheory.Functor.{max u2 u3, max u2 u3, succ (max u2 u3), u1} Type.{max u2 u3} CategoryTheory.types.{max u2 u3} D _inst_2} (adj : CategoryTheory.Adjunction.{max u2 u3, max u2 u3, succ (max u2 u3), u1} Type.{max u2 u3} CategoryTheory.types.{max u2 u3} D _inst_2 G (CategoryTheory.forget.{u1, max u2 u3, max u2 u3} D _inst_2 _inst_5)) (Y : CategoryTheory.SheafOfTypes.{max u2 u3, u2, u3} C _inst_1 J), Eq.{succ (max u2 u3)} (Quiver.Hom.{succ (max u2 u3), max u2 (max u2 u3) u3 (succ (max u2 u3))} (CategoryTheory.Functor.{u2, max u2 u3, u3, succ (max u2 u3)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u2 u3}) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u3, max u2 (max u2 u3) u3 (succ (max u2 u3))} (CategoryTheory.Functor.{u2, max u2 u3, u3, succ (max u2 u3)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u2 u3}) (CategoryTheory.Category.toCategoryStruct.{max u2 u3, max u2 (max u2 u3) u3 (succ (max u2 u3))} (CategoryTheory.Functor.{u2, max u2 u3, u3, succ (max u2 u3)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u2 u3}) (CategoryTheory.Functor.category.{u2, max u2 u3, u3, succ (max u2 u3)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u2 u3}))) (CategoryTheory.SheafOfTypes.val.{max u2 u3, u2, u3} C _inst_1 J (CategoryTheory.Functor.obj.{max u2 u3, max u2 u3, max u3 u2 (succ (max u2 u3)), max u3 u2 (succ (max u2 u3))} (CategoryTheory.SheafOfTypes.{max u2 u3, u2, u3} C _inst_1 J) (CategoryTheory.SheafOfTypes.CategoryTheory.category.{u2, u3, max u2 u3} C _inst_1 J) (CategoryTheory.SheafOfTypes.{max u2 u3, u2, u3} C _inst_1 J) (CategoryTheory.SheafOfTypes.CategoryTheory.category.{u2, u3, max u2 u3} C _inst_1 J) (CategoryTheory.Functor.id.{max u2 u3, max u3 u2 (succ (max u2 u3))} (CategoryTheory.SheafOfTypes.{max u2 u3, u2, u3} C _inst_1 J) (CategoryTheory.SheafOfTypes.CategoryTheory.category.{u2, u3, max u2 u3} C _inst_1 J)) Y)) (CategoryTheory.SheafOfTypes.val.{max u2 u3, u2, u3} C _inst_1 J (CategoryTheory.Functor.obj.{max u2 u3, max u2 u3, max u3 u2 (succ (max u2 u3)), max u3 u2 (succ (max u2 u3))} (CategoryTheory.SheafOfTypes.{max u2 u3, u2, u3} C _inst_1 J) (CategoryTheory.SheafOfTypes.CategoryTheory.category.{u2, u3, max u2 u3} C _inst_1 J) (CategoryTheory.SheafOfTypes.{max u2 u3, u2, u3} C _inst_1 J) (CategoryTheory.SheafOfTypes.CategoryTheory.category.{u2, u3, max u2 u3} C _inst_1 J) (CategoryTheory.Functor.comp.{max u2 u3, max u2 u3, max u2 u3, max u3 u2 (succ (max u2 u3)), max u3 u1 u2 u3, max u3 u2 (succ (max u2 u3))} (CategoryTheory.SheafOfTypes.{max u2 u3, u2, u3} C _inst_1 J) (CategoryTheory.SheafOfTypes.CategoryTheory.category.{u2, u3, max u2 u3} C _inst_1 J) (CategoryTheory.Sheaf.{u2, max u2 u3, u3, u1} C _inst_1 J D _inst_2) (CategoryTheory.Sheaf.CategoryTheory.category.{u2, max u2 u3, u3, u1} C _inst_1 J D _inst_2) (CategoryTheory.SheafOfTypes.{max u2 u3, u2, u3} C _inst_1 J) (CategoryTheory.SheafOfTypes.CategoryTheory.category.{u2, u3, max u2 u3} C _inst_1 J) (CategoryTheory.Sheaf.composeAndSheafifyFromTypes.{u1, u2, u3} C _inst_1 J D _inst_2 _inst_5 _inst_6 (CategoryTheory.Sheaf.adjunctionToTypes._proof_1.{u3, u2, u1} C _inst_1 J D _inst_2 (fun (P : CategoryTheory.Functor.{u2, max u2 u3, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2) (X : C) (S : CategoryTheory.GrothendieckTopology.Cover.{u2, u3} C _inst_1 J X) => _inst_7 P X S)) (CategoryTheory.Sheaf.adjunctionToTypes._proof_2.{u3, u2, u1} C _inst_1 J D _inst_2 (fun (X : C) => _inst_8 X)) (fun (X : C) => _inst_9 X) _inst_10 G) (CategoryTheory.sheafForget.{u1, u2, u3} C _inst_1 J D _inst_2 _inst_5 _inst_6)) Y))) (CategoryTheory.SheafOfTypes.Hom.val.{u2, u3, max u2 u3} C _inst_1 J (CategoryTheory.Functor.obj.{max u2 u3, max u2 u3, max u3 u2 (succ (max u2 u3)), max u3 u2 (succ (max u2 u3))} (CategoryTheory.SheafOfTypes.{max u2 u3, u2, u3} C _inst_1 J) (CategoryTheory.SheafOfTypes.CategoryTheory.category.{u2, u3, max u2 u3} C _inst_1 J) (CategoryTheory.SheafOfTypes.{max u2 u3, u2, u3} C _inst_1 J) (CategoryTheory.SheafOfTypes.CategoryTheory.category.{u2, u3, max u2 u3} C _inst_1 J) (CategoryTheory.Functor.id.{max u2 u3, max u3 u2 (succ (max u2 u3))} (CategoryTheory.SheafOfTypes.{max u2 u3, u2, u3} C _inst_1 J) (CategoryTheory.SheafOfTypes.CategoryTheory.category.{u2, u3, max u2 u3} C _inst_1 J)) Y) (CategoryTheory.Functor.obj.{max u2 u3, max u2 u3, max u3 u2 (succ (max u2 u3)), max u3 u2 (succ (max u2 u3))} (CategoryTheory.SheafOfTypes.{max u2 u3, u2, u3} C _inst_1 J) (CategoryTheory.SheafOfTypes.CategoryTheory.category.{u2, u3, max u2 u3} C _inst_1 J) (CategoryTheory.SheafOfTypes.{max u2 u3, u2, u3} C _inst_1 J) (CategoryTheory.SheafOfTypes.CategoryTheory.category.{u2, u3, max u2 u3} C _inst_1 J) (CategoryTheory.Functor.comp.{max u2 u3, max u2 u3, max u2 u3, max u3 u2 (succ (max u2 u3)), max u3 u1 u2 u3, max u3 u2 (succ (max u2 u3))} (CategoryTheory.SheafOfTypes.{max u2 u3, u2, u3} C _inst_1 J) (CategoryTheory.SheafOfTypes.CategoryTheory.category.{u2, u3, max u2 u3} C _inst_1 J) (CategoryTheory.Sheaf.{u2, max u2 u3, u3, u1} C _inst_1 J D _inst_2) (CategoryTheory.Sheaf.CategoryTheory.category.{u2, max u2 u3, u3, u1} C _inst_1 J D _inst_2) (CategoryTheory.SheafOfTypes.{max u2 u3, u2, u3} C _inst_1 J) (CategoryTheory.SheafOfTypes.CategoryTheory.category.{u2, u3, max u2 u3} C _inst_1 J) (CategoryTheory.Sheaf.composeAndSheafifyFromTypes.{u1, u2, u3} C _inst_1 J D _inst_2 _inst_5 _inst_6 (CategoryTheory.Sheaf.adjunctionToTypes._proof_1.{u3, u2, u1} C _inst_1 J D _inst_2 (fun (P : CategoryTheory.Functor.{u2, max u2 u3, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2) (X : C) (S : CategoryTheory.GrothendieckTopology.Cover.{u2, u3} C _inst_1 J X) => _inst_7 P X S)) (CategoryTheory.Sheaf.adjunctionToTypes._proof_2.{u3, u2, u1} C _inst_1 J D _inst_2 (fun (X : C) => _inst_8 X)) (fun (X : C) => _inst_9 X) _inst_10 G) (CategoryTheory.sheafForget.{u1, u2, u3} C _inst_1 J D _inst_2 _inst_5 _inst_6)) Y) (CategoryTheory.NatTrans.app.{max u2 u3, max u2 u3, max u3 u2 (succ (max u2 u3)), max u3 u2 (succ (max u2 u3))} (CategoryTheory.SheafOfTypes.{max u2 u3, u2, u3} C _inst_1 J) (CategoryTheory.SheafOfTypes.CategoryTheory.category.{u2, u3, max u2 u3} C _inst_1 J) (CategoryTheory.SheafOfTypes.{max u2 u3, u2, u3} C _inst_1 J) (CategoryTheory.SheafOfTypes.CategoryTheory.category.{u2, u3, max u2 u3} C _inst_1 J) (CategoryTheory.Functor.id.{max u2 u3, max u3 u2 (succ (max u2 u3))} (CategoryTheory.SheafOfTypes.{max u2 u3, u2, u3} C _inst_1 J) (CategoryTheory.SheafOfTypes.CategoryTheory.category.{u2, u3, max u2 u3} C _inst_1 J)) (CategoryTheory.Functor.comp.{max u2 u3, max u2 u3, max u2 u3, max u3 u2 (succ (max u2 u3)), max u3 u1 u2 u3, max u3 u2 (succ (max u2 u3))} (CategoryTheory.SheafOfTypes.{max u2 u3, u2, u3} C _inst_1 J) (CategoryTheory.SheafOfTypes.CategoryTheory.category.{u2, u3, max u2 u3} C _inst_1 J) (CategoryTheory.Sheaf.{u2, max u2 u3, u3, u1} C _inst_1 J D _inst_2) (CategoryTheory.Sheaf.CategoryTheory.category.{u2, max u2 u3, u3, u1} C _inst_1 J D _inst_2) (CategoryTheory.SheafOfTypes.{max u2 u3, u2, u3} C _inst_1 J) (CategoryTheory.SheafOfTypes.CategoryTheory.category.{u2, u3, max u2 u3} C _inst_1 J) (CategoryTheory.Sheaf.composeAndSheafifyFromTypes.{u1, u2, u3} C _inst_1 J D _inst_2 _inst_5 _inst_6 (CategoryTheory.Sheaf.adjunctionToTypes._proof_1.{u3, u2, u1} C _inst_1 J D _inst_2 (fun (P : CategoryTheory.Functor.{u2, max u2 u3, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2) (X : C) (S : CategoryTheory.GrothendieckTopology.Cover.{u2, u3} C _inst_1 J X) => _inst_7 P X S)) (CategoryTheory.Sheaf.adjunctionToTypes._proof_2.{u3, u2, u1} C _inst_1 J D _inst_2 (fun (X : C) => _inst_8 X)) (fun (X : C) => _inst_9 X) _inst_10 G) (CategoryTheory.sheafForget.{u1, u2, u3} C _inst_1 J D _inst_2 _inst_5 _inst_6)) (CategoryTheory.Adjunction.unit.{max u2 u3, max u2 u3, max u3 u2 (succ (max u2 u3)), max u3 u1 u2 u3} (CategoryTheory.SheafOfTypes.{max u2 u3, u2, u3} C _inst_1 J) (CategoryTheory.SheafOfTypes.CategoryTheory.category.{u2, u3, max u2 u3} C _inst_1 J) (CategoryTheory.Sheaf.{u2, max u2 u3, u3, u1} C _inst_1 J D _inst_2) (CategoryTheory.Sheaf.CategoryTheory.category.{u2, max u2 u3, u3, u1} C _inst_1 J D _inst_2) (CategoryTheory.Sheaf.composeAndSheafifyFromTypes.{u1, u2, u3} C _inst_1 J D _inst_2 _inst_5 _inst_6 (CategoryTheory.Sheaf.adjunctionToTypes._proof_1.{u3, u2, u1} C _inst_1 J D _inst_2 (fun (P : CategoryTheory.Functor.{u2, max u2 u3, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2) (X : C) (S : CategoryTheory.GrothendieckTopology.Cover.{u2, u3} C _inst_1 J X) => _inst_7 P X S)) (CategoryTheory.Sheaf.adjunctionToTypes._proof_2.{u3, u2, u1} C _inst_1 J D _inst_2 (fun (X : C) => _inst_8 X)) (fun (X : C) => _inst_9 X) _inst_10 G) (CategoryTheory.sheafForget.{u1, u2, u3} C _inst_1 J D _inst_2 _inst_5 _inst_6) (CategoryTheory.Sheaf.adjunctionToTypes.{u1, u2, u3} C _inst_1 J D _inst_2 _inst_5 _inst_6 (fun (P : CategoryTheory.Functor.{u2, max u2 u3, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2) (X : C) (S : CategoryTheory.GrothendieckTopology.Cover.{u2, u3} C _inst_1 J X) => _inst_7 P X S) (fun (X : C) => _inst_8 X) (fun (X : C) => _inst_9 X) _inst_10 G adj)) Y)) (CategoryTheory.CategoryStruct.comp.{max u2 u3, max u2 (max u2 u3) u3 (succ (max u2 u3))} (CategoryTheory.Functor.{u2, max u2 u3, u3, succ (max u2 u3)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u2 u3}) (CategoryTheory.Category.toCategoryStruct.{max u2 u3, max u2 (max u2 u3) u3 (succ (max u2 u3))} (CategoryTheory.Functor.{u2, max u2 u3, u3, succ (max u2 u3)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u2 u3}) (CategoryTheory.Functor.category.{u2, max u2 u3, u3, succ (max u2 u3)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u2 u3})) (CategoryTheory.SheafOfTypes.val.{max u2 u3, u2, u3} C _inst_1 J (CategoryTheory.Functor.obj.{max u2 u3, max u2 u3, max u3 u2 (succ (max u2 u3)), max u3 u2 (succ (max u2 u3))} (CategoryTheory.SheafOfTypes.{max u2 u3, u2, u3} C _inst_1 J) (CategoryTheory.SheafOfTypes.CategoryTheory.category.{u2, u3, max u2 u3} C _inst_1 J) (CategoryTheory.SheafOfTypes.{max u2 u3, u2, u3} C _inst_1 J) (CategoryTheory.SheafOfTypes.CategoryTheory.category.{u2, u3, max u2 u3} C _inst_1 J) (CategoryTheory.Functor.id.{max u2 u3, max u3 u2 (succ (max u2 u3))} (CategoryTheory.SheafOfTypes.{max u2 u3, u2, u3} C _inst_1 J) (CategoryTheory.SheafOfTypes.CategoryTheory.category.{u2, u3, max u2 u3} C _inst_1 J)) Y)) (CategoryTheory.Functor.obj.{max u2 u3, max u2 u3, max u2 (max u2 u3) u3 (succ (max u2 u3)), max u2 (max u2 u3) u3 (succ (max u2 u3))} (CategoryTheory.Functor.{u2, max u2 u3, u3, succ (max u2 u3)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u2 u3}) (CategoryTheory.Functor.category.{u2, max u2 u3, u3, succ (max u2 u3)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u2 u3}) (CategoryTheory.Functor.{u2, max u2 u3, u3, succ (max u2 u3)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u2 u3}) (CategoryTheory.Functor.category.{u2, max u2 u3, u3, succ (max u2 u3)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u2 u3}) (CategoryTheory.Functor.comp.{max u2 u3, max u2 u3, max u2 u3, max u2 (max u2 u3) u3 (succ (max u2 u3)), max u2 (max u2 u3) u3 u1, max u2 (max u2 u3) u3 (succ (max u2 u3))} (CategoryTheory.Functor.{u2, max u2 u3, u3, succ (max u2 u3)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u2 u3}) (CategoryTheory.Functor.category.{u2, max u2 u3, u3, succ (max u2 u3)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u2 u3}) (CategoryTheory.Functor.{u2, max u2 u3, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2) (CategoryTheory.Functor.category.{u2, max u2 u3, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2) (CategoryTheory.Functor.{u2, max u2 u3, u3, succ (max u2 u3)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u2 u3}) (CategoryTheory.Functor.category.{u2, max u2 u3, u3, succ (max u2 u3)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u2 u3}) (CategoryTheory.Functor.obj.{succ (max u2 u3), max (max u2 (max u2 u3) u3 (succ (max u2 u3))) u2 u3, max (max u2 u3) (succ (max u2 u3)) u1, max (max u2 u3) (max u2 (max u2 u3) u3 (succ (max u2 u3))) u2 (max u2 u3) u3 u1} (CategoryTheory.Functor.{max u2 u3, max u2 u3, succ (max u2 u3), u1} Type.{max u2 u3} CategoryTheory.types.{max u2 u3} D _inst_2) (CategoryTheory.Functor.category.{max u2 u3, max u2 u3, succ (max u2 u3), u1} Type.{max u2 u3} CategoryTheory.types.{max u2 u3} D _inst_2) (CategoryTheory.Functor.{max u2 u3, max u2 u3, max u2 (max u2 u3) u3 (succ (max u2 u3)), max u2 (max u2 u3) u3 u1} (CategoryTheory.Functor.{u2, max u2 u3, u3, succ (max u2 u3)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u2 u3}) (CategoryTheory.Functor.category.{u2, max u2 u3, u3, succ (max u2 u3)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u2 u3}) (CategoryTheory.Functor.{u2, max u2 u3, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2) (CategoryTheory.Functor.category.{u2, max u2 u3, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2)) (CategoryTheory.Functor.category.{max u2 u3, max u2 u3, max u2 (max u2 u3) u3 (succ (max u2 u3)), max u2 (max u2 u3) u3 u1} (CategoryTheory.Functor.{u2, max u2 u3, u3, succ (max u2 u3)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u2 u3}) (CategoryTheory.Functor.category.{u2, max u2 u3, u3, succ (max u2 u3)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u2 u3}) (CategoryTheory.Functor.{u2, max u2 u3, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2) (CategoryTheory.Functor.category.{u2, max u2 u3, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2)) (CategoryTheory.whiskeringRight.{u3, u2, succ (max u2 u3), max u2 u3, u1, max u2 u3} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u2 u3} D _inst_2) G) (CategoryTheory.Functor.obj.{max u1 u2 u3, max (max u2 (max u2 u3) u3 u1) u2 u3, max (max u2 u3) u1 (succ (max u2 u3)), max (max u2 u3) (max u2 (max u2 u3) u3 u1) u2 (max u2 u3) u3 (succ (max u2 u3))} (CategoryTheory.Functor.{max u2 u3, max u2 u3, u1, succ (max u2 u3)} D _inst_2 Type.{max u2 u3} CategoryTheory.types.{max u2 u3}) (CategoryTheory.Functor.category.{max u2 u3, max u2 u3, u1, succ (max u2 u3)} D _inst_2 Type.{max u2 u3} CategoryTheory.types.{max u2 u3}) (CategoryTheory.Functor.{max u2 u3, max u2 u3, max u2 (max u2 u3) u3 u1, max u2 (max u2 u3) u3 (succ (max u2 u3))} (CategoryTheory.Functor.{u2, max u2 u3, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2) (CategoryTheory.Functor.category.{u2, max u2 u3, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2) (CategoryTheory.Functor.{u2, max u2 u3, u3, succ (max u2 u3)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u2 u3}) (CategoryTheory.Functor.category.{u2, max u2 u3, u3, succ (max u2 u3)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u2 u3})) (CategoryTheory.Functor.category.{max u2 u3, max u2 u3, max u2 (max u2 u3) u3 u1, max u2 (max u2 u3) u3 (succ (max u2 u3))} (CategoryTheory.Functor.{u2, max u2 u3, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2) (CategoryTheory.Functor.category.{u2, max u2 u3, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2) (CategoryTheory.Functor.{u2, max u2 u3, u3, succ (max u2 u3)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u2 u3}) (CategoryTheory.Functor.category.{u2, max u2 u3, u3, succ (max u2 u3)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u2 u3})) (CategoryTheory.whiskeringRight.{u3, u2, u1, max u2 u3, succ (max u2 u3), max u2 u3} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2 Type.{max u2 u3} CategoryTheory.types.{max u2 u3}) (CategoryTheory.forget.{u1, max u2 u3, max u2 u3} D _inst_2 _inst_5))) (CategoryTheory.SheafOfTypes.val.{max u2 u3, u2, u3} C _inst_1 J (CategoryTheory.Functor.obj.{max u2 u3, max u2 u3, max u3 u2 (succ (max u2 u3)), max u3 u2 (succ (max u2 u3))} (CategoryTheory.SheafOfTypes.{max u2 u3, u2, u3} C _inst_1 J) (CategoryTheory.SheafOfTypes.CategoryTheory.category.{u2, u3, max u2 u3} C _inst_1 J) (CategoryTheory.SheafOfTypes.{max u2 u3, u2, u3} C _inst_1 J) (CategoryTheory.SheafOfTypes.CategoryTheory.category.{u2, u3, max u2 u3} C _inst_1 J) (CategoryTheory.Functor.id.{max u2 u3, max u3 u2 (succ (max u2 u3))} (CategoryTheory.SheafOfTypes.{max u2 u3, u2, u3} C _inst_1 J) (CategoryTheory.SheafOfTypes.CategoryTheory.category.{u2, u3, max u2 u3} C _inst_1 J)) Y))) (CategoryTheory.SheafOfTypes.val.{max u2 u3, u2, u3} C _inst_1 J (CategoryTheory.Functor.obj.{max u2 u3, max u2 u3, max u3 u2 (succ (max u2 u3)), max u3 u2 (succ (max u2 u3))} (CategoryTheory.SheafOfTypes.{max u2 u3, u2, u3} C _inst_1 J) (CategoryTheory.SheafOfTypes.CategoryTheory.category.{u2, u3, max u2 u3} C _inst_1 J) (CategoryTheory.SheafOfTypes.{max u2 u3, u2, u3} C _inst_1 J) (CategoryTheory.SheafOfTypes.CategoryTheory.category.{u2, u3, max u2 u3} C _inst_1 J) (CategoryTheory.Functor.comp.{max u2 u3, max u2 u3, max u2 u3, max u3 u2 (succ (max u2 u3)), max u3 u1 u2 u3, max u3 u2 (succ (max u2 u3))} (CategoryTheory.SheafOfTypes.{max u2 u3, u2, u3} C _inst_1 J) (CategoryTheory.SheafOfTypes.CategoryTheory.category.{u2, u3, max u2 u3} C _inst_1 J) (CategoryTheory.Sheaf.{u2, max u2 u3, u3, u1} C _inst_1 J D _inst_2) (CategoryTheory.Sheaf.CategoryTheory.category.{u2, max u2 u3, u3, u1} C _inst_1 J D _inst_2) (CategoryTheory.SheafOfTypes.{max u2 u3, u2, u3} C _inst_1 J) (CategoryTheory.SheafOfTypes.CategoryTheory.category.{u2, u3, max u2 u3} C _inst_1 J) (CategoryTheory.Sheaf.composeAndSheafifyFromTypes.{u1, u2, u3} C _inst_1 J D _inst_2 _inst_5 _inst_6 (CategoryTheory.Sheaf.adjunctionToTypes._proof_1.{u3, u2, u1} C _inst_1 J D _inst_2 (fun (P : CategoryTheory.Functor.{u2, max u2 u3, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2) (X : C) (S : CategoryTheory.GrothendieckTopology.Cover.{u2, u3} C _inst_1 J X) => _inst_7 P X S)) (CategoryTheory.Sheaf.adjunctionToTypes._proof_2.{u3, u2, u1} C _inst_1 J D _inst_2 (fun (X : C) => _inst_8 X)) (fun (X : C) => _inst_9 X) _inst_10 G) (CategoryTheory.sheafForget.{u1, u2, u3} C _inst_1 J D _inst_2 _inst_5 _inst_6)) Y)) (CategoryTheory.NatTrans.app.{max u2 u3, max u2 u3, max u2 (max u2 u3) u3 (succ (max u2 u3)), max u2 (max u2 u3) u3 (succ (max u2 u3))} (CategoryTheory.Functor.{u2, max u2 u3, u3, succ (max u2 u3)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u2 u3}) (CategoryTheory.Functor.category.{u2, max u2 u3, u3, succ (max u2 u3)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u2 u3}) (CategoryTheory.Functor.{u2, max u2 u3, u3, succ (max u2 u3)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u2 u3}) (CategoryTheory.Functor.category.{u2, max u2 u3, u3, succ (max u2 u3)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u2 u3}) (CategoryTheory.Functor.id.{max u2 u3, max u2 (max u2 u3) u3 (succ (max u2 u3))} (CategoryTheory.Functor.{u2, max u2 u3, u3, succ (max u2 u3)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u2 u3}) (CategoryTheory.Functor.category.{u2, max u2 u3, u3, succ (max u2 u3)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u2 u3})) (CategoryTheory.Functor.comp.{max u2 u3, max u2 u3, max u2 u3, max u2 (max u2 u3) u3 (succ (max u2 u3)), max u2 (max u2 u3) u3 u1, max u2 (max u2 u3) u3 (succ (max u2 u3))} (CategoryTheory.Functor.{u2, max u2 u3, u3, succ (max u2 u3)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u2 u3}) (CategoryTheory.Functor.category.{u2, max u2 u3, u3, succ (max u2 u3)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u2 u3}) (CategoryTheory.Functor.{u2, max u2 u3, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2) (CategoryTheory.Functor.category.{u2, max u2 u3, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2) (CategoryTheory.Functor.{u2, max u2 u3, u3, succ (max u2 u3)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u2 u3}) (CategoryTheory.Functor.category.{u2, max u2 u3, u3, succ (max u2 u3)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u2 u3}) (CategoryTheory.Functor.obj.{succ (max u2 u3), max (max u2 (max u2 u3) u3 (succ (max u2 u3))) u2 u3, max (max u2 u3) (succ (max u2 u3)) u1, max (max u2 u3) (max u2 (max u2 u3) u3 (succ (max u2 u3))) u2 (max u2 u3) u3 u1} (CategoryTheory.Functor.{max u2 u3, max u2 u3, succ (max u2 u3), u1} Type.{max u2 u3} CategoryTheory.types.{max u2 u3} D _inst_2) (CategoryTheory.Functor.category.{max u2 u3, max u2 u3, succ (max u2 u3), u1} Type.{max u2 u3} CategoryTheory.types.{max u2 u3} D _inst_2) (CategoryTheory.Functor.{max u2 u3, max u2 u3, max u2 (max u2 u3) u3 (succ (max u2 u3)), max u2 (max u2 u3) u3 u1} (CategoryTheory.Functor.{u2, max u2 u3, u3, succ (max u2 u3)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u2 u3}) (CategoryTheory.Functor.category.{u2, max u2 u3, u3, succ (max u2 u3)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u2 u3}) (CategoryTheory.Functor.{u2, max u2 u3, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2) (CategoryTheory.Functor.category.{u2, max u2 u3, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2)) (CategoryTheory.Functor.category.{max u2 u3, max u2 u3, max u2 (max u2 u3) u3 (succ (max u2 u3)), max u2 (max u2 u3) u3 u1} (CategoryTheory.Functor.{u2, max u2 u3, u3, succ (max u2 u3)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u2 u3}) (CategoryTheory.Functor.category.{u2, max u2 u3, u3, succ (max u2 u3)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u2 u3}) (CategoryTheory.Functor.{u2, max u2 u3, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2) (CategoryTheory.Functor.category.{u2, max u2 u3, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2)) (CategoryTheory.whiskeringRight.{u3, u2, succ (max u2 u3), max u2 u3, u1, max u2 u3} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u2 u3} D _inst_2) G) (CategoryTheory.Functor.obj.{max u1 u2 u3, max (max u2 (max u2 u3) u3 u1) u2 u3, max (max u2 u3) u1 (succ (max u2 u3)), max (max u2 u3) (max u2 (max u2 u3) u3 u1) u2 (max u2 u3) u3 (succ (max u2 u3))} (CategoryTheory.Functor.{max u2 u3, max u2 u3, u1, succ (max u2 u3)} D _inst_2 Type.{max u2 u3} CategoryTheory.types.{max u2 u3}) (CategoryTheory.Functor.category.{max u2 u3, max u2 u3, u1, succ (max u2 u3)} D _inst_2 Type.{max u2 u3} CategoryTheory.types.{max u2 u3}) (CategoryTheory.Functor.{max u2 u3, max u2 u3, max u2 (max u2 u3) u3 u1, max u2 (max u2 u3) u3 (succ (max u2 u3))} (CategoryTheory.Functor.{u2, max u2 u3, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2) (CategoryTheory.Functor.category.{u2, max u2 u3, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2) (CategoryTheory.Functor.{u2, max u2 u3, u3, succ (max u2 u3)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u2 u3}) (CategoryTheory.Functor.category.{u2, max u2 u3, u3, succ (max u2 u3)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u2 u3})) (CategoryTheory.Functor.category.{max u2 u3, max u2 u3, max u2 (max u2 u3) u3 u1, max u2 (max u2 u3) u3 (succ (max u2 u3))} (CategoryTheory.Functor.{u2, max u2 u3, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2) (CategoryTheory.Functor.category.{u2, max u2 u3, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2) (CategoryTheory.Functor.{u2, max u2 u3, u3, succ (max u2 u3)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u2 u3}) (CategoryTheory.Functor.category.{u2, max u2 u3, u3, succ (max u2 u3)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u2 u3})) (CategoryTheory.whiskeringRight.{u3, u2, u1, max u2 u3, succ (max u2 u3), max u2 u3} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2 Type.{max u2 u3} CategoryTheory.types.{max u2 u3}) (CategoryTheory.forget.{u1, max u2 u3, max u2 u3} D _inst_2 _inst_5))) (CategoryTheory.Adjunction.unit.{max u2 u3, max u2 u3, max u2 (max u2 u3) u3 (succ (max u2 u3)), max u2 (max u2 u3) u3 u1} (CategoryTheory.Functor.{u2, max u2 u3, u3, succ (max u2 u3)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u2 u3}) (CategoryTheory.Functor.category.{u2, max u2 u3, u3, succ (max u2 u3)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u2 u3}) (CategoryTheory.Functor.{u2, max u2 u3, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2) (CategoryTheory.Functor.category.{u2, max u2 u3, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2) (CategoryTheory.Functor.obj.{succ (max u2 u3), max (max u2 (max u2 u3) u3 (succ (max u2 u3))) u2 u3, max (max u2 u3) (succ (max u2 u3)) u1, max (max u2 u3) (max u2 (max u2 u3) u3 (succ (max u2 u3))) u2 (max u2 u3) u3 u1} (CategoryTheory.Functor.{max u2 u3, max u2 u3, succ (max u2 u3), u1} Type.{max u2 u3} CategoryTheory.types.{max u2 u3} D _inst_2) (CategoryTheory.Functor.category.{max u2 u3, max u2 u3, succ (max u2 u3), u1} Type.{max u2 u3} CategoryTheory.types.{max u2 u3} D _inst_2) (CategoryTheory.Functor.{max u2 u3, max u2 u3, max u2 (max u2 u3) u3 (succ (max u2 u3)), max u2 (max u2 u3) u3 u1} (CategoryTheory.Functor.{u2, max u2 u3, u3, succ (max u2 u3)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u2 u3}) (CategoryTheory.Functor.category.{u2, max u2 u3, u3, succ (max u2 u3)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u2 u3}) (CategoryTheory.Functor.{u2, max u2 u3, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2) (CategoryTheory.Functor.category.{u2, max u2 u3, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2)) (CategoryTheory.Functor.category.{max u2 u3, max u2 u3, max u2 (max u2 u3) u3 (succ (max u2 u3)), max u2 (max u2 u3) u3 u1} (CategoryTheory.Functor.{u2, max u2 u3, u3, succ (max u2 u3)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u2 u3}) (CategoryTheory.Functor.category.{u2, max u2 u3, u3, succ (max u2 u3)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u2 u3}) (CategoryTheory.Functor.{u2, max u2 u3, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2) (CategoryTheory.Functor.category.{u2, max u2 u3, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2)) (CategoryTheory.whiskeringRight.{u3, u2, succ (max u2 u3), max u2 u3, u1, max u2 u3} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u2 u3} D _inst_2) G) (CategoryTheory.Functor.obj.{max u1 u2 u3, max (max u2 (max u2 u3) u3 u1) u2 u3, max (max u2 u3) u1 (succ (max u2 u3)), max (max u2 u3) (max u2 (max u2 u3) u3 u1) u2 (max u2 u3) u3 (succ (max u2 u3))} (CategoryTheory.Functor.{max u2 u3, max u2 u3, u1, succ (max u2 u3)} D _inst_2 Type.{max u2 u3} CategoryTheory.types.{max u2 u3}) (CategoryTheory.Functor.category.{max u2 u3, max u2 u3, u1, succ (max u2 u3)} D _inst_2 Type.{max u2 u3} CategoryTheory.types.{max u2 u3}) (CategoryTheory.Functor.{max u2 u3, max u2 u3, max u2 (max u2 u3) u3 u1, max u2 (max u2 u3) u3 (succ (max u2 u3))} (CategoryTheory.Functor.{u2, max u2 u3, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2) (CategoryTheory.Functor.category.{u2, max u2 u3, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2) (CategoryTheory.Functor.{u2, max u2 u3, u3, succ (max u2 u3)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u2 u3}) (CategoryTheory.Functor.category.{u2, max u2 u3, u3, succ (max u2 u3)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u2 u3})) (CategoryTheory.Functor.category.{max u2 u3, max u2 u3, max u2 (max u2 u3) u3 u1, max u2 (max u2 u3) u3 (succ (max u2 u3))} (CategoryTheory.Functor.{u2, max u2 u3, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2) (CategoryTheory.Functor.category.{u2, max u2 u3, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2) (CategoryTheory.Functor.{u2, max u2 u3, u3, succ (max u2 u3)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u2 u3}) (CategoryTheory.Functor.category.{u2, max u2 u3, u3, succ (max u2 u3)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u2 u3})) (CategoryTheory.whiskeringRight.{u3, u2, u1, max u2 u3, succ (max u2 u3), max u2 u3} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2 Type.{max u2 u3} CategoryTheory.types.{max u2 u3}) (CategoryTheory.forget.{u1, max u2 u3, max u2 u3} D _inst_2 _inst_5)) (CategoryTheory.Adjunction.whiskerRight.{u3, succ (max u2 u3), u1, u2, max u2 u3, max u2 u3} (Opposite.{succ u3} C) Type.{max u2 u3} D (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) CategoryTheory.types.{max u2 u3} _inst_2 G (CategoryTheory.forget.{u1, max u2 u3, max u2 u3} D _inst_2 _inst_5) adj)) (CategoryTheory.Functor.obj.{max u2 u3, max u2 u3, max u3 u2 (succ (max u2 u3)), max u2 (max u2 u3) u3 (succ (max u2 u3))} (CategoryTheory.SheafOfTypes.{max u2 u3, u2, u3} C _inst_1 J) (CategoryTheory.SheafOfTypes.CategoryTheory.category.{u2, u3, max u2 u3} C _inst_1 J) (CategoryTheory.Functor.{u2, max u2 u3, u3, succ (max u2 u3)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u2 u3}) (CategoryTheory.Functor.category.{u2, max u2 u3, u3, succ (max u2 u3)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u2 u3}) (CategoryTheory.sheafOfTypesToPresheaf.{max u2 u3, u2, u3} C _inst_1 J) Y)) (CategoryTheory.whiskerRight.{u3, u2, u1, max u2 u3, succ (max u2 u3), max u2 u3} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2 Type.{max u2 u3} CategoryTheory.types.{max u2 u3} (CategoryTheory.Functor.obj.{max u2 u3, max u2 u3, max u2 (max u2 u3) u3 (succ (max u2 u3)), max u2 (max u2 u3) u3 u1} (CategoryTheory.Functor.{u2, max u2 u3, u3, succ (max u2 u3)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u2 u3}) (CategoryTheory.Functor.category.{u2, max u2 u3, u3, succ (max u2 u3)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u2 u3}) (CategoryTheory.Functor.{u2, max u2 u3, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2) (CategoryTheory.Functor.category.{u2, max u2 u3, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2) (CategoryTheory.Functor.obj.{succ (max u2 u3), max (max u2 (max u2 u3) u3 (succ (max u2 u3))) u2 u3, max (max u2 u3) (succ (max u2 u3)) u1, max (max u2 u3) (max u2 (max u2 u3) u3 (succ (max u2 u3))) u2 (max u2 u3) u3 u1} (CategoryTheory.Functor.{max u2 u3, max u2 u3, succ (max u2 u3), u1} Type.{max u2 u3} CategoryTheory.types.{max u2 u3} D _inst_2) (CategoryTheory.Functor.category.{max u2 u3, max u2 u3, succ (max u2 u3), u1} Type.{max u2 u3} CategoryTheory.types.{max u2 u3} D _inst_2) (CategoryTheory.Functor.{max u2 u3, max u2 u3, max u2 (max u2 u3) u3 (succ (max u2 u3)), max u2 (max u2 u3) u3 u1} (CategoryTheory.Functor.{u2, max u2 u3, u3, succ (max u2 u3)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u2 u3}) (CategoryTheory.Functor.category.{u2, max u2 u3, u3, succ (max u2 u3)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u2 u3}) (CategoryTheory.Functor.{u2, max u2 u3, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2) (CategoryTheory.Functor.category.{u2, max u2 u3, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2)) (CategoryTheory.Functor.category.{max u2 u3, max u2 u3, max u2 (max u2 u3) u3 (succ (max u2 u3)), max u2 (max u2 u3) u3 u1} (CategoryTheory.Functor.{u2, max u2 u3, u3, succ (max u2 u3)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u2 u3}) (CategoryTheory.Functor.category.{u2, max u2 u3, u3, succ (max u2 u3)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u2 u3}) (CategoryTheory.Functor.{u2, max u2 u3, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2) (CategoryTheory.Functor.category.{u2, max u2 u3, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2)) (CategoryTheory.whiskeringRight.{u3, u2, succ (max u2 u3), max u2 u3, u1, max u2 u3} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u2 u3} D _inst_2) G) (CategoryTheory.SheafOfTypes.val.{max u2 u3, u2, u3} C _inst_1 J (CategoryTheory.Functor.obj.{max u2 u3, max u2 u3, max u3 u2 (succ (max u2 u3)), max u3 u2 (succ (max u2 u3))} (CategoryTheory.SheafOfTypes.{max u2 u3, u2, u3} C _inst_1 J) (CategoryTheory.SheafOfTypes.CategoryTheory.category.{u2, u3, max u2 u3} C _inst_1 J) (CategoryTheory.SheafOfTypes.{max u2 u3, u2, u3} C _inst_1 J) (CategoryTheory.SheafOfTypes.CategoryTheory.category.{u2, u3, max u2 u3} C _inst_1 J) (CategoryTheory.Functor.id.{max u2 u3, max u3 u2 (succ (max u2 u3))} (CategoryTheory.SheafOfTypes.{max u2 u3, u2, u3} C _inst_1 J) (CategoryTheory.SheafOfTypes.CategoryTheory.category.{u2, u3, max u2 u3} C _inst_1 J)) Y))) (CategoryTheory.Sheaf.val.{u2, max u2 u3, u3, u1} C _inst_1 J D _inst_2 (CategoryTheory.Functor.obj.{max u2 u3, max u2 u3, max u3 u2 (succ (max u2 u3)), max u3 u1 u2 u3} (CategoryTheory.SheafOfTypes.{max u2 u3, u2, u3} C _inst_1 J) (CategoryTheory.SheafOfTypes.CategoryTheory.category.{u2, u3, max u2 u3} C _inst_1 J) (CategoryTheory.Sheaf.{u2, max u2 u3, u3, u1} C _inst_1 J D _inst_2) (CategoryTheory.Sheaf.CategoryTheory.category.{u2, max u2 u3, u3, u1} C _inst_1 J D _inst_2) (CategoryTheory.Sheaf.composeAndSheafifyFromTypes.{u1, u2, u3} C _inst_1 J D _inst_2 _inst_5 _inst_6 (CategoryTheory.Sheaf.adjunctionToTypes._proof_1.{u3, u2, u1} C _inst_1 J D _inst_2 (fun (P : CategoryTheory.Functor.{u2, max u2 u3, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2) (X : C) (S : CategoryTheory.GrothendieckTopology.Cover.{u2, u3} C _inst_1 J X) => _inst_7 P X S)) (CategoryTheory.Sheaf.adjunctionToTypes._proof_2.{u3, u2, u1} C _inst_1 J D _inst_2 (fun (X : C) => _inst_8 X)) (fun (X : C) => _inst_9 X) _inst_10 G) Y)) (CategoryTheory.GrothendieckTopology.toSheafify.{u1, u2, u3} C _inst_1 J D _inst_2 (fun (P : CategoryTheory.Functor.{u2, max u2 u3, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2) (X : C) (S : CategoryTheory.GrothendieckTopology.Cover.{u2, u3} C _inst_1 J X) => _inst_7 P X S) (fun (X : C) => _inst_8 X) (CategoryTheory.Functor.obj.{max u2 u3, max u2 u3, max u2 (max u2 u3) u3 (succ (max u2 u3)), max u2 (max u2 u3) u3 u1} (CategoryTheory.Functor.{u2, max u2 u3, u3, succ (max u2 u3)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u2 u3}) (CategoryTheory.Functor.category.{u2, max u2 u3, u3, succ (max u2 u3)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u2 u3}) (CategoryTheory.Functor.{u2, max u2 u3, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2) (CategoryTheory.Functor.category.{u2, max u2 u3, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2) (CategoryTheory.Functor.obj.{succ (max u2 u3), max (max u2 (max u2 u3) u3 (succ (max u2 u3))) u2 u3, max (max u2 u3) (succ (max u2 u3)) u1, max (max u2 u3) (max u2 (max u2 u3) u3 (succ (max u2 u3))) u2 (max u2 u3) u3 u1} (CategoryTheory.Functor.{max u2 u3, max u2 u3, succ (max u2 u3), u1} Type.{max u2 u3} CategoryTheory.types.{max u2 u3} D _inst_2) (CategoryTheory.Functor.category.{max u2 u3, max u2 u3, succ (max u2 u3), u1} Type.{max u2 u3} CategoryTheory.types.{max u2 u3} D _inst_2) (CategoryTheory.Functor.{max u2 u3, max u2 u3, max u2 (max u2 u3) u3 (succ (max u2 u3)), max u2 (max u2 u3) u3 u1} (CategoryTheory.Functor.{u2, max u2 u3, u3, succ (max u2 u3)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u2 u3}) (CategoryTheory.Functor.category.{u2, max u2 u3, u3, succ (max u2 u3)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u2 u3}) (CategoryTheory.Functor.{u2, max u2 u3, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2) (CategoryTheory.Functor.category.{u2, max u2 u3, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2)) (CategoryTheory.Functor.category.{max u2 u3, max u2 u3, max u2 (max u2 u3) u3 (succ (max u2 u3)), max u2 (max u2 u3) u3 u1} (CategoryTheory.Functor.{u2, max u2 u3, u3, succ (max u2 u3)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u2 u3}) (CategoryTheory.Functor.category.{u2, max u2 u3, u3, succ (max u2 u3)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u2 u3}) (CategoryTheory.Functor.{u2, max u2 u3, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2) (CategoryTheory.Functor.category.{u2, max u2 u3, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2)) (CategoryTheory.whiskeringRight.{u3, u2, succ (max u2 u3), max u2 u3, u1, max u2 u3} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u2 u3} D _inst_2) G) (CategoryTheory.SheafOfTypes.val.{max u2 u3, u2, u3} C _inst_1 J (CategoryTheory.Functor.obj.{max u2 u3, max u2 u3, max u3 u2 (succ (max u2 u3)), max u3 u2 (succ (max u2 u3))} (CategoryTheory.SheafOfTypes.{max u2 u3, u2, u3} C _inst_1 J) (CategoryTheory.SheafOfTypes.CategoryTheory.category.{u2, u3, max u2 u3} C _inst_1 J) (CategoryTheory.SheafOfTypes.{max u2 u3, u2, u3} C _inst_1 J) (CategoryTheory.SheafOfTypes.CategoryTheory.category.{u2, u3, max u2 u3} C _inst_1 J) (CategoryTheory.Functor.id.{max u2 u3, max u3 u2 (succ (max u2 u3))} (CategoryTheory.SheafOfTypes.{max u2 u3, u2, u3} C _inst_1 J) (CategoryTheory.SheafOfTypes.CategoryTheory.category.{u2, u3, max u2 u3} C _inst_1 J)) Y)))) (CategoryTheory.forget.{u1, max u2 u3, max u2 u3} D _inst_2 _inst_5)))
-but is expected to have type
-  forall {C : Type.{u3}} [_inst_1 : CategoryTheory.Category.{u2, u3} C] (J : CategoryTheory.GrothendieckTopology.{u2, u3} C _inst_1) {D : Type.{u1}} [_inst_2 : CategoryTheory.Category.{max u2 u3, u1} D] [_inst_5 : CategoryTheory.ConcreteCategory.{max u2 u3, max u3 u2, u1} D _inst_2] [_inst_6 : CategoryTheory.Limits.PreservesLimits.{max u3 u2, max u3 u2, u1, max (succ u3) (succ u2)} D _inst_2 Type.{max u3 u2} CategoryTheory.types.{max u3 u2} (CategoryTheory.forget.{u1, max u3 u2, max u3 u2} D _inst_2 _inst_5)] [_inst_7 : forall (P : CategoryTheory.Functor.{u2, max u3 u2, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2) (X : C) (S : CategoryTheory.GrothendieckTopology.Cover.{u2, u3} C _inst_1 J X), CategoryTheory.Limits.HasMultiequalizer.{max u3 u2, u1, max u3 u2} D _inst_2 (CategoryTheory.GrothendieckTopology.Cover.index.{u1, u2, u3} C _inst_1 X J D _inst_2 S P)] [_inst_8 : forall (X : C), CategoryTheory.Limits.HasColimitsOfShape.{max u3 u2, max u3 u2, max u3 u2, u1} (Opposite.{max (succ u3) (succ u2)} (CategoryTheory.GrothendieckTopology.Cover.{u2, u3} C _inst_1 J X)) (CategoryTheory.Category.opposite.{max u3 u2, max u3 u2} (CategoryTheory.GrothendieckTopology.Cover.{u2, u3} C _inst_1 J X) (Preorder.smallCategory.{max u3 u2} (CategoryTheory.GrothendieckTopology.Cover.{u2, u3} C _inst_1 J X) (CategoryTheory.GrothendieckTopology.instPreorderCover.{u2, u3} C _inst_1 J X))) D _inst_2] [_inst_9 : forall (X : C), CategoryTheory.Limits.PreservesColimitsOfShape.{max u3 u2, max u3 u2, max u3 u2, max u3 u2, u1, max (succ u3) (succ u2)} D _inst_2 Type.{max u3 u2} CategoryTheory.types.{max u3 u2} (Opposite.{max (succ u3) (succ u2)} (CategoryTheory.GrothendieckTopology.Cover.{u2, u3} C _inst_1 J X)) (CategoryTheory.Category.opposite.{max u3 u2, max u3 u2} (CategoryTheory.GrothendieckTopology.Cover.{u2, u3} C _inst_1 J X) (Preorder.smallCategory.{max u3 u2} (CategoryTheory.GrothendieckTopology.Cover.{u2, u3} C _inst_1 J X) (CategoryTheory.GrothendieckTopology.instPreorderCover.{u2, u3} C _inst_1 J X))) (CategoryTheory.forget.{u1, max u3 u2, max u3 u2} D _inst_2 _inst_5)] [_inst_10 : CategoryTheory.ReflectsIsomorphisms.{max u3 u2, max u3 u2, u1, max (succ u3) (succ u2)} D _inst_2 Type.{max u3 u2} CategoryTheory.types.{max u3 u2} (CategoryTheory.forget.{u1, max u3 u2, max u3 u2} D _inst_2 _inst_5)] {G : CategoryTheory.Functor.{max u3 u2, max u3 u2, max (succ u3) (succ u2), u1} Type.{max u2 u3} CategoryTheory.types.{max u3 u2} D _inst_2} (adj : CategoryTheory.Adjunction.{max u3 u2, max u3 u2, max (succ u3) (succ u2), u1} Type.{max u2 u3} CategoryTheory.types.{max u3 u2} D _inst_2 G (CategoryTheory.forget.{u1, max u3 u2, max u3 u2} D _inst_2 _inst_5)) (Y : CategoryTheory.SheafOfTypes.{max u3 u2, u2, u3} C _inst_1 J), Eq.{max (succ u3) (succ u2)} (Quiver.Hom.{max (succ u3) (succ (max u3 u2)), succ (max u3 u2)} (CategoryTheory.Functor.{u2, max u3 u2, u3, succ (max u3 u2)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u3 u2} CategoryTheory.types.{max u3 u2}) (CategoryTheory.CategoryStruct.toQuiver.{max u3 u2, succ (max u3 u2)} (CategoryTheory.Functor.{u2, max u3 u2, u3, succ (max u3 u2)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u3 u2} CategoryTheory.types.{max u3 u2}) (CategoryTheory.Category.toCategoryStruct.{max u3 u2, succ (max u3 u2)} (CategoryTheory.Functor.{u2, max u3 u2, u3, succ (max u3 u2)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u3 u2} CategoryTheory.types.{max u3 u2}) (CategoryTheory.Functor.category.{u2, max u3 u2, u3, succ (max u3 u2)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u3 u2} CategoryTheory.types.{max u3 u2}))) (CategoryTheory.SheafOfTypes.val.{max u3 u2, u2, u3} C _inst_1 J (Prefunctor.obj.{succ (max u3 u2), succ (max u3 u2), max (succ u3) (succ u2), max (succ u3) (succ u2)} (CategoryTheory.SheafOfTypes.{max u3 u2, u2, u3} C _inst_1 J) (CategoryTheory.CategoryStruct.toQuiver.{max u3 u2, max (succ u3) (succ u2)} (CategoryTheory.SheafOfTypes.{max u3 u2, u2, u3} C _inst_1 J) (CategoryTheory.Category.toCategoryStruct.{max u3 u2, max (succ u3) (succ u2)} (CategoryTheory.SheafOfTypes.{max u3 u2, u2, u3} C _inst_1 J) (CategoryTheory.SheafOfTypes.instCategorySheafOfTypes.{u2, u3, max u3 u2} C _inst_1 J))) (CategoryTheory.SheafOfTypes.{max u3 u2, u2, u3} C _inst_1 J) (CategoryTheory.CategoryStruct.toQuiver.{max u3 u2, max (succ u3) (succ u2)} (CategoryTheory.SheafOfTypes.{max u3 u2, u2, u3} C _inst_1 J) (CategoryTheory.Category.toCategoryStruct.{max u3 u2, max (succ u3) (succ u2)} (CategoryTheory.SheafOfTypes.{max u3 u2, u2, u3} C _inst_1 J) (CategoryTheory.SheafOfTypes.instCategorySheafOfTypes.{u2, u3, max u3 u2} C _inst_1 J))) (CategoryTheory.Functor.toPrefunctor.{max u3 u2, max u3 u2, max (succ u3) (succ u2), max (succ u3) (succ u2)} (CategoryTheory.SheafOfTypes.{max u3 u2, u2, u3} C _inst_1 J) (CategoryTheory.SheafOfTypes.instCategorySheafOfTypes.{u2, u3, max u3 u2} C _inst_1 J) (CategoryTheory.SheafOfTypes.{max u3 u2, u2, u3} C _inst_1 J) (CategoryTheory.SheafOfTypes.instCategorySheafOfTypes.{u2, u3, max u3 u2} C _inst_1 J) (CategoryTheory.Functor.id.{max u3 u2, max (succ u3) (succ u2)} (CategoryTheory.SheafOfTypes.{max u3 u2, u2, u3} C _inst_1 J) (CategoryTheory.SheafOfTypes.instCategorySheafOfTypes.{u2, u3, max u3 u2} C _inst_1 J))) Y)) (CategoryTheory.SheafOfTypes.val.{max u3 u2, u2, u3} C _inst_1 J (Prefunctor.obj.{succ (max u3 u2), succ (max u3 u2), max (succ u3) (succ u2), max (succ u3) (succ u2)} (CategoryTheory.SheafOfTypes.{max u3 u2, u2, u3} C _inst_1 J) (CategoryTheory.CategoryStruct.toQuiver.{max u3 u2, max (succ u3) (succ u2)} (CategoryTheory.SheafOfTypes.{max u3 u2, u2, u3} C _inst_1 J) (CategoryTheory.Category.toCategoryStruct.{max u3 u2, max (succ u3) (succ u2)} (CategoryTheory.SheafOfTypes.{max u3 u2, u2, u3} C _inst_1 J) (CategoryTheory.SheafOfTypes.instCategorySheafOfTypes.{u2, u3, max u3 u2} C _inst_1 J))) (CategoryTheory.SheafOfTypes.{max u3 u2, u2, u3} C _inst_1 J) (CategoryTheory.CategoryStruct.toQuiver.{max u3 u2, max (succ u3) (succ u2)} (CategoryTheory.SheafOfTypes.{max u3 u2, u2, u3} C _inst_1 J) (CategoryTheory.Category.toCategoryStruct.{max u3 u2, max (succ u3) (succ u2)} (CategoryTheory.SheafOfTypes.{max u3 u2, u2, u3} C _inst_1 J) (CategoryTheory.SheafOfTypes.instCategorySheafOfTypes.{u2, u3, max u3 u2} C _inst_1 J))) (CategoryTheory.Functor.toPrefunctor.{max u3 u2, max u3 u2, max (succ u3) (succ u2), max (succ u3) (succ u2)} (CategoryTheory.SheafOfTypes.{max u3 u2, u2, u3} C _inst_1 J) (CategoryTheory.SheafOfTypes.instCategorySheafOfTypes.{u2, u3, max u3 u2} C _inst_1 J) (CategoryTheory.SheafOfTypes.{max u3 u2, u2, u3} C _inst_1 J) (CategoryTheory.SheafOfTypes.instCategorySheafOfTypes.{u2, u3, max u3 u2} C _inst_1 J) (CategoryTheory.Functor.comp.{max u3 u2, max u3 u2, max u3 u2, max (succ u3) (succ u2), max (max u3 u2) u1, max (succ u3) (succ u2)} (CategoryTheory.SheafOfTypes.{max u3 u2, u2, u3} C _inst_1 J) (CategoryTheory.SheafOfTypes.instCategorySheafOfTypes.{u2, u3, max u3 u2} C _inst_1 J) (CategoryTheory.Sheaf.{u2, max u3 u2, u3, u1} C _inst_1 J D _inst_2) (CategoryTheory.Sheaf.instCategorySheaf.{u2, max u3 u2, u3, u1} C _inst_1 J D _inst_2) (CategoryTheory.SheafOfTypes.{max u3 u2, u2, u3} C _inst_1 J) (CategoryTheory.SheafOfTypes.instCategorySheafOfTypes.{u2, u3, max u3 u2} C _inst_1 J) (CategoryTheory.Sheaf.composeAndSheafifyFromTypes.{u1, u2, u3} C _inst_1 J D _inst_2 _inst_5 _inst_6 (fun (P : CategoryTheory.Functor.{u2, max u3 u2, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2) (X : C) (S : CategoryTheory.GrothendieckTopology.Cover.{u2, u3} C _inst_1 J X) => _inst_7 P X S) (fun (X : C) => _inst_8 X) (fun (X : C) => _inst_9 X) _inst_10 G) (CategoryTheory.sheafForget.{u1, u2, u3} C _inst_1 J D _inst_2 _inst_5 _inst_6))) Y))) (CategoryTheory.SheafOfTypes.Hom.val.{u2, u3, max u3 u2} C _inst_1 J (Prefunctor.obj.{succ (max u3 u2), succ (max u3 u2), max (succ u3) (succ u2), max (succ u3) (succ u2)} (CategoryTheory.SheafOfTypes.{max u3 u2, u2, u3} C _inst_1 J) (CategoryTheory.CategoryStruct.toQuiver.{max u3 u2, max (succ u3) (succ u2)} (CategoryTheory.SheafOfTypes.{max u3 u2, u2, u3} C _inst_1 J) (CategoryTheory.Category.toCategoryStruct.{max u3 u2, max (succ u3) (succ u2)} (CategoryTheory.SheafOfTypes.{max u3 u2, u2, u3} C _inst_1 J) (CategoryTheory.SheafOfTypes.instCategorySheafOfTypes.{u2, u3, max u3 u2} C _inst_1 J))) (CategoryTheory.SheafOfTypes.{max u3 u2, u2, u3} C _inst_1 J) (CategoryTheory.CategoryStruct.toQuiver.{max u3 u2, max (succ u3) (succ u2)} (CategoryTheory.SheafOfTypes.{max u3 u2, u2, u3} C _inst_1 J) (CategoryTheory.Category.toCategoryStruct.{max u3 u2, max (succ u3) (succ u2)} (CategoryTheory.SheafOfTypes.{max u3 u2, u2, u3} C _inst_1 J) (CategoryTheory.SheafOfTypes.instCategorySheafOfTypes.{u2, u3, max u3 u2} C _inst_1 J))) (CategoryTheory.Functor.toPrefunctor.{max u3 u2, max u3 u2, max (succ u3) (succ u2), max (succ u3) (succ u2)} (CategoryTheory.SheafOfTypes.{max u3 u2, u2, u3} C _inst_1 J) (CategoryTheory.SheafOfTypes.instCategorySheafOfTypes.{u2, u3, max u3 u2} C _inst_1 J) (CategoryTheory.SheafOfTypes.{max u3 u2, u2, u3} C _inst_1 J) (CategoryTheory.SheafOfTypes.instCategorySheafOfTypes.{u2, u3, max u3 u2} C _inst_1 J) (CategoryTheory.Functor.id.{max u3 u2, max (succ u3) (succ u2)} (CategoryTheory.SheafOfTypes.{max u3 u2, u2, u3} C _inst_1 J) (CategoryTheory.SheafOfTypes.instCategorySheafOfTypes.{u2, u3, max u3 u2} C _inst_1 J))) Y) (Prefunctor.obj.{succ (max u3 u2), succ (max u3 u2), max (succ u3) (succ u2), max (succ u3) (succ u2)} (CategoryTheory.SheafOfTypes.{max u3 u2, u2, u3} C _inst_1 J) (CategoryTheory.CategoryStruct.toQuiver.{max u3 u2, max (succ u3) (succ u2)} (CategoryTheory.SheafOfTypes.{max u3 u2, u2, u3} C _inst_1 J) (CategoryTheory.Category.toCategoryStruct.{max u3 u2, max (succ u3) (succ u2)} (CategoryTheory.SheafOfTypes.{max u3 u2, u2, u3} C _inst_1 J) (CategoryTheory.SheafOfTypes.instCategorySheafOfTypes.{u2, u3, max u3 u2} C _inst_1 J))) (CategoryTheory.SheafOfTypes.{max u3 u2, u2, u3} C _inst_1 J) (CategoryTheory.CategoryStruct.toQuiver.{max u3 u2, max (succ u3) (succ u2)} (CategoryTheory.SheafOfTypes.{max u3 u2, u2, u3} C _inst_1 J) (CategoryTheory.Category.toCategoryStruct.{max u3 u2, max (succ u3) (succ u2)} (CategoryTheory.SheafOfTypes.{max u3 u2, u2, u3} C _inst_1 J) (CategoryTheory.SheafOfTypes.instCategorySheafOfTypes.{u2, u3, max u3 u2} C _inst_1 J))) (CategoryTheory.Functor.toPrefunctor.{max u3 u2, max u3 u2, max (succ u3) (succ u2), max (succ u3) (succ u2)} (CategoryTheory.SheafOfTypes.{max u3 u2, u2, u3} C _inst_1 J) (CategoryTheory.SheafOfTypes.instCategorySheafOfTypes.{u2, u3, max u3 u2} C _inst_1 J) (CategoryTheory.SheafOfTypes.{max u3 u2, u2, u3} C _inst_1 J) (CategoryTheory.SheafOfTypes.instCategorySheafOfTypes.{u2, u3, max u3 u2} C _inst_1 J) (CategoryTheory.Functor.comp.{max u3 u2, max u3 u2, max u3 u2, max (succ u3) (succ u2), max (max u3 u2) u1, max (succ u3) (succ u2)} (CategoryTheory.SheafOfTypes.{max u3 u2, u2, u3} C _inst_1 J) (CategoryTheory.SheafOfTypes.instCategorySheafOfTypes.{u2, u3, max u3 u2} C _inst_1 J) (CategoryTheory.Sheaf.{u2, max u3 u2, u3, u1} C _inst_1 J D _inst_2) (CategoryTheory.Sheaf.instCategorySheaf.{u2, max u3 u2, u3, u1} C _inst_1 J D _inst_2) (CategoryTheory.SheafOfTypes.{max u3 u2, u2, u3} C _inst_1 J) (CategoryTheory.SheafOfTypes.instCategorySheafOfTypes.{u2, u3, max u3 u2} C _inst_1 J) (CategoryTheory.Sheaf.composeAndSheafifyFromTypes.{u1, u2, u3} C _inst_1 J D _inst_2 _inst_5 _inst_6 (fun (P : CategoryTheory.Functor.{u2, max u3 u2, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2) (X : C) (S : CategoryTheory.GrothendieckTopology.Cover.{u2, u3} C _inst_1 J X) => _inst_7 P X S) (fun (X : C) => _inst_8 X) (fun (X : C) => _inst_9 X) _inst_10 G) (CategoryTheory.sheafForget.{u1, u2, u3} C _inst_1 J D _inst_2 _inst_5 _inst_6))) Y) (CategoryTheory.NatTrans.app.{max u3 u2, max u3 u2, max (succ u3) (succ u2), max (succ u3) (succ u2)} (CategoryTheory.SheafOfTypes.{max u3 u2, u2, u3} C _inst_1 J) (CategoryTheory.SheafOfTypes.instCategorySheafOfTypes.{u2, u3, max u3 u2} C _inst_1 J) (CategoryTheory.SheafOfTypes.{max u3 u2, u2, u3} C _inst_1 J) (CategoryTheory.SheafOfTypes.instCategorySheafOfTypes.{u2, u3, max u3 u2} C _inst_1 J) (CategoryTheory.Functor.id.{max u3 u2, max (succ u3) (succ u2)} (CategoryTheory.SheafOfTypes.{max u3 u2, u2, u3} C _inst_1 J) (CategoryTheory.SheafOfTypes.instCategorySheafOfTypes.{u2, u3, max u3 u2} C _inst_1 J)) (CategoryTheory.Functor.comp.{max u3 u2, max u3 u2, max u3 u2, max (succ u3) (succ u2), max (max u3 u2) u1, max (succ u3) (succ u2)} (CategoryTheory.SheafOfTypes.{max u3 u2, u2, u3} C _inst_1 J) (CategoryTheory.SheafOfTypes.instCategorySheafOfTypes.{u2, u3, max u3 u2} C _inst_1 J) (CategoryTheory.Sheaf.{u2, max u3 u2, u3, u1} C _inst_1 J D _inst_2) (CategoryTheory.Sheaf.instCategorySheaf.{u2, max u3 u2, u3, u1} C _inst_1 J D _inst_2) (CategoryTheory.SheafOfTypes.{max u3 u2, u2, u3} C _inst_1 J) (CategoryTheory.SheafOfTypes.instCategorySheafOfTypes.{u2, u3, max u3 u2} C _inst_1 J) (CategoryTheory.Sheaf.composeAndSheafifyFromTypes.{u1, u2, u3} C _inst_1 J D _inst_2 _inst_5 _inst_6 (fun (P : CategoryTheory.Functor.{u2, max u3 u2, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2) (X : C) (S : CategoryTheory.GrothendieckTopology.Cover.{u2, u3} C _inst_1 J X) => _inst_7 P X S) (fun (X : C) => _inst_8 X) (fun (X : C) => _inst_9 X) _inst_10 G) (CategoryTheory.sheafForget.{u1, u2, u3} C _inst_1 J D _inst_2 _inst_5 _inst_6)) (CategoryTheory.Adjunction.unit.{max u3 u2, max u3 u2, max (succ u3) (succ u2), max (max u3 u2) u1} (CategoryTheory.SheafOfTypes.{max u3 u2, u2, u3} C _inst_1 J) (CategoryTheory.SheafOfTypes.instCategorySheafOfTypes.{u2, u3, max u3 u2} C _inst_1 J) (CategoryTheory.Sheaf.{u2, max u3 u2, u3, u1} C _inst_1 J D _inst_2) (CategoryTheory.Sheaf.instCategorySheaf.{u2, max u3 u2, u3, u1} C _inst_1 J D _inst_2) (CategoryTheory.Sheaf.composeAndSheafifyFromTypes.{u1, u2, u3} C _inst_1 J D _inst_2 _inst_5 _inst_6 (fun (P : CategoryTheory.Functor.{u2, max u3 u2, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2) (X : C) (S : CategoryTheory.GrothendieckTopology.Cover.{u2, u3} C _inst_1 J X) => _inst_7 P X S) (fun (X : C) => _inst_8 X) (fun (X : C) => _inst_9 X) _inst_10 G) (CategoryTheory.sheafForget.{u1, u2, u3} C _inst_1 J D _inst_2 _inst_5 _inst_6) (CategoryTheory.Sheaf.adjunctionToTypes.{u1, u2, u3} C _inst_1 J D _inst_2 _inst_5 _inst_6 (fun (P : CategoryTheory.Functor.{u2, max u3 u2, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2) (X : C) (S : CategoryTheory.GrothendieckTopology.Cover.{u2, u3} C _inst_1 J X) => _inst_7 P X S) (fun (X : C) => _inst_8 X) (fun (X : C) => _inst_9 X) _inst_10 G adj)) Y)) (CategoryTheory.CategoryStruct.comp.{max u3 u2, max (succ u3) (succ u2)} (CategoryTheory.Functor.{u2, max u3 u2, u3, max (succ u3) (succ u2)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u3 u2}) (CategoryTheory.Category.toCategoryStruct.{max u3 u2, max (succ u3) (succ u2)} (CategoryTheory.Functor.{u2, max u3 u2, u3, max (succ u3) (succ u2)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u3 u2}) (CategoryTheory.Functor.category.{u2, max u3 u2, u3, max (succ u3) (succ u2)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u3 u2})) (Prefunctor.obj.{succ (max u3 u2), succ (max u3 u2), max (max (max (succ u3) (succ u2)) u2) u3, max (max (max (succ u3) (succ u2)) u2) u3} (CategoryTheory.Functor.{u2, max u3 u2, u3, max (succ u3) (succ u2)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u3 u2}) (CategoryTheory.CategoryStruct.toQuiver.{max u3 u2, max (max (max (succ u3) (succ u2)) u2) u3} (CategoryTheory.Functor.{u2, max u3 u2, u3, max (succ u3) (succ u2)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u3 u2}) (CategoryTheory.Category.toCategoryStruct.{max u3 u2, max (max (max (succ u3) (succ u2)) u2) u3} (CategoryTheory.Functor.{u2, max u3 u2, u3, max (succ u3) (succ u2)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u3 u2}) (CategoryTheory.Functor.category.{u2, max u3 u2, u3, max (succ u3) (succ u2)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u3 u2}))) (CategoryTheory.Functor.{u2, max u3 u2, u3, max (succ u3) (succ u2)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u3 u2}) (CategoryTheory.CategoryStruct.toQuiver.{max u3 u2, max (max (max (succ u3) (succ u2)) u2) u3} (CategoryTheory.Functor.{u2, max u3 u2, u3, max (succ u3) (succ u2)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u3 u2}) (CategoryTheory.Category.toCategoryStruct.{max u3 u2, max (max (max (succ u3) (succ u2)) u2) u3} (CategoryTheory.Functor.{u2, max u3 u2, u3, max (succ u3) (succ u2)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u3 u2}) (CategoryTheory.Functor.category.{u2, max u3 u2, u3, max (succ u3) (succ u2)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u3 u2}))) (CategoryTheory.Functor.toPrefunctor.{max u3 u2, max u3 u2, max (max (max (succ u3) (succ u2)) u2) u3, max (max (max (succ u3) (succ u2)) u2) u3} (CategoryTheory.Functor.{u2, max u3 u2, u3, max (succ u3) (succ u2)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u3 u2}) (CategoryTheory.Functor.category.{u2, max u3 u2, u3, max (succ u3) (succ u2)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u3 u2}) (CategoryTheory.Functor.{u2, max u3 u2, u3, max (succ u3) (succ u2)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u3 u2}) (CategoryTheory.Functor.category.{u2, max u3 u2, u3, max (succ u3) (succ u2)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u3 u2}) (CategoryTheory.Functor.id.{max u3 u2, max (max (max (succ u3) (succ u2)) u2) u3} (CategoryTheory.Functor.{u2, max u3 u2, u3, max (succ u3) (succ u2)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u3 u2}) (CategoryTheory.Functor.category.{u2, max u3 u2, u3, max (succ u3) (succ u2)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u3 u2}))) (Prefunctor.obj.{max (succ u3) (succ (max u3 u2)), max (succ u3) (succ (max u3 u2)), succ (max u3 u2), succ (max u3 u2)} (CategoryTheory.SheafOfTypes.{max u3 u2, u2, u3} C _inst_1 J) (CategoryTheory.CategoryStruct.toQuiver.{max u3 u2, succ (max u3 u2)} (CategoryTheory.SheafOfTypes.{max u3 u2, u2, u3} C _inst_1 J) (CategoryTheory.Category.toCategoryStruct.{max u3 u2, succ (max u3 u2)} (CategoryTheory.SheafOfTypes.{max u3 u2, u2, u3} C _inst_1 J) (CategoryTheory.SheafOfTypes.instCategorySheafOfTypes.{u2, u3, max u3 u2} C _inst_1 J))) (CategoryTheory.Functor.{u2, max u3 u2, u3, succ (max u3 u2)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u3 u2} CategoryTheory.types.{max u3 u2}) (CategoryTheory.CategoryStruct.toQuiver.{max u3 u2, succ (max u3 u2)} (CategoryTheory.Functor.{u2, max u3 u2, u3, succ (max u3 u2)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u3 u2} CategoryTheory.types.{max u3 u2}) (CategoryTheory.Category.toCategoryStruct.{max u3 u2, succ (max u3 u2)} (CategoryTheory.Functor.{u2, max u3 u2, u3, succ (max u3 u2)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u3 u2} CategoryTheory.types.{max u3 u2}) (CategoryTheory.Functor.category.{u2, max u3 u2, u3, succ (max u3 u2)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u3 u2} CategoryTheory.types.{max u3 u2}))) (CategoryTheory.Functor.toPrefunctor.{max u3 u2, max u3 u2, succ (max u3 u2), succ (max u3 u2)} (CategoryTheory.SheafOfTypes.{max u3 u2, u2, u3} C _inst_1 J) (CategoryTheory.SheafOfTypes.instCategorySheafOfTypes.{u2, u3, max u3 u2} C _inst_1 J) (CategoryTheory.Functor.{u2, max u3 u2, u3, succ (max u3 u2)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u3 u2} CategoryTheory.types.{max u3 u2}) (CategoryTheory.Functor.category.{u2, max u3 u2, u3, succ (max u3 u2)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u3 u2} CategoryTheory.types.{max u3 u2}) (CategoryTheory.sheafOfTypesToPresheaf.{max u3 u2, u2, u3} C _inst_1 J)) Y)) (Prefunctor.obj.{succ (max u3 u2), succ (max u3 u2), max (max (max (succ u3) (succ u2)) u2) u3, max (max (max (succ u3) (succ u2)) u2) u3} (CategoryTheory.Functor.{u2, max u3 u2, u3, max (succ u3) (succ u2)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u3 u2}) (CategoryTheory.CategoryStruct.toQuiver.{max u3 u2, max (max (max (succ u3) (succ u2)) u2) u3} (CategoryTheory.Functor.{u2, max u3 u2, u3, max (succ u3) (succ u2)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u3 u2}) (CategoryTheory.Category.toCategoryStruct.{max u3 u2, max (max (max (succ u3) (succ u2)) u2) u3} (CategoryTheory.Functor.{u2, max u3 u2, u3, max (succ u3) (succ u2)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u3 u2}) (CategoryTheory.Functor.category.{u2, max u3 u2, u3, max (succ u3) (succ u2)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u3 u2}))) (CategoryTheory.Functor.{u2, max u3 u2, u3, max (succ u3) (succ u2)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u3 u2}) (CategoryTheory.CategoryStruct.toQuiver.{max u3 u2, max (max (max (succ u3) (succ u2)) u2) u3} (CategoryTheory.Functor.{u2, max u3 u2, u3, max (succ u3) (succ u2)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u3 u2}) (CategoryTheory.Category.toCategoryStruct.{max u3 u2, max (max (max (succ u3) (succ u2)) u2) u3} (CategoryTheory.Functor.{u2, max u3 u2, u3, max (succ u3) (succ u2)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u3 u2}) (CategoryTheory.Functor.category.{u2, max u3 u2, u3, max (succ u3) (succ u2)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u3 u2}))) (CategoryTheory.Functor.toPrefunctor.{max u3 u2, max u3 u2, max (max (max (succ u3) (succ u2)) u2) u3, max (max (max (succ u3) (succ u2)) u2) u3} (CategoryTheory.Functor.{u2, max u3 u2, u3, max (succ u3) (succ u2)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u3 u2}) (CategoryTheory.Functor.category.{u2, max u3 u2, u3, max (succ u3) (succ u2)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u3 u2}) (CategoryTheory.Functor.{u2, max u3 u2, u3, max (succ u3) (succ u2)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u3 u2}) (CategoryTheory.Functor.category.{u2, max u3 u2, u3, max (succ u3) (succ u2)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u3 u2}) (CategoryTheory.Functor.comp.{max u3 u2, max u3 u2, max u3 u2, max (max (max (succ u3) (succ u2)) u2) u3, max (max (max (max u3 u2) u1) u2) u3, max (max (max (succ u3) (succ u2)) u2) u3} (CategoryTheory.Functor.{u2, max u3 u2, u3, max (succ u3) (succ u2)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u3 u2}) (CategoryTheory.Functor.category.{u2, max u3 u2, u3, max (succ u3) (succ u2)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u3 u2}) (CategoryTheory.Functor.{u2, max u3 u2, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2) (CategoryTheory.Functor.category.{u2, max u3 u2, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2) (CategoryTheory.Functor.{u2, max u3 u2, u3, max (succ u3) (succ u2)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u3 u2}) (CategoryTheory.Functor.category.{u2, max u3 u2, u3, max (succ u3) (succ u2)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u3 u2}) (Prefunctor.obj.{max (succ (max (succ u3) (succ u2))) (succ (max u3 u2)), max (max (max (succ u3) (succ (max (succ u3) (succ u2)))) (succ u2)) (succ (max u3 u2)), max (max (max (succ u3) (succ u2)) u1) u3 u2, max (max (max (max u3 (succ u3) (succ u2)) u1) u2) u3 u2} (CategoryTheory.Functor.{max u3 u2, max u3 u2, max (succ u3) (succ u2), u1} Type.{max u2 u3} CategoryTheory.types.{max u3 u2} D _inst_2) (CategoryTheory.CategoryStruct.toQuiver.{max (max (succ u3) (succ u2)) u3 u2, max (max (max (succ u3) (succ u2)) u1) u3 u2} (CategoryTheory.Functor.{max u3 u2, max u3 u2, max (succ u3) (succ u2), u1} Type.{max u2 u3} CategoryTheory.types.{max u3 u2} D _inst_2) (CategoryTheory.Category.toCategoryStruct.{max (max (succ u3) (succ u2)) u3 u2, max (max (max (succ u3) (succ u2)) u1) u3 u2} (CategoryTheory.Functor.{max u3 u2, max u3 u2, max (succ u3) (succ u2), u1} Type.{max u2 u3} CategoryTheory.types.{max u3 u2} D _inst_2) (CategoryTheory.Functor.category.{max u3 u2, max u3 u2, max (succ u3) (succ u2), u1} Type.{max u2 u3} CategoryTheory.types.{max u3 u2} D _inst_2))) (CategoryTheory.Functor.{max u3 u2, max u3 u2, max (max (max (max (succ u3) (succ u2)) u3) u3 u2) u2, max (max (max u1 u3) u3 u2) u2} (CategoryTheory.Functor.{u2, max u3 u2, u3, max (succ u3) (succ u2)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u3 u2}) (CategoryTheory.Functor.category.{u2, max u3 u2, u3, max (succ u3) (succ u2)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u3 u2}) (CategoryTheory.Functor.{u2, max u3 u2, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2) (CategoryTheory.Functor.category.{u2, max u3 u2, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2)) (CategoryTheory.CategoryStruct.toQuiver.{max (max (max u3 (succ u3) (succ u2)) u2) u3 u2, max (max (max (max u3 (succ u3) (succ u2)) u1) u2) u3 u2} (CategoryTheory.Functor.{max u3 u2, max u3 u2, max (max (max (max (succ u3) (succ u2)) u3) u3 u2) u2, max (max (max u1 u3) u3 u2) u2} (CategoryTheory.Functor.{u2, max u3 u2, u3, max (succ u3) (succ u2)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u3 u2}) (CategoryTheory.Functor.category.{u2, max u3 u2, u3, max (succ u3) (succ u2)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u3 u2}) (CategoryTheory.Functor.{u2, max u3 u2, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2) (CategoryTheory.Functor.category.{u2, max u3 u2, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2)) (CategoryTheory.Category.toCategoryStruct.{max (max (max u3 (succ u3) (succ u2)) u2) u3 u2, max (max (max (max u3 (succ u3) (succ u2)) u1) u2) u3 u2} (CategoryTheory.Functor.{max u3 u2, max u3 u2, max (max (max (max (succ u3) (succ u2)) u3) u3 u2) u2, max (max (max u1 u3) u3 u2) u2} (CategoryTheory.Functor.{u2, max u3 u2, u3, max (succ u3) (succ u2)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u3 u2}) (CategoryTheory.Functor.category.{u2, max u3 u2, u3, max (succ u3) (succ u2)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u3 u2}) (CategoryTheory.Functor.{u2, max u3 u2, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2) (CategoryTheory.Functor.category.{u2, max u3 u2, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2)) (CategoryTheory.Functor.category.{max u3 u2, max u3 u2, max (max (max u3 (succ u3) (succ u2)) u2) u3 u2, max (max (max u3 u1) u2) u3 u2} (CategoryTheory.Functor.{u2, max u3 u2, u3, max (succ u3) (succ u2)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u3 u2}) (CategoryTheory.Functor.category.{u2, max u3 u2, u3, max (succ u3) (succ u2)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u3 u2}) (CategoryTheory.Functor.{u2, max u3 u2, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2) (CategoryTheory.Functor.category.{u2, max u3 u2, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2)))) (CategoryTheory.Functor.toPrefunctor.{max (max (succ u3) (succ u2)) u3 u2, max (max (max u3 (succ u3) (succ u2)) u2) u3 u2, max (max (max (succ u3) (succ u2)) u1) u3 u2, max (max (max (max u3 (succ u3) (succ u2)) u1) u2) u3 u2} (CategoryTheory.Functor.{max u3 u2, max u3 u2, max (succ u3) (succ u2), u1} Type.{max u2 u3} CategoryTheory.types.{max u3 u2} D _inst_2) (CategoryTheory.Functor.category.{max u3 u2, max u3 u2, max (succ u3) (succ u2), u1} Type.{max u2 u3} CategoryTheory.types.{max u3 u2} D _inst_2) (CategoryTheory.Functor.{max u3 u2, max u3 u2, max (max (max (max (succ u3) (succ u2)) u3) u3 u2) u2, max (max (max u1 u3) u3 u2) u2} (CategoryTheory.Functor.{u2, max u3 u2, u3, max (succ u3) (succ u2)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u3 u2}) (CategoryTheory.Functor.category.{u2, max u3 u2, u3, max (succ u3) (succ u2)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u3 u2}) (CategoryTheory.Functor.{u2, max u3 u2, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2) (CategoryTheory.Functor.category.{u2, max u3 u2, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2)) (CategoryTheory.Functor.category.{max u3 u2, max u3 u2, max (max (max u3 (succ u3) (succ u2)) u2) u3 u2, max (max (max u3 u1) u2) u3 u2} (CategoryTheory.Functor.{u2, max u3 u2, u3, max (succ u3) (succ u2)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u3 u2}) (CategoryTheory.Functor.category.{u2, max u3 u2, u3, max (succ u3) (succ u2)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u3 u2}) (CategoryTheory.Functor.{u2, max u3 u2, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2) (CategoryTheory.Functor.category.{u2, max u3 u2, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2)) (CategoryTheory.whiskeringRight.{u3, u2, max (succ u3) (succ u2), max u3 u2, u1, max u3 u2} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u3 u2} D _inst_2)) G) (Prefunctor.obj.{max (succ u1) (succ (max u3 u2)), max (max (max (succ u3) (succ u1)) (succ u2)) (succ (max u3 u2)), max (max (max (succ u3) (succ u2)) u1) u3 u2, max (max (max (max u3 (succ u3) (succ u2)) u1) u2) u3 u2} (CategoryTheory.Functor.{max u3 u2, max u3 u2, u1, max (succ u3) (succ u2)} D _inst_2 Type.{max u2 u3} CategoryTheory.types.{max u3 u2}) (CategoryTheory.CategoryStruct.toQuiver.{max u1 u3 u2, max (max (max (succ u3) (succ u2)) u1) u3 u2} (CategoryTheory.Functor.{max u3 u2, max u3 u2, u1, max (succ u3) (succ u2)} D _inst_2 Type.{max u2 u3} CategoryTheory.types.{max u3 u2}) (CategoryTheory.Category.toCategoryStruct.{max u1 u3 u2, max (max (max (succ u3) (succ u2)) u1) u3 u2} (CategoryTheory.Functor.{max u3 u2, max u3 u2, u1, max (succ u3) (succ u2)} D _inst_2 Type.{max u2 u3} CategoryTheory.types.{max u3 u2}) (CategoryTheory.Functor.category.{max u3 u2, max u3 u2, u1, max (succ u3) (succ u2)} D _inst_2 Type.{max u2 u3} CategoryTheory.types.{max u3 u2}))) (CategoryTheory.Functor.{max u3 u2, max u3 u2, max (max (max u1 u3) u3 u2) u2, max (max (max (max (succ u3) (succ u2)) u3) u3 u2) u2} (CategoryTheory.Functor.{u2, max u3 u2, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2) (CategoryTheory.Functor.category.{u2, max u3 u2, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2) (CategoryTheory.Functor.{u2, max u3 u2, u3, max (succ u3) (succ u2)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u3 u2}) (CategoryTheory.Functor.category.{u2, max u3 u2, u3, max (succ u3) (succ u2)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u3 u2})) (CategoryTheory.CategoryStruct.toQuiver.{max (max (max u3 u1) u2) u3 u2, max (max (max (max u3 (succ u3) (succ u2)) u1) u2) u3 u2} (CategoryTheory.Functor.{max u3 u2, max u3 u2, max (max (max u1 u3) u3 u2) u2, max (max (max (max (succ u3) (succ u2)) u3) u3 u2) u2} (CategoryTheory.Functor.{u2, max u3 u2, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2) (CategoryTheory.Functor.category.{u2, max u3 u2, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2) (CategoryTheory.Functor.{u2, max u3 u2, u3, max (succ u3) (succ u2)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u3 u2}) (CategoryTheory.Functor.category.{u2, max u3 u2, u3, max (succ u3) (succ u2)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u3 u2})) (CategoryTheory.Category.toCategoryStruct.{max (max (max u3 u1) u2) u3 u2, max (max (max (max u3 (succ u3) (succ u2)) u1) u2) u3 u2} (CategoryTheory.Functor.{max u3 u2, max u3 u2, max (max (max u1 u3) u3 u2) u2, max (max (max (max (succ u3) (succ u2)) u3) u3 u2) u2} (CategoryTheory.Functor.{u2, max u3 u2, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2) (CategoryTheory.Functor.category.{u2, max u3 u2, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2) (CategoryTheory.Functor.{u2, max u3 u2, u3, max (succ u3) (succ u2)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u3 u2}) (CategoryTheory.Functor.category.{u2, max u3 u2, u3, max (succ u3) (succ u2)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u3 u2})) (CategoryTheory.Functor.category.{max u3 u2, max u3 u2, max (max (max u3 u1) u2) u3 u2, max (max (max u3 (succ u3) (succ u2)) u2) u3 u2} (CategoryTheory.Functor.{u2, max u3 u2, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2) (CategoryTheory.Functor.category.{u2, max u3 u2, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2) (CategoryTheory.Functor.{u2, max u3 u2, u3, max (succ u3) (succ u2)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u3 u2}) (CategoryTheory.Functor.category.{u2, max u3 u2, u3, max (succ u3) (succ u2)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u3 u2})))) (CategoryTheory.Functor.toPrefunctor.{max u1 u3 u2, max (max (max u3 u1) u2) u3 u2, max (max (max (succ u3) (succ u2)) u1) u3 u2, max (max (max (max u3 (succ u3) (succ u2)) u1) u2) u3 u2} (CategoryTheory.Functor.{max u3 u2, max u3 u2, u1, max (succ u3) (succ u2)} D _inst_2 Type.{max u2 u3} CategoryTheory.types.{max u3 u2}) (CategoryTheory.Functor.category.{max u3 u2, max u3 u2, u1, max (succ u3) (succ u2)} D _inst_2 Type.{max u2 u3} CategoryTheory.types.{max u3 u2}) (CategoryTheory.Functor.{max u3 u2, max u3 u2, max (max (max u1 u3) u3 u2) u2, max (max (max (max (succ u3) (succ u2)) u3) u3 u2) u2} (CategoryTheory.Functor.{u2, max u3 u2, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2) (CategoryTheory.Functor.category.{u2, max u3 u2, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2) (CategoryTheory.Functor.{u2, max u3 u2, u3, max (succ u3) (succ u2)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u3 u2}) (CategoryTheory.Functor.category.{u2, max u3 u2, u3, max (succ u3) (succ u2)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u3 u2})) (CategoryTheory.Functor.category.{max u3 u2, max u3 u2, max (max (max u3 u1) u2) u3 u2, max (max (max u3 (succ u3) (succ u2)) u2) u3 u2} (CategoryTheory.Functor.{u2, max u3 u2, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2) (CategoryTheory.Functor.category.{u2, max u3 u2, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2) (CategoryTheory.Functor.{u2, max u3 u2, u3, max (succ u3) (succ u2)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u3 u2}) (CategoryTheory.Functor.category.{u2, max u3 u2, u3, max (succ u3) (succ u2)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u3 u2})) (CategoryTheory.whiskeringRight.{u3, u2, u1, max u3 u2, max (succ u3) (succ u2), max u3 u2} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2 Type.{max u2 u3} CategoryTheory.types.{max u3 u2})) (CategoryTheory.forget.{u1, max u3 u2, max u3 u2} D _inst_2 _inst_5)))) (Prefunctor.obj.{max (succ u3) (succ (max u3 u2)), max (succ u3) (succ (max u3 u2)), succ (max u3 u2), succ (max u3 u2)} (CategoryTheory.SheafOfTypes.{max u3 u2, u2, u3} C _inst_1 J) (CategoryTheory.CategoryStruct.toQuiver.{max u3 u2, succ (max u3 u2)} (CategoryTheory.SheafOfTypes.{max u3 u2, u2, u3} C _inst_1 J) (CategoryTheory.Category.toCategoryStruct.{max u3 u2, succ (max u3 u2)} (CategoryTheory.SheafOfTypes.{max u3 u2, u2, u3} C _inst_1 J) (CategoryTheory.SheafOfTypes.instCategorySheafOfTypes.{u2, u3, max u3 u2} C _inst_1 J))) (CategoryTheory.Functor.{u2, max u3 u2, u3, succ (max u3 u2)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u3 u2} CategoryTheory.types.{max u3 u2}) (CategoryTheory.CategoryStruct.toQuiver.{max u3 u2, succ (max u3 u2)} (CategoryTheory.Functor.{u2, max u3 u2, u3, succ (max u3 u2)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u3 u2} CategoryTheory.types.{max u3 u2}) (CategoryTheory.Category.toCategoryStruct.{max u3 u2, succ (max u3 u2)} (CategoryTheory.Functor.{u2, max u3 u2, u3, succ (max u3 u2)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u3 u2} CategoryTheory.types.{max u3 u2}) (CategoryTheory.Functor.category.{u2, max u3 u2, u3, succ (max u3 u2)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u3 u2} CategoryTheory.types.{max u3 u2}))) (CategoryTheory.Functor.toPrefunctor.{max u3 u2, max u3 u2, succ (max u3 u2), succ (max u3 u2)} (CategoryTheory.SheafOfTypes.{max u3 u2, u2, u3} C _inst_1 J) (CategoryTheory.SheafOfTypes.instCategorySheafOfTypes.{u2, u3, max u3 u2} C _inst_1 J) (CategoryTheory.Functor.{u2, max u3 u2, u3, succ (max u3 u2)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u3 u2} CategoryTheory.types.{max u3 u2}) (CategoryTheory.Functor.category.{u2, max u3 u2, u3, succ (max u3 u2)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u3 u2} CategoryTheory.types.{max u3 u2}) (CategoryTheory.sheafOfTypesToPresheaf.{max u3 u2, u2, u3} C _inst_1 J)) Y)) (CategoryTheory.Functor.comp.{u2, max u3 u2, max u3 u2, u3, u1, max (succ u3) (succ u2)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2 Type.{max u3 u2} CategoryTheory.types.{max u3 u2} (CategoryTheory.GrothendieckTopology.sheafify.{u1, u2, u3} C _inst_1 J D _inst_2 (fun (P : CategoryTheory.Functor.{u2, max u3 u2, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2) (X : C) (S : CategoryTheory.GrothendieckTopology.Cover.{u2, u3} C _inst_1 J X) => _inst_7 P X S) (fun (X : C) => _inst_8 X) (Prefunctor.obj.{succ (max u3 u2), succ (max u3 u2), max (max (max (succ u3) (succ u2)) u2) u3, max (max (max (max u3 u2) u1) u2) u3} (CategoryTheory.Functor.{u2, max u3 u2, u3, max (succ u3) (succ u2)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u3 u2}) (CategoryTheory.CategoryStruct.toQuiver.{max u3 u2, max (max (max (succ u3) (succ u2)) u2) u3} (CategoryTheory.Functor.{u2, max u3 u2, u3, max (succ u3) (succ u2)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u3 u2}) (CategoryTheory.Category.toCategoryStruct.{max u3 u2, max (max (max (succ u3) (succ u2)) u2) u3} (CategoryTheory.Functor.{u2, max u3 u2, u3, max (succ u3) (succ u2)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u3 u2}) (CategoryTheory.Functor.category.{u2, max u3 u2, u3, max (succ u3) (succ u2)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u3 u2}))) (CategoryTheory.Functor.{u2, max u3 u2, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2) (CategoryTheory.CategoryStruct.toQuiver.{max u3 u2, max (max (max (max u3 u2) u1) u2) u3} (CategoryTheory.Functor.{u2, max u3 u2, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2) (CategoryTheory.Category.toCategoryStruct.{max u3 u2, max (max (max (max u3 u2) u1) u2) u3} (CategoryTheory.Functor.{u2, max u3 u2, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2) (CategoryTheory.Functor.category.{u2, max u3 u2, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2))) (CategoryTheory.Functor.toPrefunctor.{max u3 u2, max u3 u2, max (max (max (succ u3) (succ u2)) u2) u3, max (max (max (max u3 u2) u1) u2) u3} (CategoryTheory.Functor.{u2, max u3 u2, u3, max (succ u3) (succ u2)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u3 u2}) (CategoryTheory.Functor.category.{u2, max u3 u2, u3, max (succ u3) (succ u2)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u3 u2}) (CategoryTheory.Functor.{u2, max u3 u2, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2) (CategoryTheory.Functor.category.{u2, max u3 u2, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2) (Prefunctor.obj.{max (succ (max (succ u3) (succ u2))) (succ (max u3 u2)), max (max (max (succ u3) (succ (max (succ u3) (succ u2)))) (succ u2)) (succ (max u3 u2)), max (max (max (succ u3) (succ u2)) u1) u3 u2, max (max (max (max u3 (succ u3) (succ u2)) u1) u2) u3 u2} (CategoryTheory.Functor.{max u3 u2, max u3 u2, max (succ u3) (succ u2), u1} Type.{max u2 u3} CategoryTheory.types.{max u3 u2} D _inst_2) (CategoryTheory.CategoryStruct.toQuiver.{max (max (succ u3) (succ u2)) u3 u2, max (max (max (succ u3) (succ u2)) u1) u3 u2} (CategoryTheory.Functor.{max u3 u2, max u3 u2, max (succ u3) (succ u2), u1} Type.{max u2 u3} CategoryTheory.types.{max u3 u2} D _inst_2) (CategoryTheory.Category.toCategoryStruct.{max (max (succ u3) (succ u2)) u3 u2, max (max (max (succ u3) (succ u2)) u1) u3 u2} (CategoryTheory.Functor.{max u3 u2, max u3 u2, max (succ u3) (succ u2), u1} Type.{max u2 u3} CategoryTheory.types.{max u3 u2} D _inst_2) (CategoryTheory.Functor.category.{max u3 u2, max u3 u2, max (succ u3) (succ u2), u1} Type.{max u2 u3} CategoryTheory.types.{max u3 u2} D _inst_2))) (CategoryTheory.Functor.{max u3 u2, max u3 u2, max (max (max (max (succ u3) (succ u2)) u3) u3 u2) u2, max (max (max u1 u3) u3 u2) u2} (CategoryTheory.Functor.{u2, max u3 u2, u3, max (succ u3) (succ u2)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u3 u2}) (CategoryTheory.Functor.category.{u2, max u3 u2, u3, max (succ u3) (succ u2)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u3 u2}) (CategoryTheory.Functor.{u2, max u3 u2, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2) (CategoryTheory.Functor.category.{u2, max u3 u2, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2)) (CategoryTheory.CategoryStruct.toQuiver.{max (max (max u3 (succ u3) (succ u2)) u2) u3 u2, max (max (max (max u3 (succ u3) (succ u2)) u1) u2) u3 u2} (CategoryTheory.Functor.{max u3 u2, max u3 u2, max (max (max (max (succ u3) (succ u2)) u3) u3 u2) u2, max (max (max u1 u3) u3 u2) u2} (CategoryTheory.Functor.{u2, max u3 u2, u3, max (succ u3) (succ u2)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u3 u2}) (CategoryTheory.Functor.category.{u2, max u3 u2, u3, max (succ u3) (succ u2)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u3 u2}) (CategoryTheory.Functor.{u2, max u3 u2, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2) (CategoryTheory.Functor.category.{u2, max u3 u2, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2)) (CategoryTheory.Category.toCategoryStruct.{max (max (max u3 (succ u3) (succ u2)) u2) u3 u2, max (max (max (max u3 (succ u3) (succ u2)) u1) u2) u3 u2} (CategoryTheory.Functor.{max u3 u2, max u3 u2, max (max (max (max (succ u3) (succ u2)) u3) u3 u2) u2, max (max (max u1 u3) u3 u2) u2} (CategoryTheory.Functor.{u2, max u3 u2, u3, max (succ u3) (succ u2)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u3 u2}) (CategoryTheory.Functor.category.{u2, max u3 u2, u3, max (succ u3) (succ u2)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u3 u2}) (CategoryTheory.Functor.{u2, max u3 u2, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2) (CategoryTheory.Functor.category.{u2, max u3 u2, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2)) (CategoryTheory.Functor.category.{max u3 u2, max u3 u2, max (max (max u3 (succ u3) (succ u2)) u2) u3 u2, max (max (max u3 u1) u2) u3 u2} (CategoryTheory.Functor.{u2, max u3 u2, u3, max (succ u3) (succ u2)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u3 u2}) (CategoryTheory.Functor.category.{u2, max u3 u2, u3, max (succ u3) (succ u2)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u3 u2}) (CategoryTheory.Functor.{u2, max u3 u2, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2) (CategoryTheory.Functor.category.{u2, max u3 u2, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2)))) (CategoryTheory.Functor.toPrefunctor.{max (max (succ u3) (succ u2)) u3 u2, max (max (max u3 (succ u3) (succ u2)) u2) u3 u2, max (max (max (succ u3) (succ u2)) u1) u3 u2, max (max (max (max u3 (succ u3) (succ u2)) u1) u2) u3 u2} (CategoryTheory.Functor.{max u3 u2, max u3 u2, max (succ u3) (succ u2), u1} Type.{max u2 u3} CategoryTheory.types.{max u3 u2} D _inst_2) (CategoryTheory.Functor.category.{max u3 u2, max u3 u2, max (succ u3) (succ u2), u1} Type.{max u2 u3} CategoryTheory.types.{max u3 u2} D _inst_2) (CategoryTheory.Functor.{max u3 u2, max u3 u2, max (max (max (max (succ u3) (succ u2)) u3) u3 u2) u2, max (max (max u1 u3) u3 u2) u2} (CategoryTheory.Functor.{u2, max u3 u2, u3, max (succ u3) (succ u2)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u3 u2}) (CategoryTheory.Functor.category.{u2, max u3 u2, u3, max (succ u3) (succ u2)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u3 u2}) (CategoryTheory.Functor.{u2, max u3 u2, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2) (CategoryTheory.Functor.category.{u2, max u3 u2, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2)) (CategoryTheory.Functor.category.{max u3 u2, max u3 u2, max (max (max u3 (succ u3) (succ u2)) u2) u3 u2, max (max (max u3 u1) u2) u3 u2} (CategoryTheory.Functor.{u2, max u3 u2, u3, max (succ u3) (succ u2)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u3 u2}) (CategoryTheory.Functor.category.{u2, max u3 u2, u3, max (succ u3) (succ u2)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u3 u2}) (CategoryTheory.Functor.{u2, max u3 u2, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2) (CategoryTheory.Functor.category.{u2, max u3 u2, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2)) (CategoryTheory.whiskeringRight.{u3, u2, max (succ u3) (succ u2), max u3 u2, u1, max u3 u2} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u3 u2} D _inst_2)) G)) (Prefunctor.obj.{max (succ u3) (succ (max u3 u2)), max (succ u3) (succ (max u3 u2)), succ (max u3 u2), succ (max u3 u2)} (CategoryTheory.SheafOfTypes.{max u3 u2, u2, u3} C _inst_1 J) (CategoryTheory.CategoryStruct.toQuiver.{max u3 u2, succ (max u3 u2)} (CategoryTheory.SheafOfTypes.{max u3 u2, u2, u3} C _inst_1 J) (CategoryTheory.Category.toCategoryStruct.{max u3 u2, succ (max u3 u2)} (CategoryTheory.SheafOfTypes.{max u3 u2, u2, u3} C _inst_1 J) (CategoryTheory.SheafOfTypes.instCategorySheafOfTypes.{u2, u3, max u3 u2} C _inst_1 J))) (CategoryTheory.Functor.{u2, max u3 u2, u3, succ (max u3 u2)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u3 u2} CategoryTheory.types.{max u3 u2}) (CategoryTheory.CategoryStruct.toQuiver.{max u3 u2, succ (max u3 u2)} (CategoryTheory.Functor.{u2, max u3 u2, u3, succ (max u3 u2)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u3 u2} CategoryTheory.types.{max u3 u2}) (CategoryTheory.Category.toCategoryStruct.{max u3 u2, succ (max u3 u2)} (CategoryTheory.Functor.{u2, max u3 u2, u3, succ (max u3 u2)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u3 u2} CategoryTheory.types.{max u3 u2}) (CategoryTheory.Functor.category.{u2, max u3 u2, u3, succ (max u3 u2)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u3 u2} CategoryTheory.types.{max u3 u2}))) (CategoryTheory.Functor.toPrefunctor.{max u3 u2, max u3 u2, succ (max u3 u2), succ (max u3 u2)} (CategoryTheory.SheafOfTypes.{max u3 u2, u2, u3} C _inst_1 J) (CategoryTheory.SheafOfTypes.instCategorySheafOfTypes.{u2, u3, max u3 u2} C _inst_1 J) (CategoryTheory.Functor.{u2, max u3 u2, u3, succ (max u3 u2)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u3 u2} CategoryTheory.types.{max u3 u2}) (CategoryTheory.Functor.category.{u2, max u3 u2, u3, succ (max u3 u2)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u3 u2} CategoryTheory.types.{max u3 u2}) (CategoryTheory.sheafOfTypesToPresheaf.{max u3 u2, u2, u3} C _inst_1 J)) Y))) (CategoryTheory.forget.{u1, max u3 u2, max u3 u2} D _inst_2 _inst_5)) (CategoryTheory.NatTrans.app.{max u3 u2, max u3 u2, max (max (max (succ u3) (succ u2)) u2) u3, max (max (max (succ u3) (succ u2)) u2) u3} (CategoryTheory.Functor.{u2, max u3 u2, u3, max (succ u3) (succ u2)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u3 u2}) (CategoryTheory.Functor.category.{u2, max u3 u2, u3, max (succ u3) (succ u2)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u3 u2}) (CategoryTheory.Functor.{u2, max u3 u2, u3, max (succ u3) (succ u2)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u3 u2}) (CategoryTheory.Functor.category.{u2, max u3 u2, u3, max (succ u3) (succ u2)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u3 u2}) (CategoryTheory.Functor.id.{max u3 u2, max (max (max (succ u3) (succ u2)) u2) u3} (CategoryTheory.Functor.{u2, max u3 u2, u3, max (succ u3) (succ u2)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u3 u2}) (CategoryTheory.Functor.category.{u2, max u3 u2, u3, max (succ u3) (succ u2)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u3 u2})) (CategoryTheory.Functor.comp.{max u3 u2, max u3 u2, max u3 u2, max (max (max (succ u3) (succ u2)) u2) u3, max (max (max (max u3 u2) u1) u2) u3, max (max (max (succ u3) (succ u2)) u2) u3} (CategoryTheory.Functor.{u2, max u3 u2, u3, max (succ u3) (succ u2)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u3 u2}) (CategoryTheory.Functor.category.{u2, max u3 u2, u3, max (succ u3) (succ u2)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u3 u2}) (CategoryTheory.Functor.{u2, max u3 u2, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2) (CategoryTheory.Functor.category.{u2, max u3 u2, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2) (CategoryTheory.Functor.{u2, max u3 u2, u3, max (succ u3) (succ u2)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u3 u2}) (CategoryTheory.Functor.category.{u2, max u3 u2, u3, max (succ u3) (succ u2)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u3 u2}) (Prefunctor.obj.{max (succ (max (succ u3) (succ u2))) (succ (max u3 u2)), max (max (max (succ u3) (succ (max (succ u3) (succ u2)))) (succ u2)) (succ (max u3 u2)), max (max (max (succ u3) (succ u2)) u1) u3 u2, max (max (max (max u3 (succ u3) (succ u2)) u1) u2) u3 u2} (CategoryTheory.Functor.{max u3 u2, max u3 u2, max (succ u3) (succ u2), u1} Type.{max u2 u3} CategoryTheory.types.{max u3 u2} D _inst_2) (CategoryTheory.CategoryStruct.toQuiver.{max (max (succ u3) (succ u2)) u3 u2, max (max (max (succ u3) (succ u2)) u1) u3 u2} (CategoryTheory.Functor.{max u3 u2, max u3 u2, max (succ u3) (succ u2), u1} Type.{max u2 u3} CategoryTheory.types.{max u3 u2} D _inst_2) (CategoryTheory.Category.toCategoryStruct.{max (max (succ u3) (succ u2)) u3 u2, max (max (max (succ u3) (succ u2)) u1) u3 u2} (CategoryTheory.Functor.{max u3 u2, max u3 u2, max (succ u3) (succ u2), u1} Type.{max u2 u3} CategoryTheory.types.{max u3 u2} D _inst_2) (CategoryTheory.Functor.category.{max u3 u2, max u3 u2, max (succ u3) (succ u2), u1} Type.{max u2 u3} CategoryTheory.types.{max u3 u2} D _inst_2))) (CategoryTheory.Functor.{max u3 u2, max u3 u2, max (max (max (max (succ u3) (succ u2)) u3) u3 u2) u2, max (max (max u1 u3) u3 u2) u2} (CategoryTheory.Functor.{u2, max u3 u2, u3, max (succ u3) (succ u2)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u3 u2}) (CategoryTheory.Functor.category.{u2, max u3 u2, u3, max (succ u3) (succ u2)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u3 u2}) (CategoryTheory.Functor.{u2, max u3 u2, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2) (CategoryTheory.Functor.category.{u2, max u3 u2, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2)) (CategoryTheory.CategoryStruct.toQuiver.{max (max (max u3 (succ u3) (succ u2)) u2) u3 u2, max (max (max (max u3 (succ u3) (succ u2)) u1) u2) u3 u2} (CategoryTheory.Functor.{max u3 u2, max u3 u2, max (max (max (max (succ u3) (succ u2)) u3) u3 u2) u2, max (max (max u1 u3) u3 u2) u2} (CategoryTheory.Functor.{u2, max u3 u2, u3, max (succ u3) (succ u2)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u3 u2}) (CategoryTheory.Functor.category.{u2, max u3 u2, u3, max (succ u3) (succ u2)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u3 u2}) (CategoryTheory.Functor.{u2, max u3 u2, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2) (CategoryTheory.Functor.category.{u2, max u3 u2, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2)) (CategoryTheory.Category.toCategoryStruct.{max (max (max u3 (succ u3) (succ u2)) u2) u3 u2, max (max (max (max u3 (succ u3) (succ u2)) u1) u2) u3 u2} (CategoryTheory.Functor.{max u3 u2, max u3 u2, max (max (max (max (succ u3) (succ u2)) u3) u3 u2) u2, max (max (max u1 u3) u3 u2) u2} (CategoryTheory.Functor.{u2, max u3 u2, u3, max (succ u3) (succ u2)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u3 u2}) (CategoryTheory.Functor.category.{u2, max u3 u2, u3, max (succ u3) (succ u2)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u3 u2}) (CategoryTheory.Functor.{u2, max u3 u2, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2) (CategoryTheory.Functor.category.{u2, max u3 u2, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2)) (CategoryTheory.Functor.category.{max u3 u2, max u3 u2, max (max (max u3 (succ u3) (succ u2)) u2) u3 u2, max (max (max u3 u1) u2) u3 u2} (CategoryTheory.Functor.{u2, max u3 u2, u3, max (succ u3) (succ u2)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u3 u2}) (CategoryTheory.Functor.category.{u2, max u3 u2, u3, max (succ u3) (succ u2)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u3 u2}) (CategoryTheory.Functor.{u2, max u3 u2, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2) (CategoryTheory.Functor.category.{u2, max u3 u2, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2)))) (CategoryTheory.Functor.toPrefunctor.{max (max (succ u3) (succ u2)) u3 u2, max (max (max u3 (succ u3) (succ u2)) u2) u3 u2, max (max (max (succ u3) (succ u2)) u1) u3 u2, max (max (max (max u3 (succ u3) (succ u2)) u1) u2) u3 u2} (CategoryTheory.Functor.{max u3 u2, max u3 u2, max (succ u3) (succ u2), u1} Type.{max u2 u3} CategoryTheory.types.{max u3 u2} D _inst_2) (CategoryTheory.Functor.category.{max u3 u2, max u3 u2, max (succ u3) (succ u2), u1} Type.{max u2 u3} CategoryTheory.types.{max u3 u2} D _inst_2) (CategoryTheory.Functor.{max u3 u2, max u3 u2, max (max (max (max (succ u3) (succ u2)) u3) u3 u2) u2, max (max (max u1 u3) u3 u2) u2} (CategoryTheory.Functor.{u2, max u3 u2, u3, max (succ u3) (succ u2)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u3 u2}) (CategoryTheory.Functor.category.{u2, max u3 u2, u3, max (succ u3) (succ u2)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u3 u2}) (CategoryTheory.Functor.{u2, max u3 u2, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2) (CategoryTheory.Functor.category.{u2, max u3 u2, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2)) (CategoryTheory.Functor.category.{max u3 u2, max u3 u2, max (max (max u3 (succ u3) (succ u2)) u2) u3 u2, max (max (max u3 u1) u2) u3 u2} (CategoryTheory.Functor.{u2, max u3 u2, u3, max (succ u3) (succ u2)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u3 u2}) (CategoryTheory.Functor.category.{u2, max u3 u2, u3, max (succ u3) (succ u2)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u3 u2}) (CategoryTheory.Functor.{u2, max u3 u2, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2) (CategoryTheory.Functor.category.{u2, max u3 u2, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2)) (CategoryTheory.whiskeringRight.{u3, u2, max (succ u3) (succ u2), max u3 u2, u1, max u3 u2} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u3 u2} D _inst_2)) G) (Prefunctor.obj.{max (succ u1) (succ (max u3 u2)), max (max (max (succ u3) (succ u1)) (succ u2)) (succ (max u3 u2)), max (max (max (succ u3) (succ u2)) u1) u3 u2, max (max (max (max u3 (succ u3) (succ u2)) u1) u2) u3 u2} (CategoryTheory.Functor.{max u3 u2, max u3 u2, u1, max (succ u3) (succ u2)} D _inst_2 Type.{max u2 u3} CategoryTheory.types.{max u3 u2}) (CategoryTheory.CategoryStruct.toQuiver.{max u1 u3 u2, max (max (max (succ u3) (succ u2)) u1) u3 u2} (CategoryTheory.Functor.{max u3 u2, max u3 u2, u1, max (succ u3) (succ u2)} D _inst_2 Type.{max u2 u3} CategoryTheory.types.{max u3 u2}) (CategoryTheory.Category.toCategoryStruct.{max u1 u3 u2, max (max (max (succ u3) (succ u2)) u1) u3 u2} (CategoryTheory.Functor.{max u3 u2, max u3 u2, u1, max (succ u3) (succ u2)} D _inst_2 Type.{max u2 u3} CategoryTheory.types.{max u3 u2}) (CategoryTheory.Functor.category.{max u3 u2, max u3 u2, u1, max (succ u3) (succ u2)} D _inst_2 Type.{max u2 u3} CategoryTheory.types.{max u3 u2}))) (CategoryTheory.Functor.{max u3 u2, max u3 u2, max (max (max u1 u3) u3 u2) u2, max (max (max (max (succ u3) (succ u2)) u3) u3 u2) u2} (CategoryTheory.Functor.{u2, max u3 u2, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2) (CategoryTheory.Functor.category.{u2, max u3 u2, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2) (CategoryTheory.Functor.{u2, max u3 u2, u3, max (succ u3) (succ u2)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u3 u2}) (CategoryTheory.Functor.category.{u2, max u3 u2, u3, max (succ u3) (succ u2)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u3 u2})) (CategoryTheory.CategoryStruct.toQuiver.{max (max (max u3 u1) u2) u3 u2, max (max (max (max u3 (succ u3) (succ u2)) u1) u2) u3 u2} (CategoryTheory.Functor.{max u3 u2, max u3 u2, max (max (max u1 u3) u3 u2) u2, max (max (max (max (succ u3) (succ u2)) u3) u3 u2) u2} (CategoryTheory.Functor.{u2, max u3 u2, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2) (CategoryTheory.Functor.category.{u2, max u3 u2, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2) (CategoryTheory.Functor.{u2, max u3 u2, u3, max (succ u3) (succ u2)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u3 u2}) (CategoryTheory.Functor.category.{u2, max u3 u2, u3, max (succ u3) (succ u2)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u3 u2})) (CategoryTheory.Category.toCategoryStruct.{max (max (max u3 u1) u2) u3 u2, max (max (max (max u3 (succ u3) (succ u2)) u1) u2) u3 u2} (CategoryTheory.Functor.{max u3 u2, max u3 u2, max (max (max u1 u3) u3 u2) u2, max (max (max (max (succ u3) (succ u2)) u3) u3 u2) u2} (CategoryTheory.Functor.{u2, max u3 u2, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2) (CategoryTheory.Functor.category.{u2, max u3 u2, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2) (CategoryTheory.Functor.{u2, max u3 u2, u3, max (succ u3) (succ u2)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u3 u2}) (CategoryTheory.Functor.category.{u2, max u3 u2, u3, max (succ u3) (succ u2)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u3 u2})) (CategoryTheory.Functor.category.{max u3 u2, max u3 u2, max (max (max u3 u1) u2) u3 u2, max (max (max u3 (succ u3) (succ u2)) u2) u3 u2} (CategoryTheory.Functor.{u2, max u3 u2, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2) (CategoryTheory.Functor.category.{u2, max u3 u2, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2) (CategoryTheory.Functor.{u2, max u3 u2, u3, max (succ u3) (succ u2)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u3 u2}) (CategoryTheory.Functor.category.{u2, max u3 u2, u3, max (succ u3) (succ u2)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u3 u2})))) (CategoryTheory.Functor.toPrefunctor.{max u1 u3 u2, max (max (max u3 u1) u2) u3 u2, max (max (max (succ u3) (succ u2)) u1) u3 u2, max (max (max (max u3 (succ u3) (succ u2)) u1) u2) u3 u2} (CategoryTheory.Functor.{max u3 u2, max u3 u2, u1, max (succ u3) (succ u2)} D _inst_2 Type.{max u2 u3} CategoryTheory.types.{max u3 u2}) (CategoryTheory.Functor.category.{max u3 u2, max u3 u2, u1, max (succ u3) (succ u2)} D _inst_2 Type.{max u2 u3} CategoryTheory.types.{max u3 u2}) (CategoryTheory.Functor.{max u3 u2, max u3 u2, max (max (max u1 u3) u3 u2) u2, max (max (max (max (succ u3) (succ u2)) u3) u3 u2) u2} (CategoryTheory.Functor.{u2, max u3 u2, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2) (CategoryTheory.Functor.category.{u2, max u3 u2, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2) (CategoryTheory.Functor.{u2, max u3 u2, u3, max (succ u3) (succ u2)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u3 u2}) (CategoryTheory.Functor.category.{u2, max u3 u2, u3, max (succ u3) (succ u2)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u3 u2})) (CategoryTheory.Functor.category.{max u3 u2, max u3 u2, max (max (max u3 u1) u2) u3 u2, max (max (max u3 (succ u3) (succ u2)) u2) u3 u2} (CategoryTheory.Functor.{u2, max u3 u2, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2) (CategoryTheory.Functor.category.{u2, max u3 u2, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2) (CategoryTheory.Functor.{u2, max u3 u2, u3, max (succ u3) (succ u2)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u3 u2}) (CategoryTheory.Functor.category.{u2, max u3 u2, u3, max (succ u3) (succ u2)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u3 u2})) (CategoryTheory.whiskeringRight.{u3, u2, u1, max u3 u2, max (succ u3) (succ u2), max u3 u2} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2 Type.{max u2 u3} CategoryTheory.types.{max u3 u2})) (CategoryTheory.forget.{u1, max u3 u2, max u3 u2} D _inst_2 _inst_5))) (CategoryTheory.Adjunction.unit.{max u3 u2, max u3 u2, max (max (max (succ u3) (succ u2)) u2) u3, max (max (max (max u3 u2) u1) u2) u3} (CategoryTheory.Functor.{u2, max u3 u2, u3, max (succ u3) (succ u2)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u3 u2}) (CategoryTheory.Functor.category.{u2, max u3 u2, u3, max (succ u3) (succ u2)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u3 u2}) (CategoryTheory.Functor.{u2, max u3 u2, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2) (CategoryTheory.Functor.category.{u2, max u3 u2, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2) (Prefunctor.obj.{max (succ (max (succ u3) (succ u2))) (succ (max u3 u2)), max (max (max (succ u3) (succ (max (succ u3) (succ u2)))) (succ u2)) (succ (max u3 u2)), max (max (max (succ u3) (succ u2)) u1) u3 u2, max (max (max (max u3 (succ u3) (succ u2)) u1) u2) u3 u2} (CategoryTheory.Functor.{max u3 u2, max u3 u2, max (succ u3) (succ u2), u1} Type.{max u2 u3} CategoryTheory.types.{max u3 u2} D _inst_2) (CategoryTheory.CategoryStruct.toQuiver.{max (max (succ u3) (succ u2)) u3 u2, max (max (max (succ u3) (succ u2)) u1) u3 u2} (CategoryTheory.Functor.{max u3 u2, max u3 u2, max (succ u3) (succ u2), u1} Type.{max u2 u3} CategoryTheory.types.{max u3 u2} D _inst_2) (CategoryTheory.Category.toCategoryStruct.{max (max (succ u3) (succ u2)) u3 u2, max (max (max (succ u3) (succ u2)) u1) u3 u2} (CategoryTheory.Functor.{max u3 u2, max u3 u2, max (succ u3) (succ u2), u1} Type.{max u2 u3} CategoryTheory.types.{max u3 u2} D _inst_2) (CategoryTheory.Functor.category.{max u3 u2, max u3 u2, max (succ u3) (succ u2), u1} Type.{max u2 u3} CategoryTheory.types.{max u3 u2} D _inst_2))) (CategoryTheory.Functor.{max u3 u2, max u3 u2, max (max (max (max (succ u3) (succ u2)) u3) u3 u2) u2, max (max (max u1 u3) u3 u2) u2} (CategoryTheory.Functor.{u2, max u3 u2, u3, max (succ u3) (succ u2)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u3 u2}) (CategoryTheory.Functor.category.{u2, max u3 u2, u3, max (succ u3) (succ u2)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u3 u2}) (CategoryTheory.Functor.{u2, max u3 u2, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2) (CategoryTheory.Functor.category.{u2, max u3 u2, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2)) (CategoryTheory.CategoryStruct.toQuiver.{max (max (max u3 (succ u3) (succ u2)) u2) u3 u2, max (max (max (max u3 (succ u3) (succ u2)) u1) u2) u3 u2} (CategoryTheory.Functor.{max u3 u2, max u3 u2, max (max (max (max (succ u3) (succ u2)) u3) u3 u2) u2, max (max (max u1 u3) u3 u2) u2} (CategoryTheory.Functor.{u2, max u3 u2, u3, max (succ u3) (succ u2)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u3 u2}) (CategoryTheory.Functor.category.{u2, max u3 u2, u3, max (succ u3) (succ u2)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u3 u2}) (CategoryTheory.Functor.{u2, max u3 u2, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2) (CategoryTheory.Functor.category.{u2, max u3 u2, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2)) (CategoryTheory.Category.toCategoryStruct.{max (max (max u3 (succ u3) (succ u2)) u2) u3 u2, max (max (max (max u3 (succ u3) (succ u2)) u1) u2) u3 u2} (CategoryTheory.Functor.{max u3 u2, max u3 u2, max (max (max (max (succ u3) (succ u2)) u3) u3 u2) u2, max (max (max u1 u3) u3 u2) u2} (CategoryTheory.Functor.{u2, max u3 u2, u3, max (succ u3) (succ u2)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u3 u2}) (CategoryTheory.Functor.category.{u2, max u3 u2, u3, max (succ u3) (succ u2)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u3 u2}) (CategoryTheory.Functor.{u2, max u3 u2, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2) (CategoryTheory.Functor.category.{u2, max u3 u2, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2)) (CategoryTheory.Functor.category.{max u3 u2, max u3 u2, max (max (max u3 (succ u3) (succ u2)) u2) u3 u2, max (max (max u3 u1) u2) u3 u2} (CategoryTheory.Functor.{u2, max u3 u2, u3, max (succ u3) (succ u2)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u3 u2}) (CategoryTheory.Functor.category.{u2, max u3 u2, u3, max (succ u3) (succ u2)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u3 u2}) (CategoryTheory.Functor.{u2, max u3 u2, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2) (CategoryTheory.Functor.category.{u2, max u3 u2, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2)))) (CategoryTheory.Functor.toPrefunctor.{max (max (succ u3) (succ u2)) u3 u2, max (max (max u3 (succ u3) (succ u2)) u2) u3 u2, max (max (max (succ u3) (succ u2)) u1) u3 u2, max (max (max (max u3 (succ u3) (succ u2)) u1) u2) u3 u2} (CategoryTheory.Functor.{max u3 u2, max u3 u2, max (succ u3) (succ u2), u1} Type.{max u2 u3} CategoryTheory.types.{max u3 u2} D _inst_2) (CategoryTheory.Functor.category.{max u3 u2, max u3 u2, max (succ u3) (succ u2), u1} Type.{max u2 u3} CategoryTheory.types.{max u3 u2} D _inst_2) (CategoryTheory.Functor.{max u3 u2, max u3 u2, max (max (max (max (succ u3) (succ u2)) u3) u3 u2) u2, max (max (max u1 u3) u3 u2) u2} (CategoryTheory.Functor.{u2, max u3 u2, u3, max (succ u3) (succ u2)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u3 u2}) (CategoryTheory.Functor.category.{u2, max u3 u2, u3, max (succ u3) (succ u2)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u3 u2}) (CategoryTheory.Functor.{u2, max u3 u2, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2) (CategoryTheory.Functor.category.{u2, max u3 u2, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2)) (CategoryTheory.Functor.category.{max u3 u2, max u3 u2, max (max (max u3 (succ u3) (succ u2)) u2) u3 u2, max (max (max u3 u1) u2) u3 u2} (CategoryTheory.Functor.{u2, max u3 u2, u3, max (succ u3) (succ u2)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u3 u2}) (CategoryTheory.Functor.category.{u2, max u3 u2, u3, max (succ u3) (succ u2)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u3 u2}) (CategoryTheory.Functor.{u2, max u3 u2, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2) (CategoryTheory.Functor.category.{u2, max u3 u2, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2)) (CategoryTheory.whiskeringRight.{u3, u2, max (succ u3) (succ u2), max u3 u2, u1, max u3 u2} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u3 u2} D _inst_2)) G) (Prefunctor.obj.{max (succ u1) (succ (max u3 u2)), max (max (max (succ u3) (succ u1)) (succ u2)) (succ (max u3 u2)), max (max (max (succ u3) (succ u2)) u1) u3 u2, max (max (max (max u3 (succ u3) (succ u2)) u1) u2) u3 u2} (CategoryTheory.Functor.{max u3 u2, max u3 u2, u1, max (succ u3) (succ u2)} D _inst_2 Type.{max u2 u3} CategoryTheory.types.{max u3 u2}) (CategoryTheory.CategoryStruct.toQuiver.{max u1 u3 u2, max (max (max (succ u3) (succ u2)) u1) u3 u2} (CategoryTheory.Functor.{max u3 u2, max u3 u2, u1, max (succ u3) (succ u2)} D _inst_2 Type.{max u2 u3} CategoryTheory.types.{max u3 u2}) (CategoryTheory.Category.toCategoryStruct.{max u1 u3 u2, max (max (max (succ u3) (succ u2)) u1) u3 u2} (CategoryTheory.Functor.{max u3 u2, max u3 u2, u1, max (succ u3) (succ u2)} D _inst_2 Type.{max u2 u3} CategoryTheory.types.{max u3 u2}) (CategoryTheory.Functor.category.{max u3 u2, max u3 u2, u1, max (succ u3) (succ u2)} D _inst_2 Type.{max u2 u3} CategoryTheory.types.{max u3 u2}))) (CategoryTheory.Functor.{max u3 u2, max u3 u2, max (max (max u1 u3) u3 u2) u2, max (max (max (max (succ u3) (succ u2)) u3) u3 u2) u2} (CategoryTheory.Functor.{u2, max u3 u2, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2) (CategoryTheory.Functor.category.{u2, max u3 u2, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2) (CategoryTheory.Functor.{u2, max u3 u2, u3, max (succ u3) (succ u2)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u3 u2}) (CategoryTheory.Functor.category.{u2, max u3 u2, u3, max (succ u3) (succ u2)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u3 u2})) (CategoryTheory.CategoryStruct.toQuiver.{max (max (max u3 u1) u2) u3 u2, max (max (max (max u3 (succ u3) (succ u2)) u1) u2) u3 u2} (CategoryTheory.Functor.{max u3 u2, max u3 u2, max (max (max u1 u3) u3 u2) u2, max (max (max (max (succ u3) (succ u2)) u3) u3 u2) u2} (CategoryTheory.Functor.{u2, max u3 u2, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2) (CategoryTheory.Functor.category.{u2, max u3 u2, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2) (CategoryTheory.Functor.{u2, max u3 u2, u3, max (succ u3) (succ u2)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u3 u2}) (CategoryTheory.Functor.category.{u2, max u3 u2, u3, max (succ u3) (succ u2)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u3 u2})) (CategoryTheory.Category.toCategoryStruct.{max (max (max u3 u1) u2) u3 u2, max (max (max (max u3 (succ u3) (succ u2)) u1) u2) u3 u2} (CategoryTheory.Functor.{max u3 u2, max u3 u2, max (max (max u1 u3) u3 u2) u2, max (max (max (max (succ u3) (succ u2)) u3) u3 u2) u2} (CategoryTheory.Functor.{u2, max u3 u2, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2) (CategoryTheory.Functor.category.{u2, max u3 u2, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2) (CategoryTheory.Functor.{u2, max u3 u2, u3, max (succ u3) (succ u2)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u3 u2}) (CategoryTheory.Functor.category.{u2, max u3 u2, u3, max (succ u3) (succ u2)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u3 u2})) (CategoryTheory.Functor.category.{max u3 u2, max u3 u2, max (max (max u3 u1) u2) u3 u2, max (max (max u3 (succ u3) (succ u2)) u2) u3 u2} (CategoryTheory.Functor.{u2, max u3 u2, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2) (CategoryTheory.Functor.category.{u2, max u3 u2, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2) (CategoryTheory.Functor.{u2, max u3 u2, u3, max (succ u3) (succ u2)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u3 u2}) (CategoryTheory.Functor.category.{u2, max u3 u2, u3, max (succ u3) (succ u2)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u3 u2})))) (CategoryTheory.Functor.toPrefunctor.{max u1 u3 u2, max (max (max u3 u1) u2) u3 u2, max (max (max (succ u3) (succ u2)) u1) u3 u2, max (max (max (max u3 (succ u3) (succ u2)) u1) u2) u3 u2} (CategoryTheory.Functor.{max u3 u2, max u3 u2, u1, max (succ u3) (succ u2)} D _inst_2 Type.{max u2 u3} CategoryTheory.types.{max u3 u2}) (CategoryTheory.Functor.category.{max u3 u2, max u3 u2, u1, max (succ u3) (succ u2)} D _inst_2 Type.{max u2 u3} CategoryTheory.types.{max u3 u2}) (CategoryTheory.Functor.{max u3 u2, max u3 u2, max (max (max u1 u3) u3 u2) u2, max (max (max (max (succ u3) (succ u2)) u3) u3 u2) u2} (CategoryTheory.Functor.{u2, max u3 u2, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2) (CategoryTheory.Functor.category.{u2, max u3 u2, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2) (CategoryTheory.Functor.{u2, max u3 u2, u3, max (succ u3) (succ u2)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u3 u2}) (CategoryTheory.Functor.category.{u2, max u3 u2, u3, max (succ u3) (succ u2)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u3 u2})) (CategoryTheory.Functor.category.{max u3 u2, max u3 u2, max (max (max u3 u1) u2) u3 u2, max (max (max u3 (succ u3) (succ u2)) u2) u3 u2} (CategoryTheory.Functor.{u2, max u3 u2, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2) (CategoryTheory.Functor.category.{u2, max u3 u2, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2) (CategoryTheory.Functor.{u2, max u3 u2, u3, max (succ u3) (succ u2)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u3 u2}) (CategoryTheory.Functor.category.{u2, max u3 u2, u3, max (succ u3) (succ u2)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u3 u2})) (CategoryTheory.whiskeringRight.{u3, u2, u1, max u3 u2, max (succ u3) (succ u2), max u3 u2} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2 Type.{max u2 u3} CategoryTheory.types.{max u3 u2})) (CategoryTheory.forget.{u1, max u3 u2, max u3 u2} D _inst_2 _inst_5)) (CategoryTheory.Adjunction.whiskerRight.{u3, max (succ u3) (succ u2), u1, u2, max u3 u2, max u3 u2} (Opposite.{succ u3} C) Type.{max u2 u3} D (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) CategoryTheory.types.{max u3 u2} _inst_2 G (CategoryTheory.forget.{u1, max u3 u2, max u3 u2} D _inst_2 _inst_5) adj)) (Prefunctor.obj.{max (succ u3) (succ (max u3 u2)), max (succ u3) (succ (max u3 u2)), succ (max u3 u2), succ (max u3 u2)} (CategoryTheory.SheafOfTypes.{max u3 u2, u2, u3} C _inst_1 J) (CategoryTheory.CategoryStruct.toQuiver.{max u3 u2, succ (max u3 u2)} (CategoryTheory.SheafOfTypes.{max u3 u2, u2, u3} C _inst_1 J) (CategoryTheory.Category.toCategoryStruct.{max u3 u2, succ (max u3 u2)} (CategoryTheory.SheafOfTypes.{max u3 u2, u2, u3} C _inst_1 J) (CategoryTheory.SheafOfTypes.instCategorySheafOfTypes.{u2, u3, max u3 u2} C _inst_1 J))) (CategoryTheory.Functor.{u2, max u3 u2, u3, succ (max u3 u2)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u3 u2} CategoryTheory.types.{max u3 u2}) (CategoryTheory.CategoryStruct.toQuiver.{max u3 u2, succ (max u3 u2)} (CategoryTheory.Functor.{u2, max u3 u2, u3, succ (max u3 u2)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u3 u2} CategoryTheory.types.{max u3 u2}) (CategoryTheory.Category.toCategoryStruct.{max u3 u2, succ (max u3 u2)} (CategoryTheory.Functor.{u2, max u3 u2, u3, succ (max u3 u2)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u3 u2} CategoryTheory.types.{max u3 u2}) (CategoryTheory.Functor.category.{u2, max u3 u2, u3, succ (max u3 u2)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u3 u2} CategoryTheory.types.{max u3 u2}))) (CategoryTheory.Functor.toPrefunctor.{max u3 u2, max u3 u2, succ (max u3 u2), succ (max u3 u2)} (CategoryTheory.SheafOfTypes.{max u3 u2, u2, u3} C _inst_1 J) (CategoryTheory.SheafOfTypes.instCategorySheafOfTypes.{u2, u3, max u3 u2} C _inst_1 J) (CategoryTheory.Functor.{u2, max u3 u2, u3, succ (max u3 u2)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u3 u2} CategoryTheory.types.{max u3 u2}) (CategoryTheory.Functor.category.{u2, max u3 u2, u3, succ (max u3 u2)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u3 u2} CategoryTheory.types.{max u3 u2}) (CategoryTheory.sheafOfTypesToPresheaf.{max u3 u2, u2, u3} C _inst_1 J)) Y)) (CategoryTheory.whiskerRight.{u3, u2, u1, max u3 u2, max (succ u3) (succ u2), max u3 u2} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2 Type.{max u3 u2} CategoryTheory.types.{max u3 u2} (Prefunctor.obj.{succ (max u3 u2), succ (max u3 u2), max (max (max (succ u3) (succ u2)) u2) u3, max (max (max (max u3 u2) u1) u2) u3} (CategoryTheory.Functor.{u2, max u3 u2, u3, max (succ u3) (succ u2)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u3 u2}) (CategoryTheory.CategoryStruct.toQuiver.{max u3 u2, max (max (max (succ u3) (succ u2)) u2) u3} (CategoryTheory.Functor.{u2, max u3 u2, u3, max (succ u3) (succ u2)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u3 u2}) (CategoryTheory.Category.toCategoryStruct.{max u3 u2, max (max (max (succ u3) (succ u2)) u2) u3} (CategoryTheory.Functor.{u2, max u3 u2, u3, max (succ u3) (succ u2)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u3 u2}) (CategoryTheory.Functor.category.{u2, max u3 u2, u3, max (succ u3) (succ u2)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u3 u2}))) (CategoryTheory.Functor.{u2, max u3 u2, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2) (CategoryTheory.CategoryStruct.toQuiver.{max u3 u2, max (max (max (max u3 u2) u1) u2) u3} (CategoryTheory.Functor.{u2, max u3 u2, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2) (CategoryTheory.Category.toCategoryStruct.{max u3 u2, max (max (max (max u3 u2) u1) u2) u3} (CategoryTheory.Functor.{u2, max u3 u2, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2) (CategoryTheory.Functor.category.{u2, max u3 u2, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2))) (CategoryTheory.Functor.toPrefunctor.{max u3 u2, max u3 u2, max (max (max (succ u3) (succ u2)) u2) u3, max (max (max (max u3 u2) u1) u2) u3} (CategoryTheory.Functor.{u2, max u3 u2, u3, max (succ u3) (succ u2)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u3 u2}) (CategoryTheory.Functor.category.{u2, max u3 u2, u3, max (succ u3) (succ u2)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u3 u2}) (CategoryTheory.Functor.{u2, max u3 u2, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2) (CategoryTheory.Functor.category.{u2, max u3 u2, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2) (Prefunctor.obj.{max (succ (max (succ u3) (succ u2))) (succ (max u3 u2)), max (max (max (succ u3) (succ (max (succ u3) (succ u2)))) (succ u2)) (succ (max u3 u2)), max (max (max (succ u3) (succ u2)) u1) u3 u2, max (max (max (max u3 (succ u3) (succ u2)) u1) u2) u3 u2} (CategoryTheory.Functor.{max u3 u2, max u3 u2, max (succ u3) (succ u2), u1} Type.{max u2 u3} CategoryTheory.types.{max u3 u2} D _inst_2) (CategoryTheory.CategoryStruct.toQuiver.{max (max (succ u3) (succ u2)) u3 u2, max (max (max (succ u3) (succ u2)) u1) u3 u2} (CategoryTheory.Functor.{max u3 u2, max u3 u2, max (succ u3) (succ u2), u1} Type.{max u2 u3} CategoryTheory.types.{max u3 u2} D _inst_2) (CategoryTheory.Category.toCategoryStruct.{max (max (succ u3) (succ u2)) u3 u2, max (max (max (succ u3) (succ u2)) u1) u3 u2} (CategoryTheory.Functor.{max u3 u2, max u3 u2, max (succ u3) (succ u2), u1} Type.{max u2 u3} CategoryTheory.types.{max u3 u2} D _inst_2) (CategoryTheory.Functor.category.{max u3 u2, max u3 u2, max (succ u3) (succ u2), u1} Type.{max u2 u3} CategoryTheory.types.{max u3 u2} D _inst_2))) (CategoryTheory.Functor.{max u3 u2, max u3 u2, max (max (max (max (succ u3) (succ u2)) u3) u3 u2) u2, max (max (max u1 u3) u3 u2) u2} (CategoryTheory.Functor.{u2, max u3 u2, u3, max (succ u3) (succ u2)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u3 u2}) (CategoryTheory.Functor.category.{u2, max u3 u2, u3, max (succ u3) (succ u2)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u3 u2}) (CategoryTheory.Functor.{u2, max u3 u2, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2) (CategoryTheory.Functor.category.{u2, max u3 u2, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2)) (CategoryTheory.CategoryStruct.toQuiver.{max (max (max u3 (succ u3) (succ u2)) u2) u3 u2, max (max (max (max u3 (succ u3) (succ u2)) u1) u2) u3 u2} (CategoryTheory.Functor.{max u3 u2, max u3 u2, max (max (max (max (succ u3) (succ u2)) u3) u3 u2) u2, max (max (max u1 u3) u3 u2) u2} (CategoryTheory.Functor.{u2, max u3 u2, u3, max (succ u3) (succ u2)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u3 u2}) (CategoryTheory.Functor.category.{u2, max u3 u2, u3, max (succ u3) (succ u2)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u3 u2}) (CategoryTheory.Functor.{u2, max u3 u2, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2) (CategoryTheory.Functor.category.{u2, max u3 u2, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2)) (CategoryTheory.Category.toCategoryStruct.{max (max (max u3 (succ u3) (succ u2)) u2) u3 u2, max (max (max (max u3 (succ u3) (succ u2)) u1) u2) u3 u2} (CategoryTheory.Functor.{max u3 u2, max u3 u2, max (max (max (max (succ u3) (succ u2)) u3) u3 u2) u2, max (max (max u1 u3) u3 u2) u2} (CategoryTheory.Functor.{u2, max u3 u2, u3, max (succ u3) (succ u2)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u3 u2}) (CategoryTheory.Functor.category.{u2, max u3 u2, u3, max (succ u3) (succ u2)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u3 u2}) (CategoryTheory.Functor.{u2, max u3 u2, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2) (CategoryTheory.Functor.category.{u2, max u3 u2, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2)) (CategoryTheory.Functor.category.{max u3 u2, max u3 u2, max (max (max u3 (succ u3) (succ u2)) u2) u3 u2, max (max (max u3 u1) u2) u3 u2} (CategoryTheory.Functor.{u2, max u3 u2, u3, max (succ u3) (succ u2)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u3 u2}) (CategoryTheory.Functor.category.{u2, max u3 u2, u3, max (succ u3) (succ u2)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u3 u2}) (CategoryTheory.Functor.{u2, max u3 u2, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2) (CategoryTheory.Functor.category.{u2, max u3 u2, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2)))) (CategoryTheory.Functor.toPrefunctor.{max (max (succ u3) (succ u2)) u3 u2, max (max (max u3 (succ u3) (succ u2)) u2) u3 u2, max (max (max (succ u3) (succ u2)) u1) u3 u2, max (max (max (max u3 (succ u3) (succ u2)) u1) u2) u3 u2} (CategoryTheory.Functor.{max u3 u2, max u3 u2, max (succ u3) (succ u2), u1} Type.{max u2 u3} CategoryTheory.types.{max u3 u2} D _inst_2) (CategoryTheory.Functor.category.{max u3 u2, max u3 u2, max (succ u3) (succ u2), u1} Type.{max u2 u3} CategoryTheory.types.{max u3 u2} D _inst_2) (CategoryTheory.Functor.{max u3 u2, max u3 u2, max (max (max (max (succ u3) (succ u2)) u3) u3 u2) u2, max (max (max u1 u3) u3 u2) u2} (CategoryTheory.Functor.{u2, max u3 u2, u3, max (succ u3) (succ u2)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u3 u2}) (CategoryTheory.Functor.category.{u2, max u3 u2, u3, max (succ u3) (succ u2)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u3 u2}) (CategoryTheory.Functor.{u2, max u3 u2, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2) (CategoryTheory.Functor.category.{u2, max u3 u2, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2)) (CategoryTheory.Functor.category.{max u3 u2, max u3 u2, max (max (max u3 (succ u3) (succ u2)) u2) u3 u2, max (max (max u3 u1) u2) u3 u2} (CategoryTheory.Functor.{u2, max u3 u2, u3, max (succ u3) (succ u2)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u3 u2}) (CategoryTheory.Functor.category.{u2, max u3 u2, u3, max (succ u3) (succ u2)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u3 u2}) (CategoryTheory.Functor.{u2, max u3 u2, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2) (CategoryTheory.Functor.category.{u2, max u3 u2, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2)) (CategoryTheory.whiskeringRight.{u3, u2, max (succ u3) (succ u2), max u3 u2, u1, max u3 u2} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u3 u2} D _inst_2)) G)) (Prefunctor.obj.{max (succ u3) (succ (max u3 u2)), max (succ u3) (succ (max u3 u2)), succ (max u3 u2), succ (max u3 u2)} (CategoryTheory.SheafOfTypes.{max u3 u2, u2, u3} C _inst_1 J) (CategoryTheory.CategoryStruct.toQuiver.{max u3 u2, succ (max u3 u2)} (CategoryTheory.SheafOfTypes.{max u3 u2, u2, u3} C _inst_1 J) (CategoryTheory.Category.toCategoryStruct.{max u3 u2, succ (max u3 u2)} (CategoryTheory.SheafOfTypes.{max u3 u2, u2, u3} C _inst_1 J) (CategoryTheory.SheafOfTypes.instCategorySheafOfTypes.{u2, u3, max u3 u2} C _inst_1 J))) (CategoryTheory.Functor.{u2, max u3 u2, u3, succ (max u3 u2)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u3 u2} CategoryTheory.types.{max u3 u2}) (CategoryTheory.CategoryStruct.toQuiver.{max u3 u2, succ (max u3 u2)} (CategoryTheory.Functor.{u2, max u3 u2, u3, succ (max u3 u2)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u3 u2} CategoryTheory.types.{max u3 u2}) (CategoryTheory.Category.toCategoryStruct.{max u3 u2, succ (max u3 u2)} (CategoryTheory.Functor.{u2, max u3 u2, u3, succ (max u3 u2)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u3 u2} CategoryTheory.types.{max u3 u2}) (CategoryTheory.Functor.category.{u2, max u3 u2, u3, succ (max u3 u2)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u3 u2} CategoryTheory.types.{max u3 u2}))) (CategoryTheory.Functor.toPrefunctor.{max u3 u2, max u3 u2, succ (max u3 u2), succ (max u3 u2)} (CategoryTheory.SheafOfTypes.{max u3 u2, u2, u3} C _inst_1 J) (CategoryTheory.SheafOfTypes.instCategorySheafOfTypes.{u2, u3, max u3 u2} C _inst_1 J) (CategoryTheory.Functor.{u2, max u3 u2, u3, succ (max u3 u2)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u3 u2} CategoryTheory.types.{max u3 u2}) (CategoryTheory.Functor.category.{u2, max u3 u2, u3, succ (max u3 u2)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u3 u2} CategoryTheory.types.{max u3 u2}) (CategoryTheory.sheafOfTypesToPresheaf.{max u3 u2, u2, u3} C _inst_1 J)) Y)) (CategoryTheory.GrothendieckTopology.sheafify.{u1, u2, u3} C _inst_1 J D _inst_2 (fun (P : CategoryTheory.Functor.{u2, max u3 u2, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2) (X : C) (S : CategoryTheory.GrothendieckTopology.Cover.{u2, u3} C _inst_1 J X) => _inst_7 P X S) (fun (X : C) => _inst_8 X) (Prefunctor.obj.{succ (max u3 u2), succ (max u3 u2), max (max (max (succ u3) (succ u2)) u2) u3, max (max (max (max u3 u2) u1) u2) u3} (CategoryTheory.Functor.{u2, max u3 u2, u3, max (succ u3) (succ u2)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u3 u2}) (CategoryTheory.CategoryStruct.toQuiver.{max u3 u2, max (max (max (succ u3) (succ u2)) u2) u3} (CategoryTheory.Functor.{u2, max u3 u2, u3, max (succ u3) (succ u2)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u3 u2}) (CategoryTheory.Category.toCategoryStruct.{max u3 u2, max (max (max (succ u3) (succ u2)) u2) u3} (CategoryTheory.Functor.{u2, max u3 u2, u3, max (succ u3) (succ u2)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u3 u2}) (CategoryTheory.Functor.category.{u2, max u3 u2, u3, max (succ u3) (succ u2)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u3 u2}))) (CategoryTheory.Functor.{u2, max u3 u2, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2) (CategoryTheory.CategoryStruct.toQuiver.{max u3 u2, max (max (max (max u3 u2) u1) u2) u3} (CategoryTheory.Functor.{u2, max u3 u2, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2) (CategoryTheory.Category.toCategoryStruct.{max u3 u2, max (max (max (max u3 u2) u1) u2) u3} (CategoryTheory.Functor.{u2, max u3 u2, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2) (CategoryTheory.Functor.category.{u2, max u3 u2, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2))) (CategoryTheory.Functor.toPrefunctor.{max u3 u2, max u3 u2, max (max (max (succ u3) (succ u2)) u2) u3, max (max (max (max u3 u2) u1) u2) u3} (CategoryTheory.Functor.{u2, max u3 u2, u3, max (succ u3) (succ u2)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u3 u2}) (CategoryTheory.Functor.category.{u2, max u3 u2, u3, max (succ u3) (succ u2)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u3 u2}) (CategoryTheory.Functor.{u2, max u3 u2, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2) (CategoryTheory.Functor.category.{u2, max u3 u2, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2) (Prefunctor.obj.{max (succ (max (succ u3) (succ u2))) (succ (max u3 u2)), max (max (max (succ u3) (succ (max (succ u3) (succ u2)))) (succ u2)) (succ (max u3 u2)), max (max (max (succ u3) (succ u2)) u1) u3 u2, max (max (max (max u3 (succ u3) (succ u2)) u1) u2) u3 u2} (CategoryTheory.Functor.{max u3 u2, max u3 u2, max (succ u3) (succ u2), u1} Type.{max u2 u3} CategoryTheory.types.{max u3 u2} D _inst_2) (CategoryTheory.CategoryStruct.toQuiver.{max (max (succ u3) (succ u2)) u3 u2, max (max (max (succ u3) (succ u2)) u1) u3 u2} (CategoryTheory.Functor.{max u3 u2, max u3 u2, max (succ u3) (succ u2), u1} Type.{max u2 u3} CategoryTheory.types.{max u3 u2} D _inst_2) (CategoryTheory.Category.toCategoryStruct.{max (max (succ u3) (succ u2)) u3 u2, max (max (max (succ u3) (succ u2)) u1) u3 u2} (CategoryTheory.Functor.{max u3 u2, max u3 u2, max (succ u3) (succ u2), u1} Type.{max u2 u3} CategoryTheory.types.{max u3 u2} D _inst_2) (CategoryTheory.Functor.category.{max u3 u2, max u3 u2, max (succ u3) (succ u2), u1} Type.{max u2 u3} CategoryTheory.types.{max u3 u2} D _inst_2))) (CategoryTheory.Functor.{max u3 u2, max u3 u2, max (max (max (max (succ u3) (succ u2)) u3) u3 u2) u2, max (max (max u1 u3) u3 u2) u2} (CategoryTheory.Functor.{u2, max u3 u2, u3, max (succ u3) (succ u2)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u3 u2}) (CategoryTheory.Functor.category.{u2, max u3 u2, u3, max (succ u3) (succ u2)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u3 u2}) (CategoryTheory.Functor.{u2, max u3 u2, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2) (CategoryTheory.Functor.category.{u2, max u3 u2, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2)) (CategoryTheory.CategoryStruct.toQuiver.{max (max (max u3 (succ u3) (succ u2)) u2) u3 u2, max (max (max (max u3 (succ u3) (succ u2)) u1) u2) u3 u2} (CategoryTheory.Functor.{max u3 u2, max u3 u2, max (max (max (max (succ u3) (succ u2)) u3) u3 u2) u2, max (max (max u1 u3) u3 u2) u2} (CategoryTheory.Functor.{u2, max u3 u2, u3, max (succ u3) (succ u2)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u3 u2}) (CategoryTheory.Functor.category.{u2, max u3 u2, u3, max (succ u3) (succ u2)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u3 u2}) (CategoryTheory.Functor.{u2, max u3 u2, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2) (CategoryTheory.Functor.category.{u2, max u3 u2, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2)) (CategoryTheory.Category.toCategoryStruct.{max (max (max u3 (succ u3) (succ u2)) u2) u3 u2, max (max (max (max u3 (succ u3) (succ u2)) u1) u2) u3 u2} (CategoryTheory.Functor.{max u3 u2, max u3 u2, max (max (max (max (succ u3) (succ u2)) u3) u3 u2) u2, max (max (max u1 u3) u3 u2) u2} (CategoryTheory.Functor.{u2, max u3 u2, u3, max (succ u3) (succ u2)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u3 u2}) (CategoryTheory.Functor.category.{u2, max u3 u2, u3, max (succ u3) (succ u2)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u3 u2}) (CategoryTheory.Functor.{u2, max u3 u2, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2) (CategoryTheory.Functor.category.{u2, max u3 u2, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2)) (CategoryTheory.Functor.category.{max u3 u2, max u3 u2, max (max (max u3 (succ u3) (succ u2)) u2) u3 u2, max (max (max u3 u1) u2) u3 u2} (CategoryTheory.Functor.{u2, max u3 u2, u3, max (succ u3) (succ u2)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u3 u2}) (CategoryTheory.Functor.category.{u2, max u3 u2, u3, max (succ u3) (succ u2)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u3 u2}) (CategoryTheory.Functor.{u2, max u3 u2, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2) (CategoryTheory.Functor.category.{u2, max u3 u2, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2)))) (CategoryTheory.Functor.toPrefunctor.{max (max (succ u3) (succ u2)) u3 u2, max (max (max u3 (succ u3) (succ u2)) u2) u3 u2, max (max (max (succ u3) (succ u2)) u1) u3 u2, max (max (max (max u3 (succ u3) (succ u2)) u1) u2) u3 u2} (CategoryTheory.Functor.{max u3 u2, max u3 u2, max (succ u3) (succ u2), u1} Type.{max u2 u3} CategoryTheory.types.{max u3 u2} D _inst_2) (CategoryTheory.Functor.category.{max u3 u2, max u3 u2, max (succ u3) (succ u2), u1} Type.{max u2 u3} CategoryTheory.types.{max u3 u2} D _inst_2) (CategoryTheory.Functor.{max u3 u2, max u3 u2, max (max (max (max (succ u3) (succ u2)) u3) u3 u2) u2, max (max (max u1 u3) u3 u2) u2} (CategoryTheory.Functor.{u2, max u3 u2, u3, max (succ u3) (succ u2)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u3 u2}) (CategoryTheory.Functor.category.{u2, max u3 u2, u3, max (succ u3) (succ u2)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u3 u2}) (CategoryTheory.Functor.{u2, max u3 u2, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2) (CategoryTheory.Functor.category.{u2, max u3 u2, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2)) (CategoryTheory.Functor.category.{max u3 u2, max u3 u2, max (max (max u3 (succ u3) (succ u2)) u2) u3 u2, max (max (max u3 u1) u2) u3 u2} (CategoryTheory.Functor.{u2, max u3 u2, u3, max (succ u3) (succ u2)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u3 u2}) (CategoryTheory.Functor.category.{u2, max u3 u2, u3, max (succ u3) (succ u2)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u3 u2}) (CategoryTheory.Functor.{u2, max u3 u2, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2) (CategoryTheory.Functor.category.{u2, max u3 u2, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2)) (CategoryTheory.whiskeringRight.{u3, u2, max (succ u3) (succ u2), max u3 u2, u1, max u3 u2} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u3 u2} D _inst_2)) G)) (Prefunctor.obj.{max (succ u3) (succ (max u3 u2)), max (succ u3) (succ (max u3 u2)), succ (max u3 u2), succ (max u3 u2)} (CategoryTheory.SheafOfTypes.{max u3 u2, u2, u3} C _inst_1 J) (CategoryTheory.CategoryStruct.toQuiver.{max u3 u2, succ (max u3 u2)} (CategoryTheory.SheafOfTypes.{max u3 u2, u2, u3} C _inst_1 J) (CategoryTheory.Category.toCategoryStruct.{max u3 u2, succ (max u3 u2)} (CategoryTheory.SheafOfTypes.{max u3 u2, u2, u3} C _inst_1 J) (CategoryTheory.SheafOfTypes.instCategorySheafOfTypes.{u2, u3, max u3 u2} C _inst_1 J))) (CategoryTheory.Functor.{u2, max u3 u2, u3, succ (max u3 u2)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u3 u2} CategoryTheory.types.{max u3 u2}) (CategoryTheory.CategoryStruct.toQuiver.{max u3 u2, succ (max u3 u2)} (CategoryTheory.Functor.{u2, max u3 u2, u3, succ (max u3 u2)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u3 u2} CategoryTheory.types.{max u3 u2}) (CategoryTheory.Category.toCategoryStruct.{max u3 u2, succ (max u3 u2)} (CategoryTheory.Functor.{u2, max u3 u2, u3, succ (max u3 u2)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u3 u2} CategoryTheory.types.{max u3 u2}) (CategoryTheory.Functor.category.{u2, max u3 u2, u3, succ (max u3 u2)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u3 u2} CategoryTheory.types.{max u3 u2}))) (CategoryTheory.Functor.toPrefunctor.{max u3 u2, max u3 u2, succ (max u3 u2), succ (max u3 u2)} (CategoryTheory.SheafOfTypes.{max u3 u2, u2, u3} C _inst_1 J) (CategoryTheory.SheafOfTypes.instCategorySheafOfTypes.{u2, u3, max u3 u2} C _inst_1 J) (CategoryTheory.Functor.{u2, max u3 u2, u3, succ (max u3 u2)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u3 u2} CategoryTheory.types.{max u3 u2}) (CategoryTheory.Functor.category.{u2, max u3 u2, u3, succ (max u3 u2)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u3 u2} CategoryTheory.types.{max u3 u2}) (CategoryTheory.sheafOfTypesToPresheaf.{max u3 u2, u2, u3} C _inst_1 J)) Y))) (CategoryTheory.GrothendieckTopology.toSheafify.{u1, u2, u3} C _inst_1 J D _inst_2 (fun (P : CategoryTheory.Functor.{u2, max u3 u2, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2) (X : C) (S : CategoryTheory.GrothendieckTopology.Cover.{u2, u3} C _inst_1 J X) => _inst_7 P X S) (fun (X : C) => _inst_8 X) (Prefunctor.obj.{succ (max u3 u2), succ (max u3 u2), max (max (max (succ u3) (succ u2)) u2) u3, max (max (max (max u3 u2) u1) u2) u3} (CategoryTheory.Functor.{u2, max u3 u2, u3, max (succ u3) (succ u2)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u3 u2}) (CategoryTheory.CategoryStruct.toQuiver.{max u3 u2, max (max (max (succ u3) (succ u2)) u2) u3} (CategoryTheory.Functor.{u2, max u3 u2, u3, max (succ u3) (succ u2)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u3 u2}) (CategoryTheory.Category.toCategoryStruct.{max u3 u2, max (max (max (succ u3) (succ u2)) u2) u3} (CategoryTheory.Functor.{u2, max u3 u2, u3, max (succ u3) (succ u2)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u3 u2}) (CategoryTheory.Functor.category.{u2, max u3 u2, u3, max (succ u3) (succ u2)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u3 u2}))) (CategoryTheory.Functor.{u2, max u3 u2, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2) (CategoryTheory.CategoryStruct.toQuiver.{max u3 u2, max (max (max (max u3 u2) u1) u2) u3} (CategoryTheory.Functor.{u2, max u3 u2, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2) (CategoryTheory.Category.toCategoryStruct.{max u3 u2, max (max (max (max u3 u2) u1) u2) u3} (CategoryTheory.Functor.{u2, max u3 u2, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2) (CategoryTheory.Functor.category.{u2, max u3 u2, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2))) (CategoryTheory.Functor.toPrefunctor.{max u3 u2, max u3 u2, max (max (max (succ u3) (succ u2)) u2) u3, max (max (max (max u3 u2) u1) u2) u3} (CategoryTheory.Functor.{u2, max u3 u2, u3, max (succ u3) (succ u2)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u3 u2}) (CategoryTheory.Functor.category.{u2, max u3 u2, u3, max (succ u3) (succ u2)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u3 u2}) (CategoryTheory.Functor.{u2, max u3 u2, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2) (CategoryTheory.Functor.category.{u2, max u3 u2, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2) (Prefunctor.obj.{max (succ (max (succ u3) (succ u2))) (succ (max u3 u2)), max (max (max (succ u3) (succ (max (succ u3) (succ u2)))) (succ u2)) (succ (max u3 u2)), max (max (max (succ u3) (succ u2)) u1) u3 u2, max (max (max (max u3 (succ u3) (succ u2)) u1) u2) u3 u2} (CategoryTheory.Functor.{max u3 u2, max u3 u2, max (succ u3) (succ u2), u1} Type.{max u2 u3} CategoryTheory.types.{max u3 u2} D _inst_2) (CategoryTheory.CategoryStruct.toQuiver.{max (max (succ u3) (succ u2)) u3 u2, max (max (max (succ u3) (succ u2)) u1) u3 u2} (CategoryTheory.Functor.{max u3 u2, max u3 u2, max (succ u3) (succ u2), u1} Type.{max u2 u3} CategoryTheory.types.{max u3 u2} D _inst_2) (CategoryTheory.Category.toCategoryStruct.{max (max (succ u3) (succ u2)) u3 u2, max (max (max (succ u3) (succ u2)) u1) u3 u2} (CategoryTheory.Functor.{max u3 u2, max u3 u2, max (succ u3) (succ u2), u1} Type.{max u2 u3} CategoryTheory.types.{max u3 u2} D _inst_2) (CategoryTheory.Functor.category.{max u3 u2, max u3 u2, max (succ u3) (succ u2), u1} Type.{max u2 u3} CategoryTheory.types.{max u3 u2} D _inst_2))) (CategoryTheory.Functor.{max u3 u2, max u3 u2, max (max (max (max (succ u3) (succ u2)) u3) u3 u2) u2, max (max (max u1 u3) u3 u2) u2} (CategoryTheory.Functor.{u2, max u3 u2, u3, max (succ u3) (succ u2)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u3 u2}) (CategoryTheory.Functor.category.{u2, max u3 u2, u3, max (succ u3) (succ u2)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u3 u2}) (CategoryTheory.Functor.{u2, max u3 u2, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2) (CategoryTheory.Functor.category.{u2, max u3 u2, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2)) (CategoryTheory.CategoryStruct.toQuiver.{max (max (max u3 (succ u3) (succ u2)) u2) u3 u2, max (max (max (max u3 (succ u3) (succ u2)) u1) u2) u3 u2} (CategoryTheory.Functor.{max u3 u2, max u3 u2, max (max (max (max (succ u3) (succ u2)) u3) u3 u2) u2, max (max (max u1 u3) u3 u2) u2} (CategoryTheory.Functor.{u2, max u3 u2, u3, max (succ u3) (succ u2)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u3 u2}) (CategoryTheory.Functor.category.{u2, max u3 u2, u3, max (succ u3) (succ u2)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u3 u2}) (CategoryTheory.Functor.{u2, max u3 u2, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2) (CategoryTheory.Functor.category.{u2, max u3 u2, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2)) (CategoryTheory.Category.toCategoryStruct.{max (max (max u3 (succ u3) (succ u2)) u2) u3 u2, max (max (max (max u3 (succ u3) (succ u2)) u1) u2) u3 u2} (CategoryTheory.Functor.{max u3 u2, max u3 u2, max (max (max (max (succ u3) (succ u2)) u3) u3 u2) u2, max (max (max u1 u3) u3 u2) u2} (CategoryTheory.Functor.{u2, max u3 u2, u3, max (succ u3) (succ u2)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u3 u2}) (CategoryTheory.Functor.category.{u2, max u3 u2, u3, max (succ u3) (succ u2)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u3 u2}) (CategoryTheory.Functor.{u2, max u3 u2, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2) (CategoryTheory.Functor.category.{u2, max u3 u2, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2)) (CategoryTheory.Functor.category.{max u3 u2, max u3 u2, max (max (max u3 (succ u3) (succ u2)) u2) u3 u2, max (max (max u3 u1) u2) u3 u2} (CategoryTheory.Functor.{u2, max u3 u2, u3, max (succ u3) (succ u2)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u3 u2}) (CategoryTheory.Functor.category.{u2, max u3 u2, u3, max (succ u3) (succ u2)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u3 u2}) (CategoryTheory.Functor.{u2, max u3 u2, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2) (CategoryTheory.Functor.category.{u2, max u3 u2, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2)))) (CategoryTheory.Functor.toPrefunctor.{max (max (succ u3) (succ u2)) u3 u2, max (max (max u3 (succ u3) (succ u2)) u2) u3 u2, max (max (max (succ u3) (succ u2)) u1) u3 u2, max (max (max (max u3 (succ u3) (succ u2)) u1) u2) u3 u2} (CategoryTheory.Functor.{max u3 u2, max u3 u2, max (succ u3) (succ u2), u1} Type.{max u2 u3} CategoryTheory.types.{max u3 u2} D _inst_2) (CategoryTheory.Functor.category.{max u3 u2, max u3 u2, max (succ u3) (succ u2), u1} Type.{max u2 u3} CategoryTheory.types.{max u3 u2} D _inst_2) (CategoryTheory.Functor.{max u3 u2, max u3 u2, max (max (max (max (succ u3) (succ u2)) u3) u3 u2) u2, max (max (max u1 u3) u3 u2) u2} (CategoryTheory.Functor.{u2, max u3 u2, u3, max (succ u3) (succ u2)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u3 u2}) (CategoryTheory.Functor.category.{u2, max u3 u2, u3, max (succ u3) (succ u2)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u3 u2}) (CategoryTheory.Functor.{u2, max u3 u2, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2) (CategoryTheory.Functor.category.{u2, max u3 u2, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2)) (CategoryTheory.Functor.category.{max u3 u2, max u3 u2, max (max (max u3 (succ u3) (succ u2)) u2) u3 u2, max (max (max u3 u1) u2) u3 u2} (CategoryTheory.Functor.{u2, max u3 u2, u3, max (succ u3) (succ u2)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u3 u2}) (CategoryTheory.Functor.category.{u2, max u3 u2, u3, max (succ u3) (succ u2)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u3 u2}) (CategoryTheory.Functor.{u2, max u3 u2, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2) (CategoryTheory.Functor.category.{u2, max u3 u2, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2)) (CategoryTheory.whiskeringRight.{u3, u2, max (succ u3) (succ u2), max u3 u2, u1, max u3 u2} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u3 u2} D _inst_2)) G)) (Prefunctor.obj.{max (succ u3) (succ (max u3 u2)), max (succ u3) (succ (max u3 u2)), succ (max u3 u2), succ (max u3 u2)} (CategoryTheory.SheafOfTypes.{max u3 u2, u2, u3} C _inst_1 J) (CategoryTheory.CategoryStruct.toQuiver.{max u3 u2, succ (max u3 u2)} (CategoryTheory.SheafOfTypes.{max u3 u2, u2, u3} C _inst_1 J) (CategoryTheory.Category.toCategoryStruct.{max u3 u2, succ (max u3 u2)} (CategoryTheory.SheafOfTypes.{max u3 u2, u2, u3} C _inst_1 J) (CategoryTheory.SheafOfTypes.instCategorySheafOfTypes.{u2, u3, max u3 u2} C _inst_1 J))) (CategoryTheory.Functor.{u2, max u3 u2, u3, succ (max u3 u2)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u3 u2} CategoryTheory.types.{max u3 u2}) (CategoryTheory.CategoryStruct.toQuiver.{max u3 u2, succ (max u3 u2)} (CategoryTheory.Functor.{u2, max u3 u2, u3, succ (max u3 u2)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u3 u2} CategoryTheory.types.{max u3 u2}) (CategoryTheory.Category.toCategoryStruct.{max u3 u2, succ (max u3 u2)} (CategoryTheory.Functor.{u2, max u3 u2, u3, succ (max u3 u2)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u3 u2} CategoryTheory.types.{max u3 u2}) (CategoryTheory.Functor.category.{u2, max u3 u2, u3, succ (max u3 u2)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u3 u2} CategoryTheory.types.{max u3 u2}))) (CategoryTheory.Functor.toPrefunctor.{max u3 u2, max u3 u2, succ (max u3 u2), succ (max u3 u2)} (CategoryTheory.SheafOfTypes.{max u3 u2, u2, u3} C _inst_1 J) (CategoryTheory.SheafOfTypes.instCategorySheafOfTypes.{u2, u3, max u3 u2} C _inst_1 J) (CategoryTheory.Functor.{u2, max u3 u2, u3, succ (max u3 u2)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u3 u2} CategoryTheory.types.{max u3 u2}) (CategoryTheory.Functor.category.{u2, max u3 u2, u3, succ (max u3 u2)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u3 u2} CategoryTheory.types.{max u3 u2}) (CategoryTheory.sheafOfTypesToPresheaf.{max u3 u2, u2, u3} C _inst_1 J)) Y))) (CategoryTheory.forget.{u1, max u3 u2, max u3 u2} D _inst_2 _inst_5)))
+<too large>
 Case conversion may be inaccurate. Consider using '#align category_theory.Sheaf.adjunction_to_types_unit_app_val CategoryTheory.Sheaf.adjunctionToTypes_unit_app_valₓ'. -/
 @[simp]
 theorem adjunctionToTypes_unit_app_val {G : Type max v u ⥤ D} (adj : G ⊣ forget D)
@@ -175,10 +166,7 @@ theorem adjunctionToTypes_unit_app_val {G : Type max v u ⥤ D} (adj : G ⊣ for
 #align category_theory.Sheaf.adjunction_to_types_unit_app_val CategoryTheory.Sheaf.adjunctionToTypes_unit_app_val
 
 /- warning: category_theory.Sheaf.adjunction_to_types_counit_app_val -> CategoryTheory.Sheaf.adjunctionToTypes_counit_app_val is a dubious translation:
-lean 3 declaration is
-  forall {C : Type.{u3}} [_inst_1 : CategoryTheory.Category.{u2, u3} C] (J : CategoryTheory.GrothendieckTopology.{u2, u3} C _inst_1) {D : Type.{u1}} [_inst_2 : CategoryTheory.Category.{max u2 u3, u1} D] [_inst_5 : CategoryTheory.ConcreteCategory.{max u2 u3, max u2 u3, u1} D _inst_2] [_inst_6 : CategoryTheory.Limits.PreservesLimits.{max u2 u3, max u2 u3, u1, succ (max u2 u3)} D _inst_2 Type.{max u2 u3} CategoryTheory.types.{max u2 u3} (CategoryTheory.forget.{u1, max u2 u3, max u2 u3} D _inst_2 _inst_5)] [_inst_7 : forall (P : CategoryTheory.Functor.{u2, max u2 u3, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2) (X : C) (S : CategoryTheory.GrothendieckTopology.Cover.{u2, u3} C _inst_1 J X), CategoryTheory.Limits.HasMultiequalizer.{max u2 u3, u1, max u3 u2} D _inst_2 (CategoryTheory.GrothendieckTopology.Cover.index.{u1, u2, u3} C _inst_1 X J D _inst_2 S P)] [_inst_8 : forall (X : C), CategoryTheory.Limits.HasColimitsOfShape.{max u3 u2, max u3 u2, max u2 u3, u1} (Opposite.{succ (max u3 u2)} (CategoryTheory.GrothendieckTopology.Cover.{u2, u3} C _inst_1 J X)) (CategoryTheory.Category.opposite.{max u3 u2, max u3 u2} (CategoryTheory.GrothendieckTopology.Cover.{u2, u3} C _inst_1 J X) (Preorder.smallCategory.{max u3 u2} (CategoryTheory.GrothendieckTopology.Cover.{u2, u3} C _inst_1 J X) (CategoryTheory.GrothendieckTopology.Cover.preorder.{u2, u3} C _inst_1 J X))) D _inst_2] [_inst_9 : forall (X : C), CategoryTheory.Limits.PreservesColimitsOfShape.{max u3 u2, max u3 u2, max u2 u3, max u2 u3, u1, succ (max u2 u3)} D _inst_2 Type.{max u2 u3} CategoryTheory.types.{max u2 u3} (Opposite.{succ (max u3 u2)} (CategoryTheory.GrothendieckTopology.Cover.{u2, u3} C _inst_1 J X)) (CategoryTheory.Category.opposite.{max u3 u2, max u3 u2} (CategoryTheory.GrothendieckTopology.Cover.{u2, u3} C _inst_1 J X) (Preorder.smallCategory.{max u3 u2} (CategoryTheory.GrothendieckTopology.Cover.{u2, u3} C _inst_1 J X) (CategoryTheory.GrothendieckTopology.Cover.preorder.{u2, u3} C _inst_1 J X))) (CategoryTheory.forget.{u1, max u2 u3, max u2 u3} D _inst_2 _inst_5)] [_inst_10 : CategoryTheory.ReflectsIsomorphisms.{max u2 u3, max u2 u3, u1, succ (max u2 u3)} D _inst_2 Type.{max u2 u3} CategoryTheory.types.{max u2 u3} (CategoryTheory.forget.{u1, max u2 u3, max u2 u3} D _inst_2 _inst_5)] {G : CategoryTheory.Functor.{max u2 u3, max u2 u3, succ (max u2 u3), u1} Type.{max u2 u3} CategoryTheory.types.{max u2 u3} D _inst_2} (adj : CategoryTheory.Adjunction.{max u2 u3, max u2 u3, succ (max u2 u3), u1} Type.{max u2 u3} CategoryTheory.types.{max u2 u3} D _inst_2 G (CategoryTheory.forget.{u1, max u2 u3, max u2 u3} D _inst_2 _inst_5)) (X : CategoryTheory.Sheaf.{u2, max u2 u3, u3, u1} C _inst_1 J D _inst_2), Eq.{succ (max u2 u3)} (Quiver.Hom.{succ (max u2 u3), max u2 (max u2 u3) u3 u1} (CategoryTheory.Functor.{u2, max u2 u3, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u3, max u2 (max u2 u3) u3 u1} (CategoryTheory.Functor.{u2, max u2 u3, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2) (CategoryTheory.Category.toCategoryStruct.{max u2 u3, max u2 (max u2 u3) u3 u1} (CategoryTheory.Functor.{u2, max u2 u3, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2) (CategoryTheory.Functor.category.{u2, max u2 u3, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2))) (CategoryTheory.Sheaf.val.{u2, max u2 u3, u3, u1} C _inst_1 J D _inst_2 (CategoryTheory.Functor.obj.{max u2 u3, max u2 u3, max u3 u1 u2 u3, max u3 u1 u2 u3} (CategoryTheory.Sheaf.{u2, max u2 u3, u3, u1} C _inst_1 J D _inst_2) (CategoryTheory.Sheaf.CategoryTheory.category.{u2, max u2 u3, u3, u1} C _inst_1 J D _inst_2) (CategoryTheory.Sheaf.{u2, max u2 u3, u3, u1} C _inst_1 J D _inst_2) (CategoryTheory.Sheaf.CategoryTheory.category.{u2, max u2 u3, u3, u1} C _inst_1 J D _inst_2) (CategoryTheory.Functor.comp.{max u2 u3, max u2 u3, max u2 u3, max u3 u1 u2 u3, max u3 u2 (succ (max u2 u3)), max u3 u1 u2 u3} (CategoryTheory.Sheaf.{u2, max u2 u3, u3, u1} C _inst_1 J D _inst_2) (CategoryTheory.Sheaf.CategoryTheory.category.{u2, max u2 u3, u3, u1} C _inst_1 J D _inst_2) (CategoryTheory.SheafOfTypes.{max u2 u3, u2, u3} C _inst_1 J) (CategoryTheory.SheafOfTypes.CategoryTheory.category.{u2, u3, max u2 u3} C _inst_1 J) (CategoryTheory.Sheaf.{u2, max u2 u3, u3, u1} C _inst_1 J D _inst_2) (CategoryTheory.Sheaf.CategoryTheory.category.{u2, max u2 u3, u3, u1} C _inst_1 J D _inst_2) (CategoryTheory.sheafForget.{u1, u2, u3} C _inst_1 J D _inst_2 _inst_5 _inst_6) (CategoryTheory.Sheaf.composeAndSheafifyFromTypes.{u1, u2, u3} C _inst_1 J D _inst_2 _inst_5 _inst_6 (CategoryTheory.Sheaf.adjunctionToTypes._proof_1.{u3, u2, u1} C _inst_1 J D _inst_2 (fun (P : CategoryTheory.Functor.{u2, max u2 u3, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2) (X : C) (S : CategoryTheory.GrothendieckTopology.Cover.{u2, u3} C _inst_1 J X) => _inst_7 P X S)) (CategoryTheory.Sheaf.adjunctionToTypes._proof_2.{u3, u2, u1} C _inst_1 J D _inst_2 (fun (X : C) => _inst_8 X)) (fun (X : C) => _inst_9 X) _inst_10 G)) X)) (CategoryTheory.Sheaf.val.{u2, max u2 u3, u3, u1} C _inst_1 J D _inst_2 (CategoryTheory.Functor.obj.{max u2 u3, max u2 u3, max u3 u1 u2 u3, max u3 u1 u2 u3} (CategoryTheory.Sheaf.{u2, max u2 u3, u3, u1} C _inst_1 J D _inst_2) (CategoryTheory.Sheaf.CategoryTheory.category.{u2, max u2 u3, u3, u1} C _inst_1 J D _inst_2) (CategoryTheory.Sheaf.{u2, max u2 u3, u3, u1} C _inst_1 J D _inst_2) (CategoryTheory.Sheaf.CategoryTheory.category.{u2, max u2 u3, u3, u1} C _inst_1 J D _inst_2) (CategoryTheory.Functor.id.{max u2 u3, max u3 u1 u2 u3} (CategoryTheory.Sheaf.{u2, max u2 u3, u3, u1} C _inst_1 J D _inst_2) (CategoryTheory.Sheaf.CategoryTheory.category.{u2, max u2 u3, u3, u1} C _inst_1 J D _inst_2)) X))) (CategoryTheory.Sheaf.Hom.val.{u2, max u2 u3, u3, u1} C _inst_1 J D _inst_2 (CategoryTheory.Functor.obj.{max u2 u3, max u2 u3, max u3 u1 u2 u3, max u3 u1 u2 u3} (CategoryTheory.Sheaf.{u2, max u2 u3, u3, u1} C _inst_1 J D _inst_2) (CategoryTheory.Sheaf.CategoryTheory.category.{u2, max u2 u3, u3, u1} C _inst_1 J D _inst_2) (CategoryTheory.Sheaf.{u2, max u2 u3, u3, u1} C _inst_1 J D _inst_2) (CategoryTheory.Sheaf.CategoryTheory.category.{u2, max u2 u3, u3, u1} C _inst_1 J D _inst_2) (CategoryTheory.Functor.comp.{max u2 u3, max u2 u3, max u2 u3, max u3 u1 u2 u3, max u3 u2 (succ (max u2 u3)), max u3 u1 u2 u3} (CategoryTheory.Sheaf.{u2, max u2 u3, u3, u1} C _inst_1 J D _inst_2) (CategoryTheory.Sheaf.CategoryTheory.category.{u2, max u2 u3, u3, u1} C _inst_1 J D _inst_2) (CategoryTheory.SheafOfTypes.{max u2 u3, u2, u3} C _inst_1 J) (CategoryTheory.SheafOfTypes.CategoryTheory.category.{u2, u3, max u2 u3} C _inst_1 J) (CategoryTheory.Sheaf.{u2, max u2 u3, u3, u1} C _inst_1 J D _inst_2) (CategoryTheory.Sheaf.CategoryTheory.category.{u2, max u2 u3, u3, u1} C _inst_1 J D _inst_2) (CategoryTheory.sheafForget.{u1, u2, u3} C _inst_1 J D _inst_2 _inst_5 _inst_6) (CategoryTheory.Sheaf.composeAndSheafifyFromTypes.{u1, u2, u3} C _inst_1 J D _inst_2 _inst_5 _inst_6 (CategoryTheory.Sheaf.adjunctionToTypes._proof_1.{u3, u2, u1} C _inst_1 J D _inst_2 (fun (P : CategoryTheory.Functor.{u2, max u2 u3, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2) (X : C) (S : CategoryTheory.GrothendieckTopology.Cover.{u2, u3} C _inst_1 J X) => _inst_7 P X S)) (CategoryTheory.Sheaf.adjunctionToTypes._proof_2.{u3, u2, u1} C _inst_1 J D _inst_2 (fun (X : C) => _inst_8 X)) (fun (X : C) => _inst_9 X) _inst_10 G)) X) (CategoryTheory.Functor.obj.{max u2 u3, max u2 u3, max u3 u1 u2 u3, max u3 u1 u2 u3} (CategoryTheory.Sheaf.{u2, max u2 u3, u3, u1} C _inst_1 J D _inst_2) (CategoryTheory.Sheaf.CategoryTheory.category.{u2, max u2 u3, u3, u1} C _inst_1 J D _inst_2) (CategoryTheory.Sheaf.{u2, max u2 u3, u3, u1} C _inst_1 J D _inst_2) (CategoryTheory.Sheaf.CategoryTheory.category.{u2, max u2 u3, u3, u1} C _inst_1 J D _inst_2) (CategoryTheory.Functor.id.{max u2 u3, max u3 u1 u2 u3} (CategoryTheory.Sheaf.{u2, max u2 u3, u3, u1} C _inst_1 J D _inst_2) (CategoryTheory.Sheaf.CategoryTheory.category.{u2, max u2 u3, u3, u1} C _inst_1 J D _inst_2)) X) (CategoryTheory.NatTrans.app.{max u2 u3, max u2 u3, max u3 u1 u2 u3, max u3 u1 u2 u3} (CategoryTheory.Sheaf.{u2, max u2 u3, u3, u1} C _inst_1 J D _inst_2) (CategoryTheory.Sheaf.CategoryTheory.category.{u2, max u2 u3, u3, u1} C _inst_1 J D _inst_2) (CategoryTheory.Sheaf.{u2, max u2 u3, u3, u1} C _inst_1 J D _inst_2) (CategoryTheory.Sheaf.CategoryTheory.category.{u2, max u2 u3, u3, u1} C _inst_1 J D _inst_2) (CategoryTheory.Functor.comp.{max u2 u3, max u2 u3, max u2 u3, max u3 u1 u2 u3, max u3 u2 (succ (max u2 u3)), max u3 u1 u2 u3} (CategoryTheory.Sheaf.{u2, max u2 u3, u3, u1} C _inst_1 J D _inst_2) (CategoryTheory.Sheaf.CategoryTheory.category.{u2, max u2 u3, u3, u1} C _inst_1 J D _inst_2) (CategoryTheory.SheafOfTypes.{max u2 u3, u2, u3} C _inst_1 J) (CategoryTheory.SheafOfTypes.CategoryTheory.category.{u2, u3, max u2 u3} C _inst_1 J) (CategoryTheory.Sheaf.{u2, max u2 u3, u3, u1} C _inst_1 J D _inst_2) (CategoryTheory.Sheaf.CategoryTheory.category.{u2, max u2 u3, u3, u1} C _inst_1 J D _inst_2) (CategoryTheory.sheafForget.{u1, u2, u3} C _inst_1 J D _inst_2 _inst_5 _inst_6) (CategoryTheory.Sheaf.composeAndSheafifyFromTypes.{u1, u2, u3} C _inst_1 J D _inst_2 _inst_5 _inst_6 (CategoryTheory.Sheaf.adjunctionToTypes._proof_1.{u3, u2, u1} C _inst_1 J D _inst_2 (fun (P : CategoryTheory.Functor.{u2, max u2 u3, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2) (X : C) (S : CategoryTheory.GrothendieckTopology.Cover.{u2, u3} C _inst_1 J X) => _inst_7 P X S)) (CategoryTheory.Sheaf.adjunctionToTypes._proof_2.{u3, u2, u1} C _inst_1 J D _inst_2 (fun (X : C) => _inst_8 X)) (fun (X : C) => _inst_9 X) _inst_10 G)) (CategoryTheory.Functor.id.{max u2 u3, max u3 u1 u2 u3} (CategoryTheory.Sheaf.{u2, max u2 u3, u3, u1} C _inst_1 J D _inst_2) (CategoryTheory.Sheaf.CategoryTheory.category.{u2, max u2 u3, u3, u1} C _inst_1 J D _inst_2)) (CategoryTheory.Adjunction.counit.{max u2 u3, max u2 u3, max u3 u2 (succ (max u2 u3)), max u3 u1 u2 u3} (CategoryTheory.SheafOfTypes.{max u2 u3, u2, u3} C _inst_1 J) (CategoryTheory.SheafOfTypes.CategoryTheory.category.{u2, u3, max u2 u3} C _inst_1 J) (CategoryTheory.Sheaf.{u2, max u2 u3, u3, u1} C _inst_1 J D _inst_2) (CategoryTheory.Sheaf.CategoryTheory.category.{u2, max u2 u3, u3, u1} C _inst_1 J D _inst_2) (CategoryTheory.Sheaf.composeAndSheafifyFromTypes.{u1, u2, u3} C _inst_1 J D _inst_2 _inst_5 _inst_6 (CategoryTheory.Sheaf.adjunctionToTypes._proof_1.{u3, u2, u1} C _inst_1 J D _inst_2 (fun (P : CategoryTheory.Functor.{u2, max u2 u3, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2) (X : C) (S : CategoryTheory.GrothendieckTopology.Cover.{u2, u3} C _inst_1 J X) => _inst_7 P X S)) (CategoryTheory.Sheaf.adjunctionToTypes._proof_2.{u3, u2, u1} C _inst_1 J D _inst_2 (fun (X : C) => _inst_8 X)) (fun (X : C) => _inst_9 X) _inst_10 G) (CategoryTheory.sheafForget.{u1, u2, u3} C _inst_1 J D _inst_2 _inst_5 _inst_6) (CategoryTheory.Sheaf.adjunctionToTypes.{u1, u2, u3} C _inst_1 J D _inst_2 _inst_5 _inst_6 (fun (P : CategoryTheory.Functor.{u2, max u2 u3, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2) (X : C) (S : CategoryTheory.GrothendieckTopology.Cover.{u2, u3} C _inst_1 J X) => _inst_7 P X S) (fun (X : C) => _inst_8 X) (fun (X : C) => _inst_9 X) _inst_10 G adj)) X)) (CategoryTheory.GrothendieckTopology.sheafifyLift.{u1, u2, u3} C _inst_1 J D _inst_2 (fun (P : CategoryTheory.Functor.{u2, max u2 u3, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2) (X : C) (S : CategoryTheory.GrothendieckTopology.Cover.{u2, u3} C _inst_1 J X) => _inst_7 P X S) (fun (X : C) => _inst_8 X) (CategoryTheory.Functor.obj.{max u2 u3, max u2 u3, max u2 (max u2 u3) u3 (succ (max u2 u3)), max u2 (max u2 u3) u3 u1} (CategoryTheory.Functor.{u2, max u2 u3, u3, succ (max u2 u3)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u2 u3}) (CategoryTheory.Functor.category.{u2, max u2 u3, u3, succ (max u2 u3)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u2 u3}) (CategoryTheory.Functor.{u2, max u2 u3, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2) (CategoryTheory.Functor.category.{u2, max u2 u3, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2) (CategoryTheory.Functor.obj.{succ (max u2 u3), max (max u2 (max u2 u3) u3 (succ (max u2 u3))) u2 u3, max (max u2 u3) (succ (max u2 u3)) u1, max (max u2 u3) (max u2 (max u2 u3) u3 (succ (max u2 u3))) u2 (max u2 u3) u3 u1} (CategoryTheory.Functor.{max u2 u3, max u2 u3, succ (max u2 u3), u1} Type.{max u2 u3} CategoryTheory.types.{max u2 u3} D _inst_2) (CategoryTheory.Functor.category.{max u2 u3, max u2 u3, succ (max u2 u3), u1} Type.{max u2 u3} CategoryTheory.types.{max u2 u3} D _inst_2) (CategoryTheory.Functor.{max u2 u3, max u2 u3, max u2 (max u2 u3) u3 (succ (max u2 u3)), max u2 (max u2 u3) u3 u1} (CategoryTheory.Functor.{u2, max u2 u3, u3, succ (max u2 u3)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u2 u3}) (CategoryTheory.Functor.category.{u2, max u2 u3, u3, succ (max u2 u3)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u2 u3}) (CategoryTheory.Functor.{u2, max u2 u3, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2) (CategoryTheory.Functor.category.{u2, max u2 u3, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2)) (CategoryTheory.Functor.category.{max u2 u3, max u2 u3, max u2 (max u2 u3) u3 (succ (max u2 u3)), max u2 (max u2 u3) u3 u1} (CategoryTheory.Functor.{u2, max u2 u3, u3, succ (max u2 u3)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u2 u3}) (CategoryTheory.Functor.category.{u2, max u2 u3, u3, succ (max u2 u3)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u2 u3}) (CategoryTheory.Functor.{u2, max u2 u3, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2) (CategoryTheory.Functor.category.{u2, max u2 u3, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2)) (CategoryTheory.whiskeringRight.{u3, u2, succ (max u2 u3), max u2 u3, u1, max u2 u3} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u2 u3} D _inst_2) G) (CategoryTheory.Functor.obj.{max u2 u3, max u2 u3, max u3 (succ (max u2 u3)), max u2 (max u2 u3) u3 (succ (max u2 u3))} (CategoryTheory.Sheaf.{u2, max u2 u3, u3, succ (max u2 u3)} C _inst_1 J Type.{max u2 u3} CategoryTheory.types.{max u2 u3}) (CategoryTheory.Sheaf.CategoryTheory.category.{u2, max u2 u3, u3, succ (max u2 u3)} C _inst_1 J Type.{max u2 u3} CategoryTheory.types.{max u2 u3}) (CategoryTheory.Functor.{u2, max u2 u3, u3, succ (max u2 u3)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u2 u3}) (CategoryTheory.Functor.category.{u2, max u2 u3, u3, succ (max u2 u3)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u2 u3}) (CategoryTheory.sheafToPresheaf.{u2, max u2 u3, u3, succ (max u2 u3)} C _inst_1 J Type.{max u2 u3} CategoryTheory.types.{max u2 u3}) (CategoryTheory.Functor.obj.{max u2 u3, max u2 u3, max u3 u2 (succ (max u2 u3)), max u3 (succ (max u2 u3))} (CategoryTheory.SheafOfTypes.{max u2 u3, u2, u3} C _inst_1 J) (CategoryTheory.SheafOfTypes.CategoryTheory.category.{u2, u3, max u2 u3} C _inst_1 J) (CategoryTheory.Sheaf.{u2, max u2 u3, u3, succ (max u2 u3)} C _inst_1 J Type.{max u2 u3} CategoryTheory.types.{max u2 u3}) (CategoryTheory.Sheaf.CategoryTheory.category.{u2, max u2 u3, u3, succ (max u2 u3)} C _inst_1 J Type.{max u2 u3} CategoryTheory.types.{max u2 u3}) (CategoryTheory.Equivalence.inverse.{max u2 u3, max u2 u3, max u3 (succ (max u2 u3)), max u3 u2 (succ (max u2 u3))} (CategoryTheory.Sheaf.{u2, max u2 u3, u3, succ (max u2 u3)} C _inst_1 J Type.{max u2 u3} CategoryTheory.types.{max u2 u3}) (CategoryTheory.Sheaf.CategoryTheory.category.{u2, max u2 u3, u3, succ (max u2 u3)} C _inst_1 J Type.{max u2 u3} CategoryTheory.types.{max u2 u3}) (CategoryTheory.SheafOfTypes.{max u2 u3, u2, u3} C _inst_1 J) (CategoryTheory.SheafOfTypes.CategoryTheory.category.{u2, u3, max u2 u3} C _inst_1 J) (CategoryTheory.sheafEquivSheafOfTypes.{max u2 u3, u2, u3} C _inst_1 J)) (CategoryTheory.Functor.obj.{max u2 u3, max u2 u3, max u3 u1 u2 u3, max u3 u2 (succ (max u2 u3))} (CategoryTheory.Sheaf.{u2, max u2 u3, u3, u1} C _inst_1 J D _inst_2) (CategoryTheory.Sheaf.CategoryTheory.category.{u2, max u2 u3, u3, u1} C _inst_1 J D _inst_2) (CategoryTheory.SheafOfTypes.{max u2 u3, u2, u3} C _inst_1 J) (CategoryTheory.SheafOfTypes.CategoryTheory.category.{u2, u3, max u2 u3} C _inst_1 J) (CategoryTheory.sheafForget.{u1, u2, u3} C _inst_1 J D _inst_2 _inst_5 _inst_6) X)))) (CategoryTheory.Sheaf.val.{u2, max u2 u3, u3, u1} C _inst_1 J D _inst_2 (CategoryTheory.Functor.obj.{max u2 u3, max u2 u3, max u3 u1 u2 u3, max u3 u1 u2 u3} (CategoryTheory.Sheaf.{u2, max u2 u3, u3, u1} C _inst_1 J D _inst_2) (CategoryTheory.Sheaf.CategoryTheory.category.{u2, max u2 u3, u3, u1} C _inst_1 J D _inst_2) (CategoryTheory.Sheaf.{u2, max u2 u3, u3, u1} C _inst_1 J D _inst_2) (CategoryTheory.Sheaf.CategoryTheory.category.{u2, max u2 u3, u3, u1} C _inst_1 J D _inst_2) (CategoryTheory.Functor.id.{max u2 u3, max u3 u1 u2 u3} (CategoryTheory.Sheaf.{u2, max u2 u3, u3, u1} C _inst_1 J D _inst_2) (CategoryTheory.Sheaf.CategoryTheory.category.{u2, max u2 u3, u3, u1} C _inst_1 J D _inst_2)) X)) (CategoryTheory.CategoryStruct.comp.{max u2 u3, max u2 (max u2 u3) u3 u1} (CategoryTheory.Functor.{u2, max u2 u3, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2) (CategoryTheory.Category.toCategoryStruct.{max u2 u3, max u2 (max u2 u3) u3 u1} (CategoryTheory.Functor.{u2, max u2 u3, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2) (CategoryTheory.Functor.category.{u2, max u2 u3, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2)) (CategoryTheory.Functor.obj.{max u2 u3, max u2 u3, max u2 (max u2 u3) u3 (succ (max u2 u3)), max u2 (max u2 u3) u3 u1} (CategoryTheory.Functor.{u2, max u2 u3, u3, succ (max u2 u3)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u2 u3}) (CategoryTheory.Functor.category.{u2, max u2 u3, u3, succ (max u2 u3)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u2 u3}) (CategoryTheory.Functor.{u2, max u2 u3, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2) (CategoryTheory.Functor.category.{u2, max u2 u3, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2) (CategoryTheory.Functor.obj.{succ (max u2 u3), max (max u2 (max u2 u3) u3 (succ (max u2 u3))) u2 u3, max (max u2 u3) (succ (max u2 u3)) u1, max (max u2 u3) (max u2 (max u2 u3) u3 (succ (max u2 u3))) u2 (max u2 u3) u3 u1} (CategoryTheory.Functor.{max u2 u3, max u2 u3, succ (max u2 u3), u1} Type.{max u2 u3} CategoryTheory.types.{max u2 u3} D _inst_2) (CategoryTheory.Functor.category.{max u2 u3, max u2 u3, succ (max u2 u3), u1} Type.{max u2 u3} CategoryTheory.types.{max u2 u3} D _inst_2) (CategoryTheory.Functor.{max u2 u3, max u2 u3, max u2 (max u2 u3) u3 (succ (max u2 u3)), max u2 (max u2 u3) u3 u1} (CategoryTheory.Functor.{u2, max u2 u3, u3, succ (max u2 u3)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u2 u3}) (CategoryTheory.Functor.category.{u2, max u2 u3, u3, succ (max u2 u3)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u2 u3}) (CategoryTheory.Functor.{u2, max u2 u3, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2) (CategoryTheory.Functor.category.{u2, max u2 u3, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2)) (CategoryTheory.Functor.category.{max u2 u3, max u2 u3, max u2 (max u2 u3) u3 (succ (max u2 u3)), max u2 (max u2 u3) u3 u1} (CategoryTheory.Functor.{u2, max u2 u3, u3, succ (max u2 u3)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u2 u3}) (CategoryTheory.Functor.category.{u2, max u2 u3, u3, succ (max u2 u3)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u2 u3}) (CategoryTheory.Functor.{u2, max u2 u3, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2) (CategoryTheory.Functor.category.{u2, max u2 u3, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2)) (CategoryTheory.whiskeringRight.{u3, u2, succ (max u2 u3), max u2 u3, u1, max u2 u3} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u2 u3} D _inst_2) G) (CategoryTheory.Functor.obj.{max u2 u3, max u2 u3, max u3 (succ (max u2 u3)), max u2 (max u2 u3) u3 (succ (max u2 u3))} (CategoryTheory.Sheaf.{u2, max u2 u3, u3, succ (max u2 u3)} C _inst_1 J Type.{max u2 u3} CategoryTheory.types.{max u2 u3}) (CategoryTheory.Sheaf.CategoryTheory.category.{u2, max u2 u3, u3, succ (max u2 u3)} C _inst_1 J Type.{max u2 u3} CategoryTheory.types.{max u2 u3}) (CategoryTheory.Functor.{u2, max u2 u3, u3, succ (max u2 u3)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u2 u3}) (CategoryTheory.Functor.category.{u2, max u2 u3, u3, succ (max u2 u3)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u2 u3}) (CategoryTheory.sheafToPresheaf.{u2, max u2 u3, u3, succ (max u2 u3)} C _inst_1 J Type.{max u2 u3} CategoryTheory.types.{max u2 u3}) (CategoryTheory.Functor.obj.{max u2 u3, max u2 u3, max u3 u2 (succ (max u2 u3)), max u3 (succ (max u2 u3))} (CategoryTheory.SheafOfTypes.{max u2 u3, u2, u3} C _inst_1 J) (CategoryTheory.SheafOfTypes.CategoryTheory.category.{u2, u3, max u2 u3} C _inst_1 J) (CategoryTheory.Sheaf.{u2, max u2 u3, u3, succ (max u2 u3)} C _inst_1 J Type.{max u2 u3} CategoryTheory.types.{max u2 u3}) (CategoryTheory.Sheaf.CategoryTheory.category.{u2, max u2 u3, u3, succ (max u2 u3)} C _inst_1 J Type.{max u2 u3} CategoryTheory.types.{max u2 u3}) (CategoryTheory.Equivalence.inverse.{max u2 u3, max u2 u3, max u3 (succ (max u2 u3)), max u3 u2 (succ (max u2 u3))} (CategoryTheory.Sheaf.{u2, max u2 u3, u3, succ (max u2 u3)} C _inst_1 J Type.{max u2 u3} CategoryTheory.types.{max u2 u3}) (CategoryTheory.Sheaf.CategoryTheory.category.{u2, max u2 u3, u3, succ (max u2 u3)} C _inst_1 J Type.{max u2 u3} CategoryTheory.types.{max u2 u3}) (CategoryTheory.SheafOfTypes.{max u2 u3, u2, u3} C _inst_1 J) (CategoryTheory.SheafOfTypes.CategoryTheory.category.{u2, u3, max u2 u3} C _inst_1 J) (CategoryTheory.sheafEquivSheafOfTypes.{max u2 u3, u2, u3} C _inst_1 J)) (CategoryTheory.Functor.obj.{max u2 u3, max u2 u3, max u3 u1 u2 u3, max u3 u2 (succ (max u2 u3))} (CategoryTheory.Sheaf.{u2, max u2 u3, u3, u1} C _inst_1 J D _inst_2) (CategoryTheory.Sheaf.CategoryTheory.category.{u2, max u2 u3, u3, u1} C _inst_1 J D _inst_2) (CategoryTheory.SheafOfTypes.{max u2 u3, u2, u3} C _inst_1 J) (CategoryTheory.SheafOfTypes.CategoryTheory.category.{u2, u3, max u2 u3} C _inst_1 J) (CategoryTheory.sheafForget.{u1, u2, u3} C _inst_1 J D _inst_2 _inst_5 _inst_6) X)))) (CategoryTheory.Functor.comp.{u2, max u2 u3, max u2 u3, u3, u1, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2 D _inst_2 (CategoryTheory.Sheaf.val.{u2, max u2 u3, u3, u1} C _inst_1 J D _inst_2 X) (CategoryTheory.Functor.comp.{max u2 u3, max u2 u3, max u2 u3, u1, succ (max u2 u3), u1} D _inst_2 Type.{max u2 u3} CategoryTheory.types.{max u2 u3} D _inst_2 (CategoryTheory.forget.{u1, max u2 u3, max u2 u3} D _inst_2 _inst_5) G)) (CategoryTheory.Sheaf.val.{u2, max u2 u3, u3, u1} C _inst_1 J D _inst_2 (CategoryTheory.Functor.obj.{max u2 u3, max u2 u3, max u3 u1 u2 u3, max u3 u1 u2 u3} (CategoryTheory.Sheaf.{u2, max u2 u3, u3, u1} C _inst_1 J D _inst_2) (CategoryTheory.Sheaf.CategoryTheory.category.{u2, max u2 u3, u3, u1} C _inst_1 J D _inst_2) (CategoryTheory.Sheaf.{u2, max u2 u3, u3, u1} C _inst_1 J D _inst_2) (CategoryTheory.Sheaf.CategoryTheory.category.{u2, max u2 u3, u3, u1} C _inst_1 J D _inst_2) (CategoryTheory.Functor.id.{max u2 u3, max u3 u1 u2 u3} (CategoryTheory.Sheaf.{u2, max u2 u3, u3, u1} C _inst_1 J D _inst_2) (CategoryTheory.Sheaf.CategoryTheory.category.{u2, max u2 u3, u3, u1} C _inst_1 J D _inst_2)) X)) (CategoryTheory.Iso.hom.{max u2 u3, max u2 (max u2 u3) u3 u1} (CategoryTheory.Functor.{u2, max u2 u3, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2) (CategoryTheory.Functor.category.{u2, max u2 u3, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2) (CategoryTheory.Functor.comp.{u2, max u2 u3, max u2 u3, u3, succ (max u2 u3), u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u2 u3} D _inst_2 (CategoryTheory.Functor.comp.{u2, max u2 u3, max u2 u3, u3, u1, succ (max u2 u3)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2 Type.{max u2 u3} CategoryTheory.types.{max u2 u3} (CategoryTheory.Sheaf.val.{u2, max u2 u3, u3, u1} C _inst_1 J D _inst_2 X) (CategoryTheory.forget.{u1, max u2 u3, max u2 u3} D _inst_2 _inst_5)) G) (CategoryTheory.Functor.comp.{u2, max u2 u3, max u2 u3, u3, u1, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2 D _inst_2 (CategoryTheory.Sheaf.val.{u2, max u2 u3, u3, u1} C _inst_1 J D _inst_2 X) (CategoryTheory.Functor.comp.{max u2 u3, max u2 u3, max u2 u3, u1, succ (max u2 u3), u1} D _inst_2 Type.{max u2 u3} CategoryTheory.types.{max u2 u3} D _inst_2 (CategoryTheory.forget.{u1, max u2 u3, max u2 u3} D _inst_2 _inst_5) G)) (CategoryTheory.Functor.associator.{u3, u2, u1, max u2 u3, succ (max u2 u3), max u2 u3, u1, max u2 u3} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2 Type.{max u2 u3} CategoryTheory.types.{max u2 u3} D _inst_2 (CategoryTheory.Sheaf.val.{u2, max u2 u3, u3, u1} C _inst_1 J D _inst_2 X) (CategoryTheory.forget.{u1, max u2 u3, max u2 u3} D _inst_2 _inst_5) G)) (CategoryTheory.NatTrans.app.{max u2 u3, max u2 u3, max u2 (max u2 u3) u3 u1, max u2 (max u2 u3) u3 u1} (CategoryTheory.Functor.{u2, max u2 u3, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2) (CategoryTheory.Functor.category.{u2, max u2 u3, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2) (CategoryTheory.Functor.{u2, max u2 u3, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2) (CategoryTheory.Functor.category.{u2, max u2 u3, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2) (CategoryTheory.Functor.comp.{max u2 u3, max u2 u3, max u2 u3, max u2 (max u2 u3) u3 u1, max u2 (max u2 u3) u3 (succ (max u2 u3)), max u2 (max u2 u3) u3 u1} (CategoryTheory.Functor.{u2, max u2 u3, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2) (CategoryTheory.Functor.category.{u2, max u2 u3, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2) (CategoryTheory.Functor.{u2, max u2 u3, u3, succ (max u2 u3)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u2 u3}) (CategoryTheory.Functor.category.{u2, max u2 u3, u3, succ (max u2 u3)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u2 u3}) (CategoryTheory.Functor.{u2, max u2 u3, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2) (CategoryTheory.Functor.category.{u2, max u2 u3, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2) (CategoryTheory.Functor.obj.{max u1 u2 u3, max (max u2 (max u2 u3) u3 u1) u2 u3, max (max u2 u3) u1 (succ (max u2 u3)), max (max u2 u3) (max u2 (max u2 u3) u3 u1) u2 (max u2 u3) u3 (succ (max u2 u3))} (CategoryTheory.Functor.{max u2 u3, max u2 u3, u1, succ (max u2 u3)} D _inst_2 Type.{max u2 u3} CategoryTheory.types.{max u2 u3}) (CategoryTheory.Functor.category.{max u2 u3, max u2 u3, u1, succ (max u2 u3)} D _inst_2 Type.{max u2 u3} CategoryTheory.types.{max u2 u3}) (CategoryTheory.Functor.{max u2 u3, max u2 u3, max u2 (max u2 u3) u3 u1, max u2 (max u2 u3) u3 (succ (max u2 u3))} (CategoryTheory.Functor.{u2, max u2 u3, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2) (CategoryTheory.Functor.category.{u2, max u2 u3, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2) (CategoryTheory.Functor.{u2, max u2 u3, u3, succ (max u2 u3)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u2 u3}) (CategoryTheory.Functor.category.{u2, max u2 u3, u3, succ (max u2 u3)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u2 u3})) (CategoryTheory.Functor.category.{max u2 u3, max u2 u3, max u2 (max u2 u3) u3 u1, max u2 (max u2 u3) u3 (succ (max u2 u3))} (CategoryTheory.Functor.{u2, max u2 u3, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2) (CategoryTheory.Functor.category.{u2, max u2 u3, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2) (CategoryTheory.Functor.{u2, max u2 u3, u3, succ (max u2 u3)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u2 u3}) (CategoryTheory.Functor.category.{u2, max u2 u3, u3, succ (max u2 u3)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u2 u3})) (CategoryTheory.whiskeringRight.{u3, u2, u1, max u2 u3, succ (max u2 u3), max u2 u3} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2 Type.{max u2 u3} CategoryTheory.types.{max u2 u3}) (CategoryTheory.forget.{u1, max u2 u3, max u2 u3} D _inst_2 _inst_5)) (CategoryTheory.Functor.obj.{succ (max u2 u3), max (max u2 (max u2 u3) u3 (succ (max u2 u3))) u2 u3, max (max u2 u3) (succ (max u2 u3)) u1, max (max u2 u3) (max u2 (max u2 u3) u3 (succ (max u2 u3))) u2 (max u2 u3) u3 u1} (CategoryTheory.Functor.{max u2 u3, max u2 u3, succ (max u2 u3), u1} Type.{max u2 u3} CategoryTheory.types.{max u2 u3} D _inst_2) (CategoryTheory.Functor.category.{max u2 u3, max u2 u3, succ (max u2 u3), u1} Type.{max u2 u3} CategoryTheory.types.{max u2 u3} D _inst_2) (CategoryTheory.Functor.{max u2 u3, max u2 u3, max u2 (max u2 u3) u3 (succ (max u2 u3)), max u2 (max u2 u3) u3 u1} (CategoryTheory.Functor.{u2, max u2 u3, u3, succ (max u2 u3)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u2 u3}) (CategoryTheory.Functor.category.{u2, max u2 u3, u3, succ (max u2 u3)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u2 u3}) (CategoryTheory.Functor.{u2, max u2 u3, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2) (CategoryTheory.Functor.category.{u2, max u2 u3, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2)) (CategoryTheory.Functor.category.{max u2 u3, max u2 u3, max u2 (max u2 u3) u3 (succ (max u2 u3)), max u2 (max u2 u3) u3 u1} (CategoryTheory.Functor.{u2, max u2 u3, u3, succ (max u2 u3)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u2 u3}) (CategoryTheory.Functor.category.{u2, max u2 u3, u3, succ (max u2 u3)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u2 u3}) (CategoryTheory.Functor.{u2, max u2 u3, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2) (CategoryTheory.Functor.category.{u2, max u2 u3, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2)) (CategoryTheory.whiskeringRight.{u3, u2, succ (max u2 u3), max u2 u3, u1, max u2 u3} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u2 u3} D _inst_2) G)) (CategoryTheory.Functor.id.{max u2 u3, max u2 (max u2 u3) u3 u1} (CategoryTheory.Functor.{u2, max u2 u3, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2) (CategoryTheory.Functor.category.{u2, max u2 u3, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2)) (CategoryTheory.Adjunction.counit.{max u2 u3, max u2 u3, max u2 (max u2 u3) u3 (succ (max u2 u3)), max u2 (max u2 u3) u3 u1} (CategoryTheory.Functor.{u2, max u2 u3, u3, succ (max u2 u3)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u2 u3}) (CategoryTheory.Functor.category.{u2, max u2 u3, u3, succ (max u2 u3)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u2 u3}) (CategoryTheory.Functor.{u2, max u2 u3, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2) (CategoryTheory.Functor.category.{u2, max u2 u3, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2) (CategoryTheory.Functor.obj.{succ (max u2 u3), max (max u2 (max u2 u3) u3 (succ (max u2 u3))) u2 u3, max (max u2 u3) (succ (max u2 u3)) u1, max (max u2 u3) (max u2 (max u2 u3) u3 (succ (max u2 u3))) u2 (max u2 u3) u3 u1} (CategoryTheory.Functor.{max u2 u3, max u2 u3, succ (max u2 u3), u1} Type.{max u2 u3} CategoryTheory.types.{max u2 u3} D _inst_2) (CategoryTheory.Functor.category.{max u2 u3, max u2 u3, succ (max u2 u3), u1} Type.{max u2 u3} CategoryTheory.types.{max u2 u3} D _inst_2) (CategoryTheory.Functor.{max u2 u3, max u2 u3, max u2 (max u2 u3) u3 (succ (max u2 u3)), max u2 (max u2 u3) u3 u1} (CategoryTheory.Functor.{u2, max u2 u3, u3, succ (max u2 u3)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u2 u3}) (CategoryTheory.Functor.category.{u2, max u2 u3, u3, succ (max u2 u3)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u2 u3}) (CategoryTheory.Functor.{u2, max u2 u3, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2) (CategoryTheory.Functor.category.{u2, max u2 u3, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2)) (CategoryTheory.Functor.category.{max u2 u3, max u2 u3, max u2 (max u2 u3) u3 (succ (max u2 u3)), max u2 (max u2 u3) u3 u1} (CategoryTheory.Functor.{u2, max u2 u3, u3, succ (max u2 u3)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u2 u3}) (CategoryTheory.Functor.category.{u2, max u2 u3, u3, succ (max u2 u3)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u2 u3}) (CategoryTheory.Functor.{u2, max u2 u3, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2) (CategoryTheory.Functor.category.{u2, max u2 u3, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2)) (CategoryTheory.whiskeringRight.{u3, u2, succ (max u2 u3), max u2 u3, u1, max u2 u3} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u2 u3} D _inst_2) G) (CategoryTheory.Functor.obj.{max u1 u2 u3, max (max u2 (max u2 u3) u3 u1) u2 u3, max (max u2 u3) u1 (succ (max u2 u3)), max (max u2 u3) (max u2 (max u2 u3) u3 u1) u2 (max u2 u3) u3 (succ (max u2 u3))} (CategoryTheory.Functor.{max u2 u3, max u2 u3, u1, succ (max u2 u3)} D _inst_2 Type.{max u2 u3} CategoryTheory.types.{max u2 u3}) (CategoryTheory.Functor.category.{max u2 u3, max u2 u3, u1, succ (max u2 u3)} D _inst_2 Type.{max u2 u3} CategoryTheory.types.{max u2 u3}) (CategoryTheory.Functor.{max u2 u3, max u2 u3, max u2 (max u2 u3) u3 u1, max u2 (max u2 u3) u3 (succ (max u2 u3))} (CategoryTheory.Functor.{u2, max u2 u3, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2) (CategoryTheory.Functor.category.{u2, max u2 u3, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2) (CategoryTheory.Functor.{u2, max u2 u3, u3, succ (max u2 u3)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u2 u3}) (CategoryTheory.Functor.category.{u2, max u2 u3, u3, succ (max u2 u3)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u2 u3})) (CategoryTheory.Functor.category.{max u2 u3, max u2 u3, max u2 (max u2 u3) u3 u1, max u2 (max u2 u3) u3 (succ (max u2 u3))} (CategoryTheory.Functor.{u2, max u2 u3, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2) (CategoryTheory.Functor.category.{u2, max u2 u3, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2) (CategoryTheory.Functor.{u2, max u2 u3, u3, succ (max u2 u3)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u2 u3}) (CategoryTheory.Functor.category.{u2, max u2 u3, u3, succ (max u2 u3)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u2 u3})) (CategoryTheory.whiskeringRight.{u3, u2, u1, max u2 u3, succ (max u2 u3), max u2 u3} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2 Type.{max u2 u3} CategoryTheory.types.{max u2 u3}) (CategoryTheory.forget.{u1, max u2 u3, max u2 u3} D _inst_2 _inst_5)) (CategoryTheory.Adjunction.whiskerRight.{u3, succ (max u2 u3), u1, u2, max u2 u3, max u2 u3} (Opposite.{succ u3} C) Type.{max u2 u3} D (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) CategoryTheory.types.{max u2 u3} _inst_2 G (CategoryTheory.forget.{u1, max u2 u3, max u2 u3} D _inst_2 _inst_5) adj)) (CategoryTheory.Sheaf.val.{u2, max u2 u3, u3, u1} C _inst_1 J D _inst_2 X))) (CategoryTheory.Sheaf.cond.{u2, max u2 u3, u3, u1} C _inst_1 J D _inst_2 X))
-but is expected to have type
-  forall {C : Type.{u3}} [_inst_1 : CategoryTheory.Category.{u2, u3} C] (J : CategoryTheory.GrothendieckTopology.{u2, u3} C _inst_1) {D : Type.{u1}} [_inst_2 : CategoryTheory.Category.{max u2 u3, u1} D] [_inst_5 : CategoryTheory.ConcreteCategory.{max u2 u3, max u3 u2, u1} D _inst_2] [_inst_6 : CategoryTheory.Limits.PreservesLimits.{max u3 u2, max u3 u2, u1, max (succ u3) (succ u2)} D _inst_2 Type.{max u3 u2} CategoryTheory.types.{max u3 u2} (CategoryTheory.forget.{u1, max u3 u2, max u3 u2} D _inst_2 _inst_5)] [_inst_7 : forall (P : CategoryTheory.Functor.{u2, max u3 u2, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2) (X : C) (S : CategoryTheory.GrothendieckTopology.Cover.{u2, u3} C _inst_1 J X), CategoryTheory.Limits.HasMultiequalizer.{max u3 u2, u1, max u3 u2} D _inst_2 (CategoryTheory.GrothendieckTopology.Cover.index.{u1, u2, u3} C _inst_1 X J D _inst_2 S P)] [_inst_8 : forall (X : C), CategoryTheory.Limits.HasColimitsOfShape.{max u3 u2, max u3 u2, max u3 u2, u1} (Opposite.{max (succ u3) (succ u2)} (CategoryTheory.GrothendieckTopology.Cover.{u2, u3} C _inst_1 J X)) (CategoryTheory.Category.opposite.{max u3 u2, max u3 u2} (CategoryTheory.GrothendieckTopology.Cover.{u2, u3} C _inst_1 J X) (Preorder.smallCategory.{max u3 u2} (CategoryTheory.GrothendieckTopology.Cover.{u2, u3} C _inst_1 J X) (CategoryTheory.GrothendieckTopology.instPreorderCover.{u2, u3} C _inst_1 J X))) D _inst_2] [_inst_9 : forall (X : C), CategoryTheory.Limits.PreservesColimitsOfShape.{max u3 u2, max u3 u2, max u3 u2, max u3 u2, u1, max (succ u3) (succ u2)} D _inst_2 Type.{max u3 u2} CategoryTheory.types.{max u3 u2} (Opposite.{max (succ u3) (succ u2)} (CategoryTheory.GrothendieckTopology.Cover.{u2, u3} C _inst_1 J X)) (CategoryTheory.Category.opposite.{max u3 u2, max u3 u2} (CategoryTheory.GrothendieckTopology.Cover.{u2, u3} C _inst_1 J X) (Preorder.smallCategory.{max u3 u2} (CategoryTheory.GrothendieckTopology.Cover.{u2, u3} C _inst_1 J X) (CategoryTheory.GrothendieckTopology.instPreorderCover.{u2, u3} C _inst_1 J X))) (CategoryTheory.forget.{u1, max u3 u2, max u3 u2} D _inst_2 _inst_5)] [_inst_10 : CategoryTheory.ReflectsIsomorphisms.{max u3 u2, max u3 u2, u1, max (succ u3) (succ u2)} D _inst_2 Type.{max u3 u2} CategoryTheory.types.{max u3 u2} (CategoryTheory.forget.{u1, max u3 u2, max u3 u2} D _inst_2 _inst_5)] {G : CategoryTheory.Functor.{max u3 u2, max u3 u2, max (succ u3) (succ u2), u1} Type.{max u2 u3} CategoryTheory.types.{max u3 u2} D _inst_2} (adj : CategoryTheory.Adjunction.{max u3 u2, max u3 u2, max (succ u3) (succ u2), u1} Type.{max u2 u3} CategoryTheory.types.{max u3 u2} D _inst_2 G (CategoryTheory.forget.{u1, max u3 u2, max u3 u2} D _inst_2 _inst_5)) (X : CategoryTheory.Sheaf.{u2, max u3 u2, u3, u1} C _inst_1 J D _inst_2), Eq.{max (succ u3) (succ u2)} (Quiver.Hom.{max (succ u3) (succ (max u3 u2)), max (max (max u3 u1) u2) u3 u2} (CategoryTheory.Functor.{u2, max u3 u2, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2) (CategoryTheory.CategoryStruct.toQuiver.{max u3 u2, max (max (max u3 u1) u2) u3 u2} (CategoryTheory.Functor.{u2, max u3 u2, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2) (CategoryTheory.Category.toCategoryStruct.{max u3 u2, max (max (max u3 u1) u2) u3 u2} (CategoryTheory.Functor.{u2, max u3 u2, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2) (CategoryTheory.Functor.category.{u2, max u3 u2, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2))) (CategoryTheory.Sheaf.val.{u2, max u3 u2, u3, u1} C _inst_1 J D _inst_2 (Prefunctor.obj.{succ (max u3 u2), succ (max u3 u2), max (max u3 u2) u1, max (max u3 u2) u1} (CategoryTheory.Sheaf.{u2, max u3 u2, u3, u1} C _inst_1 J D _inst_2) (CategoryTheory.CategoryStruct.toQuiver.{max u3 u2, max (max u3 u2) u1} (CategoryTheory.Sheaf.{u2, max u3 u2, u3, u1} C _inst_1 J D _inst_2) (CategoryTheory.Category.toCategoryStruct.{max u3 u2, max (max u3 u2) u1} (CategoryTheory.Sheaf.{u2, max u3 u2, u3, u1} C _inst_1 J D _inst_2) (CategoryTheory.Sheaf.instCategorySheaf.{u2, max u3 u2, u3, u1} C _inst_1 J D _inst_2))) (CategoryTheory.Sheaf.{u2, max u3 u2, u3, u1} C _inst_1 J D _inst_2) (CategoryTheory.CategoryStruct.toQuiver.{max u3 u2, max (max u3 u2) u1} (CategoryTheory.Sheaf.{u2, max u3 u2, u3, u1} C _inst_1 J D _inst_2) (CategoryTheory.Category.toCategoryStruct.{max u3 u2, max (max u3 u2) u1} (CategoryTheory.Sheaf.{u2, max u3 u2, u3, u1} C _inst_1 J D _inst_2) (CategoryTheory.Sheaf.instCategorySheaf.{u2, max u3 u2, u3, u1} C _inst_1 J D _inst_2))) (CategoryTheory.Functor.toPrefunctor.{max u3 u2, max u3 u2, max (max u3 u2) u1, max (max u3 u2) u1} (CategoryTheory.Sheaf.{u2, max u3 u2, u3, u1} C _inst_1 J D _inst_2) (CategoryTheory.Sheaf.instCategorySheaf.{u2, max u3 u2, u3, u1} C _inst_1 J D _inst_2) (CategoryTheory.Sheaf.{u2, max u3 u2, u3, u1} C _inst_1 J D _inst_2) (CategoryTheory.Sheaf.instCategorySheaf.{u2, max u3 u2, u3, u1} C _inst_1 J D _inst_2) (CategoryTheory.Functor.comp.{max u3 u2, max u3 u2, max u3 u2, max (max u3 u2) u1, max (succ u3) (succ u2), max (max u3 u2) u1} (CategoryTheory.Sheaf.{u2, max u3 u2, u3, u1} C _inst_1 J D _inst_2) (CategoryTheory.Sheaf.instCategorySheaf.{u2, max u3 u2, u3, u1} C _inst_1 J D _inst_2) (CategoryTheory.SheafOfTypes.{max u3 u2, u2, u3} C _inst_1 J) (CategoryTheory.SheafOfTypes.instCategorySheafOfTypes.{u2, u3, max u3 u2} C _inst_1 J) (CategoryTheory.Sheaf.{u2, max u3 u2, u3, u1} C _inst_1 J D _inst_2) (CategoryTheory.Sheaf.instCategorySheaf.{u2, max u3 u2, u3, u1} C _inst_1 J D _inst_2) (CategoryTheory.sheafForget.{u1, u2, u3} C _inst_1 J D _inst_2 _inst_5 _inst_6) (CategoryTheory.Sheaf.composeAndSheafifyFromTypes.{u1, u2, u3} C _inst_1 J D _inst_2 _inst_5 _inst_6 (fun (P : CategoryTheory.Functor.{u2, max u3 u2, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2) (X : C) (S : CategoryTheory.GrothendieckTopology.Cover.{u2, u3} C _inst_1 J X) => _inst_7 P X S) (fun (X : C) => _inst_8 X) (fun (X : C) => _inst_9 X) _inst_10 G))) X)) (CategoryTheory.Sheaf.val.{u2, max u3 u2, u3, u1} C _inst_1 J D _inst_2 (Prefunctor.obj.{succ (max u3 u2), succ (max u3 u2), max (max u3 u2) u1, max (max u3 u2) u1} (CategoryTheory.Sheaf.{u2, max u3 u2, u3, u1} C _inst_1 J D _inst_2) (CategoryTheory.CategoryStruct.toQuiver.{max u3 u2, max (max u3 u2) u1} (CategoryTheory.Sheaf.{u2, max u3 u2, u3, u1} C _inst_1 J D _inst_2) (CategoryTheory.Category.toCategoryStruct.{max u3 u2, max (max u3 u2) u1} (CategoryTheory.Sheaf.{u2, max u3 u2, u3, u1} C _inst_1 J D _inst_2) (CategoryTheory.Sheaf.instCategorySheaf.{u2, max u3 u2, u3, u1} C _inst_1 J D _inst_2))) (CategoryTheory.Sheaf.{u2, max u3 u2, u3, u1} C _inst_1 J D _inst_2) (CategoryTheory.CategoryStruct.toQuiver.{max u3 u2, max (max u3 u2) u1} (CategoryTheory.Sheaf.{u2, max u3 u2, u3, u1} C _inst_1 J D _inst_2) (CategoryTheory.Category.toCategoryStruct.{max u3 u2, max (max u3 u2) u1} (CategoryTheory.Sheaf.{u2, max u3 u2, u3, u1} C _inst_1 J D _inst_2) (CategoryTheory.Sheaf.instCategorySheaf.{u2, max u3 u2, u3, u1} C _inst_1 J D _inst_2))) (CategoryTheory.Functor.toPrefunctor.{max u3 u2, max u3 u2, max (max u3 u2) u1, max (max u3 u2) u1} (CategoryTheory.Sheaf.{u2, max u3 u2, u3, u1} C _inst_1 J D _inst_2) (CategoryTheory.Sheaf.instCategorySheaf.{u2, max u3 u2, u3, u1} C _inst_1 J D _inst_2) (CategoryTheory.Sheaf.{u2, max u3 u2, u3, u1} C _inst_1 J D _inst_2) (CategoryTheory.Sheaf.instCategorySheaf.{u2, max u3 u2, u3, u1} C _inst_1 J D _inst_2) (CategoryTheory.Functor.id.{max u3 u2, max (max u3 u2) u1} (CategoryTheory.Sheaf.{u2, max u3 u2, u3, u1} C _inst_1 J D _inst_2) (CategoryTheory.Sheaf.instCategorySheaf.{u2, max u3 u2, u3, u1} C _inst_1 J D _inst_2))) X))) (CategoryTheory.Sheaf.Hom.val.{u2, max u3 u2, u3, u1} C _inst_1 J D _inst_2 (Prefunctor.obj.{succ (max u3 u2), succ (max u3 u2), max (max u3 u2) u1, max (max u3 u2) u1} (CategoryTheory.Sheaf.{u2, max u3 u2, u3, u1} C _inst_1 J D _inst_2) (CategoryTheory.CategoryStruct.toQuiver.{max u3 u2, max (max u3 u2) u1} (CategoryTheory.Sheaf.{u2, max u3 u2, u3, u1} C _inst_1 J D _inst_2) (CategoryTheory.Category.toCategoryStruct.{max u3 u2, max (max u3 u2) u1} (CategoryTheory.Sheaf.{u2, max u3 u2, u3, u1} C _inst_1 J D _inst_2) (CategoryTheory.Sheaf.instCategorySheaf.{u2, max u3 u2, u3, u1} C _inst_1 J D _inst_2))) (CategoryTheory.Sheaf.{u2, max u3 u2, u3, u1} C _inst_1 J D _inst_2) (CategoryTheory.CategoryStruct.toQuiver.{max u3 u2, max (max u3 u2) u1} (CategoryTheory.Sheaf.{u2, max u3 u2, u3, u1} C _inst_1 J D _inst_2) (CategoryTheory.Category.toCategoryStruct.{max u3 u2, max (max u3 u2) u1} (CategoryTheory.Sheaf.{u2, max u3 u2, u3, u1} C _inst_1 J D _inst_2) (CategoryTheory.Sheaf.instCategorySheaf.{u2, max u3 u2, u3, u1} C _inst_1 J D _inst_2))) (CategoryTheory.Functor.toPrefunctor.{max u3 u2, max u3 u2, max (max u3 u2) u1, max (max u3 u2) u1} (CategoryTheory.Sheaf.{u2, max u3 u2, u3, u1} C _inst_1 J D _inst_2) (CategoryTheory.Sheaf.instCategorySheaf.{u2, max u3 u2, u3, u1} C _inst_1 J D _inst_2) (CategoryTheory.Sheaf.{u2, max u3 u2, u3, u1} C _inst_1 J D _inst_2) (CategoryTheory.Sheaf.instCategorySheaf.{u2, max u3 u2, u3, u1} C _inst_1 J D _inst_2) (CategoryTheory.Functor.comp.{max u3 u2, max u3 u2, max u3 u2, max (max u3 u2) u1, max (succ u3) (succ u2), max (max u3 u2) u1} (CategoryTheory.Sheaf.{u2, max u3 u2, u3, u1} C _inst_1 J D _inst_2) (CategoryTheory.Sheaf.instCategorySheaf.{u2, max u3 u2, u3, u1} C _inst_1 J D _inst_2) (CategoryTheory.SheafOfTypes.{max u3 u2, u2, u3} C _inst_1 J) (CategoryTheory.SheafOfTypes.instCategorySheafOfTypes.{u2, u3, max u3 u2} C _inst_1 J) (CategoryTheory.Sheaf.{u2, max u3 u2, u3, u1} C _inst_1 J D _inst_2) (CategoryTheory.Sheaf.instCategorySheaf.{u2, max u3 u2, u3, u1} C _inst_1 J D _inst_2) (CategoryTheory.sheafForget.{u1, u2, u3} C _inst_1 J D _inst_2 _inst_5 _inst_6) (CategoryTheory.Sheaf.composeAndSheafifyFromTypes.{u1, u2, u3} C _inst_1 J D _inst_2 _inst_5 _inst_6 (fun (P : CategoryTheory.Functor.{u2, max u3 u2, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2) (X : C) (S : CategoryTheory.GrothendieckTopology.Cover.{u2, u3} C _inst_1 J X) => _inst_7 P X S) (fun (X : C) => _inst_8 X) (fun (X : C) => _inst_9 X) _inst_10 G))) X) (Prefunctor.obj.{succ (max u3 u2), succ (max u3 u2), max (max u3 u2) u1, max (max u3 u2) u1} (CategoryTheory.Sheaf.{u2, max u3 u2, u3, u1} C _inst_1 J D _inst_2) (CategoryTheory.CategoryStruct.toQuiver.{max u3 u2, max (max u3 u2) u1} (CategoryTheory.Sheaf.{u2, max u3 u2, u3, u1} C _inst_1 J D _inst_2) (CategoryTheory.Category.toCategoryStruct.{max u3 u2, max (max u3 u2) u1} (CategoryTheory.Sheaf.{u2, max u3 u2, u3, u1} C _inst_1 J D _inst_2) (CategoryTheory.Sheaf.instCategorySheaf.{u2, max u3 u2, u3, u1} C _inst_1 J D _inst_2))) (CategoryTheory.Sheaf.{u2, max u3 u2, u3, u1} C _inst_1 J D _inst_2) (CategoryTheory.CategoryStruct.toQuiver.{max u3 u2, max (max u3 u2) u1} (CategoryTheory.Sheaf.{u2, max u3 u2, u3, u1} C _inst_1 J D _inst_2) (CategoryTheory.Category.toCategoryStruct.{max u3 u2, max (max u3 u2) u1} (CategoryTheory.Sheaf.{u2, max u3 u2, u3, u1} C _inst_1 J D _inst_2) (CategoryTheory.Sheaf.instCategorySheaf.{u2, max u3 u2, u3, u1} C _inst_1 J D _inst_2))) (CategoryTheory.Functor.toPrefunctor.{max u3 u2, max u3 u2, max (max u3 u2) u1, max (max u3 u2) u1} (CategoryTheory.Sheaf.{u2, max u3 u2, u3, u1} C _inst_1 J D _inst_2) (CategoryTheory.Sheaf.instCategorySheaf.{u2, max u3 u2, u3, u1} C _inst_1 J D _inst_2) (CategoryTheory.Sheaf.{u2, max u3 u2, u3, u1} C _inst_1 J D _inst_2) (CategoryTheory.Sheaf.instCategorySheaf.{u2, max u3 u2, u3, u1} C _inst_1 J D _inst_2) (CategoryTheory.Functor.id.{max u3 u2, max (max u3 u2) u1} (CategoryTheory.Sheaf.{u2, max u3 u2, u3, u1} C _inst_1 J D _inst_2) (CategoryTheory.Sheaf.instCategorySheaf.{u2, max u3 u2, u3, u1} C _inst_1 J D _inst_2))) X) (CategoryTheory.NatTrans.app.{max u3 u2, max u3 u2, max (max u3 u2) u1, max (max u3 u2) u1} (CategoryTheory.Sheaf.{u2, max u3 u2, u3, u1} C _inst_1 J D _inst_2) (CategoryTheory.Sheaf.instCategorySheaf.{u2, max u3 u2, u3, u1} C _inst_1 J D _inst_2) (CategoryTheory.Sheaf.{u2, max u3 u2, u3, u1} C _inst_1 J D _inst_2) (CategoryTheory.Sheaf.instCategorySheaf.{u2, max u3 u2, u3, u1} C _inst_1 J D _inst_2) (CategoryTheory.Functor.comp.{max u3 u2, max u3 u2, max u3 u2, max (max u3 u2) u1, max (succ u3) (succ u2), max (max u3 u2) u1} (CategoryTheory.Sheaf.{u2, max u3 u2, u3, u1} C _inst_1 J D _inst_2) (CategoryTheory.Sheaf.instCategorySheaf.{u2, max u3 u2, u3, u1} C _inst_1 J D _inst_2) (CategoryTheory.SheafOfTypes.{max u3 u2, u2, u3} C _inst_1 J) (CategoryTheory.SheafOfTypes.instCategorySheafOfTypes.{u2, u3, max u3 u2} C _inst_1 J) (CategoryTheory.Sheaf.{u2, max u3 u2, u3, u1} C _inst_1 J D _inst_2) (CategoryTheory.Sheaf.instCategorySheaf.{u2, max u3 u2, u3, u1} C _inst_1 J D _inst_2) (CategoryTheory.sheafForget.{u1, u2, u3} C _inst_1 J D _inst_2 _inst_5 _inst_6) (CategoryTheory.Sheaf.composeAndSheafifyFromTypes.{u1, u2, u3} C _inst_1 J D _inst_2 _inst_5 _inst_6 (fun (P : CategoryTheory.Functor.{u2, max u3 u2, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2) (X : C) (S : CategoryTheory.GrothendieckTopology.Cover.{u2, u3} C _inst_1 J X) => _inst_7 P X S) (fun (X : C) => _inst_8 X) (fun (X : C) => _inst_9 X) _inst_10 G)) (CategoryTheory.Functor.id.{max u3 u2, max (max u3 u2) u1} (CategoryTheory.Sheaf.{u2, max u3 u2, u3, u1} C _inst_1 J D _inst_2) (CategoryTheory.Sheaf.instCategorySheaf.{u2, max u3 u2, u3, u1} C _inst_1 J D _inst_2)) (CategoryTheory.Adjunction.counit.{max u3 u2, max u3 u2, max (succ u3) (succ u2), max (max u3 u2) u1} (CategoryTheory.SheafOfTypes.{max u3 u2, u2, u3} C _inst_1 J) (CategoryTheory.SheafOfTypes.instCategorySheafOfTypes.{u2, u3, max u3 u2} C _inst_1 J) (CategoryTheory.Sheaf.{u2, max u3 u2, u3, u1} C _inst_1 J D _inst_2) (CategoryTheory.Sheaf.instCategorySheaf.{u2, max u3 u2, u3, u1} C _inst_1 J D _inst_2) (CategoryTheory.Sheaf.composeAndSheafifyFromTypes.{u1, u2, u3} C _inst_1 J D _inst_2 _inst_5 _inst_6 (fun (P : CategoryTheory.Functor.{u2, max u3 u2, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2) (X : C) (S : CategoryTheory.GrothendieckTopology.Cover.{u2, u3} C _inst_1 J X) => _inst_7 P X S) (fun (X : C) => _inst_8 X) (fun (X : C) => _inst_9 X) _inst_10 G) (CategoryTheory.sheafForget.{u1, u2, u3} C _inst_1 J D _inst_2 _inst_5 _inst_6) (CategoryTheory.Sheaf.adjunctionToTypes.{u1, u2, u3} C _inst_1 J D _inst_2 _inst_5 _inst_6 (fun (P : CategoryTheory.Functor.{u2, max u3 u2, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2) (X : C) (S : CategoryTheory.GrothendieckTopology.Cover.{u2, u3} C _inst_1 J X) => _inst_7 P X S) (fun (X : C) => _inst_8 X) (fun (X : C) => _inst_9 X) _inst_10 G adj)) X)) (CategoryTheory.GrothendieckTopology.sheafifyLift.{u1, u2, u3} C _inst_1 J D _inst_2 (fun (P : CategoryTheory.Functor.{u2, max u3 u2, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2) (X : C) (S : CategoryTheory.GrothendieckTopology.Cover.{u2, u3} C _inst_1 J X) => _inst_7 P X S) (fun (X : C) => _inst_8 X) (CategoryTheory.Functor.comp.{u2, max u3 u2, max u3 u2, u3, max (succ u3) (succ u2), u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u3 u2} D _inst_2 (CategoryTheory.Functor.comp.{u2, max u3 u2, max u3 u2, u3, u1, max (succ u3) (succ u2)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2 Type.{max u2 u3} CategoryTheory.types.{max u3 u2} X.0 (CategoryTheory.forget.{u1, max u3 u2, max u3 u2} D _inst_2 _inst_5)) G) (Prefunctor.obj.{succ (max u3 u2), succ (max u3 u2), max (max (max (max u3 u2) u1) u2) u3, max (max (max (max u3 u2) u1) u2) u3} (CategoryTheory.Functor.{u2, max u3 u2, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2) (CategoryTheory.CategoryStruct.toQuiver.{max u3 u2, max (max (max (max u3 u2) u1) u2) u3} (CategoryTheory.Functor.{u2, max u3 u2, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2) (CategoryTheory.Category.toCategoryStruct.{max u3 u2, max (max (max (max u3 u2) u1) u2) u3} (CategoryTheory.Functor.{u2, max u3 u2, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2) (CategoryTheory.Functor.category.{u2, max u3 u2, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2))) (CategoryTheory.Functor.{u2, max u3 u2, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2) (CategoryTheory.CategoryStruct.toQuiver.{max u3 u2, max (max (max (max u3 u2) u1) u2) u3} (CategoryTheory.Functor.{u2, max u3 u2, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2) (CategoryTheory.Category.toCategoryStruct.{max u3 u2, max (max (max (max u3 u2) u1) u2) u3} (CategoryTheory.Functor.{u2, max u3 u2, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2) (CategoryTheory.Functor.category.{u2, max u3 u2, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2))) (CategoryTheory.Functor.toPrefunctor.{max u3 u2, max u3 u2, max (max (max (max u3 u2) u1) u2) u3, max (max (max (max u3 u2) u1) u2) u3} (CategoryTheory.Functor.{u2, max u3 u2, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2) (CategoryTheory.Functor.category.{u2, max u3 u2, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2) (CategoryTheory.Functor.{u2, max u3 u2, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2) (CategoryTheory.Functor.category.{u2, max u3 u2, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2) (CategoryTheory.Functor.id.{max u3 u2, max (max (max (max u3 u2) u1) u2) u3} (CategoryTheory.Functor.{u2, max u3 u2, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2) (CategoryTheory.Functor.category.{u2, max u3 u2, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2))) X.0) (CategoryTheory.CategoryStruct.comp.{max u3 u2, max (max u3 u2) u1} (CategoryTheory.Functor.{u2, max u3 u2, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2) (CategoryTheory.Category.toCategoryStruct.{max u3 u2, max (max u3 u2) u1} (CategoryTheory.Functor.{u2, max u3 u2, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2) (CategoryTheory.Functor.category.{u2, max u3 u2, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2)) (CategoryTheory.Functor.comp.{u2, max u3 u2, max u3 u2, u3, max (succ u3) (succ u2), u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u3 u2} D _inst_2 (CategoryTheory.Functor.comp.{u2, max u3 u2, max u3 u2, u3, u1, max (succ u3) (succ u2)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2 Type.{max u2 u3} CategoryTheory.types.{max u3 u2} X.0 (CategoryTheory.forget.{u1, max u3 u2, max u3 u2} D _inst_2 _inst_5)) G) (CategoryTheory.Functor.comp.{u2, max u3 u2, max u3 u2, u3, u1, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2 D _inst_2 X.0 (CategoryTheory.Functor.comp.{max u3 u2, max u3 u2, max u3 u2, u1, max (succ u3) (succ u2), u1} D _inst_2 Type.{max u2 u3} CategoryTheory.types.{max u3 u2} D _inst_2 (CategoryTheory.forget.{u1, max u3 u2, max u3 u2} D _inst_2 _inst_5) G)) (Prefunctor.obj.{succ (max u3 u2), succ (max u3 u2), max (max (max (max u3 u2) u1) u2) u3, max (max (max (max u3 u2) u1) u2) u3} (CategoryTheory.Functor.{u2, max u3 u2, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2) (CategoryTheory.CategoryStruct.toQuiver.{max u3 u2, max (max (max (max u3 u2) u1) u2) u3} (CategoryTheory.Functor.{u2, max u3 u2, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2) (CategoryTheory.Category.toCategoryStruct.{max u3 u2, max (max (max (max u3 u2) u1) u2) u3} (CategoryTheory.Functor.{u2, max u3 u2, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2) (CategoryTheory.Functor.category.{u2, max u3 u2, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2))) (CategoryTheory.Functor.{u2, max u3 u2, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2) (CategoryTheory.CategoryStruct.toQuiver.{max u3 u2, max (max (max (max u3 u2) u1) u2) u3} (CategoryTheory.Functor.{u2, max u3 u2, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2) (CategoryTheory.Category.toCategoryStruct.{max u3 u2, max (max (max (max u3 u2) u1) u2) u3} (CategoryTheory.Functor.{u2, max u3 u2, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2) (CategoryTheory.Functor.category.{u2, max u3 u2, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2))) (CategoryTheory.Functor.toPrefunctor.{max u3 u2, max u3 u2, max (max (max (max u3 u2) u1) u2) u3, max (max (max (max u3 u2) u1) u2) u3} (CategoryTheory.Functor.{u2, max u3 u2, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2) (CategoryTheory.Functor.category.{u2, max u3 u2, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2) (CategoryTheory.Functor.{u2, max u3 u2, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2) (CategoryTheory.Functor.category.{u2, max u3 u2, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2) (CategoryTheory.Functor.id.{max u3 u2, max (max (max (max u3 u2) u1) u2) u3} (CategoryTheory.Functor.{u2, max u3 u2, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2) (CategoryTheory.Functor.category.{u2, max u3 u2, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2))) X.0) (CategoryTheory.Iso.hom.{max u3 u2, max (max (max (max u3 u2) u1) u2) u3} (CategoryTheory.Functor.{u2, max u3 u2, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2) (CategoryTheory.Functor.category.{u2, max u3 u2, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2) (CategoryTheory.Functor.comp.{u2, max u3 u2, max u3 u2, u3, max (succ u3) (succ u2), u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u3 u2} D _inst_2 (CategoryTheory.Functor.comp.{u2, max u3 u2, max u3 u2, u3, u1, max (succ u3) (succ u2)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2 Type.{max u2 u3} CategoryTheory.types.{max u3 u2} X.0 (CategoryTheory.forget.{u1, max u3 u2, max u3 u2} D _inst_2 _inst_5)) G) (CategoryTheory.Functor.comp.{u2, max u3 u2, max u3 u2, u3, u1, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2 D _inst_2 X.0 (CategoryTheory.Functor.comp.{max u3 u2, max u3 u2, max u3 u2, u1, max (succ u3) (succ u2), u1} D _inst_2 Type.{max u2 u3} CategoryTheory.types.{max u3 u2} D _inst_2 (CategoryTheory.forget.{u1, max u3 u2, max u3 u2} D _inst_2 _inst_5) G)) (CategoryTheory.Functor.associator.{u3, u2, u1, max u3 u2, max (succ u3) (succ u2), max u3 u2, u1, max u3 u2} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2 Type.{max u2 u3} CategoryTheory.types.{max u3 u2} D _inst_2 X.0 (CategoryTheory.forget.{u1, max u3 u2, max u3 u2} D _inst_2 _inst_5) G)) (CategoryTheory.NatTrans.app.{max u3 u2, max u3 u2, max (max (max (max u3 u2) u1) u2) u3, max (max (max (max u3 u2) u1) u2) u3} (CategoryTheory.Functor.{u2, max u3 u2, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2) (CategoryTheory.Functor.category.{u2, max u3 u2, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2) (CategoryTheory.Functor.{u2, max u3 u2, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2) (CategoryTheory.Functor.category.{u2, max u3 u2, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2) (CategoryTheory.Functor.comp.{max u3 u2, max u3 u2, max u3 u2, max (max (max (max u3 u2) u1) u2) u3, max (max (max (succ u3) (succ u2)) u2) u3, max (max (max (max u3 u2) u1) u2) u3} (CategoryTheory.Functor.{u2, max u3 u2, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2) (CategoryTheory.Functor.category.{u2, max u3 u2, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2) (CategoryTheory.Functor.{u2, max u3 u2, u3, max (succ u3) (succ u2)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u3 u2}) (CategoryTheory.Functor.category.{u2, max u3 u2, u3, max (succ u3) (succ u2)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u3 u2}) (CategoryTheory.Functor.{u2, max u3 u2, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2) (CategoryTheory.Functor.category.{u2, max u3 u2, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2) (Prefunctor.obj.{max (succ u1) (succ (max u3 u2)), max (max (max (succ u3) (succ u1)) (succ u2)) (succ (max u3 u2)), max (max (max (succ u3) (succ u2)) u1) u3 u2, max (max (max (max u3 (succ u3) (succ u2)) u1) u2) u3 u2} (CategoryTheory.Functor.{max u3 u2, max u3 u2, u1, max (succ u3) (succ u2)} D _inst_2 Type.{max u2 u3} CategoryTheory.types.{max u3 u2}) (CategoryTheory.CategoryStruct.toQuiver.{max u1 u3 u2, max (max (max (succ u3) (succ u2)) u1) u3 u2} (CategoryTheory.Functor.{max u3 u2, max u3 u2, u1, max (succ u3) (succ u2)} D _inst_2 Type.{max u2 u3} CategoryTheory.types.{max u3 u2}) (CategoryTheory.Category.toCategoryStruct.{max u1 u3 u2, max (max (max (succ u3) (succ u2)) u1) u3 u2} (CategoryTheory.Functor.{max u3 u2, max u3 u2, u1, max (succ u3) (succ u2)} D _inst_2 Type.{max u2 u3} CategoryTheory.types.{max u3 u2}) (CategoryTheory.Functor.category.{max u3 u2, max u3 u2, u1, max (succ u3) (succ u2)} D _inst_2 Type.{max u2 u3} CategoryTheory.types.{max u3 u2}))) (CategoryTheory.Functor.{max u3 u2, max u3 u2, max (max (max u1 u3) u3 u2) u2, max (max (max (max (succ u3) (succ u2)) u3) u3 u2) u2} (CategoryTheory.Functor.{u2, max u3 u2, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2) (CategoryTheory.Functor.category.{u2, max u3 u2, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2) (CategoryTheory.Functor.{u2, max u3 u2, u3, max (succ u3) (succ u2)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u3 u2}) (CategoryTheory.Functor.category.{u2, max u3 u2, u3, max (succ u3) (succ u2)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u3 u2})) (CategoryTheory.CategoryStruct.toQuiver.{max (max (max u3 u1) u2) u3 u2, max (max (max (max u3 (succ u3) (succ u2)) u1) u2) u3 u2} (CategoryTheory.Functor.{max u3 u2, max u3 u2, max (max (max u1 u3) u3 u2) u2, max (max (max (max (succ u3) (succ u2)) u3) u3 u2) u2} (CategoryTheory.Functor.{u2, max u3 u2, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2) (CategoryTheory.Functor.category.{u2, max u3 u2, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2) (CategoryTheory.Functor.{u2, max u3 u2, u3, max (succ u3) (succ u2)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u3 u2}) (CategoryTheory.Functor.category.{u2, max u3 u2, u3, max (succ u3) (succ u2)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u3 u2})) (CategoryTheory.Category.toCategoryStruct.{max (max (max u3 u1) u2) u3 u2, max (max (max (max u3 (succ u3) (succ u2)) u1) u2) u3 u2} (CategoryTheory.Functor.{max u3 u2, max u3 u2, max (max (max u1 u3) u3 u2) u2, max (max (max (max (succ u3) (succ u2)) u3) u3 u2) u2} (CategoryTheory.Functor.{u2, max u3 u2, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2) (CategoryTheory.Functor.category.{u2, max u3 u2, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2) (CategoryTheory.Functor.{u2, max u3 u2, u3, max (succ u3) (succ u2)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u3 u2}) (CategoryTheory.Functor.category.{u2, max u3 u2, u3, max (succ u3) (succ u2)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u3 u2})) (CategoryTheory.Functor.category.{max u3 u2, max u3 u2, max (max (max u3 u1) u2) u3 u2, max (max (max u3 (succ u3) (succ u2)) u2) u3 u2} (CategoryTheory.Functor.{u2, max u3 u2, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2) (CategoryTheory.Functor.category.{u2, max u3 u2, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2) (CategoryTheory.Functor.{u2, max u3 u2, u3, max (succ u3) (succ u2)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u3 u2}) (CategoryTheory.Functor.category.{u2, max u3 u2, u3, max (succ u3) (succ u2)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u3 u2})))) (CategoryTheory.Functor.toPrefunctor.{max u1 u3 u2, max (max (max u3 u1) u2) u3 u2, max (max (max (succ u3) (succ u2)) u1) u3 u2, max (max (max (max u3 (succ u3) (succ u2)) u1) u2) u3 u2} (CategoryTheory.Functor.{max u3 u2, max u3 u2, u1, max (succ u3) (succ u2)} D _inst_2 Type.{max u2 u3} CategoryTheory.types.{max u3 u2}) (CategoryTheory.Functor.category.{max u3 u2, max u3 u2, u1, max (succ u3) (succ u2)} D _inst_2 Type.{max u2 u3} CategoryTheory.types.{max u3 u2}) (CategoryTheory.Functor.{max u3 u2, max u3 u2, max (max (max u1 u3) u3 u2) u2, max (max (max (max (succ u3) (succ u2)) u3) u3 u2) u2} (CategoryTheory.Functor.{u2, max u3 u2, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2) (CategoryTheory.Functor.category.{u2, max u3 u2, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2) (CategoryTheory.Functor.{u2, max u3 u2, u3, max (succ u3) (succ u2)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u3 u2}) (CategoryTheory.Functor.category.{u2, max u3 u2, u3, max (succ u3) (succ u2)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u3 u2})) (CategoryTheory.Functor.category.{max u3 u2, max u3 u2, max (max (max u3 u1) u2) u3 u2, max (max (max u3 (succ u3) (succ u2)) u2) u3 u2} (CategoryTheory.Functor.{u2, max u3 u2, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2) (CategoryTheory.Functor.category.{u2, max u3 u2, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2) (CategoryTheory.Functor.{u2, max u3 u2, u3, max (succ u3) (succ u2)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u3 u2}) (CategoryTheory.Functor.category.{u2, max u3 u2, u3, max (succ u3) (succ u2)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u3 u2})) (CategoryTheory.whiskeringRight.{u3, u2, u1, max u3 u2, max (succ u3) (succ u2), max u3 u2} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2 Type.{max u2 u3} CategoryTheory.types.{max u3 u2})) (CategoryTheory.forget.{u1, max u3 u2, max u3 u2} D _inst_2 _inst_5)) (Prefunctor.obj.{max (succ (max (succ u3) (succ u2))) (succ (max u3 u2)), max (max (max (succ u3) (succ (max (succ u3) (succ u2)))) (succ u2)) (succ (max u3 u2)), max (max (max (succ u3) (succ u2)) u1) u3 u2, max (max (max (max u3 (succ u3) (succ u2)) u1) u2) u3 u2} (CategoryTheory.Functor.{max u3 u2, max u3 u2, max (succ u3) (succ u2), u1} Type.{max u2 u3} CategoryTheory.types.{max u3 u2} D _inst_2) (CategoryTheory.CategoryStruct.toQuiver.{max (max (succ u3) (succ u2)) u3 u2, max (max (max (succ u3) (succ u2)) u1) u3 u2} (CategoryTheory.Functor.{max u3 u2, max u3 u2, max (succ u3) (succ u2), u1} Type.{max u2 u3} CategoryTheory.types.{max u3 u2} D _inst_2) (CategoryTheory.Category.toCategoryStruct.{max (max (succ u3) (succ u2)) u3 u2, max (max (max (succ u3) (succ u2)) u1) u3 u2} (CategoryTheory.Functor.{max u3 u2, max u3 u2, max (succ u3) (succ u2), u1} Type.{max u2 u3} CategoryTheory.types.{max u3 u2} D _inst_2) (CategoryTheory.Functor.category.{max u3 u2, max u3 u2, max (succ u3) (succ u2), u1} Type.{max u2 u3} CategoryTheory.types.{max u3 u2} D _inst_2))) (CategoryTheory.Functor.{max u3 u2, max u3 u2, max (max (max (max (succ u3) (succ u2)) u3) u3 u2) u2, max (max (max u1 u3) u3 u2) u2} (CategoryTheory.Functor.{u2, max u3 u2, u3, max (succ u3) (succ u2)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u3 u2}) (CategoryTheory.Functor.category.{u2, max u3 u2, u3, max (succ u3) (succ u2)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u3 u2}) (CategoryTheory.Functor.{u2, max u3 u2, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2) (CategoryTheory.Functor.category.{u2, max u3 u2, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2)) (CategoryTheory.CategoryStruct.toQuiver.{max (max (max u3 (succ u3) (succ u2)) u2) u3 u2, max (max (max (max u3 (succ u3) (succ u2)) u1) u2) u3 u2} (CategoryTheory.Functor.{max u3 u2, max u3 u2, max (max (max (max (succ u3) (succ u2)) u3) u3 u2) u2, max (max (max u1 u3) u3 u2) u2} (CategoryTheory.Functor.{u2, max u3 u2, u3, max (succ u3) (succ u2)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u3 u2}) (CategoryTheory.Functor.category.{u2, max u3 u2, u3, max (succ u3) (succ u2)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u3 u2}) (CategoryTheory.Functor.{u2, max u3 u2, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2) (CategoryTheory.Functor.category.{u2, max u3 u2, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2)) (CategoryTheory.Category.toCategoryStruct.{max (max (max u3 (succ u3) (succ u2)) u2) u3 u2, max (max (max (max u3 (succ u3) (succ u2)) u1) u2) u3 u2} (CategoryTheory.Functor.{max u3 u2, max u3 u2, max (max (max (max (succ u3) (succ u2)) u3) u3 u2) u2, max (max (max u1 u3) u3 u2) u2} (CategoryTheory.Functor.{u2, max u3 u2, u3, max (succ u3) (succ u2)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u3 u2}) (CategoryTheory.Functor.category.{u2, max u3 u2, u3, max (succ u3) (succ u2)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u3 u2}) (CategoryTheory.Functor.{u2, max u3 u2, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2) (CategoryTheory.Functor.category.{u2, max u3 u2, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2)) (CategoryTheory.Functor.category.{max u3 u2, max u3 u2, max (max (max u3 (succ u3) (succ u2)) u2) u3 u2, max (max (max u3 u1) u2) u3 u2} (CategoryTheory.Functor.{u2, max u3 u2, u3, max (succ u3) (succ u2)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u3 u2}) (CategoryTheory.Functor.category.{u2, max u3 u2, u3, max (succ u3) (succ u2)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u3 u2}) (CategoryTheory.Functor.{u2, max u3 u2, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2) (CategoryTheory.Functor.category.{u2, max u3 u2, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2)))) (CategoryTheory.Functor.toPrefunctor.{max (max (succ u3) (succ u2)) u3 u2, max (max (max u3 (succ u3) (succ u2)) u2) u3 u2, max (max (max (succ u3) (succ u2)) u1) u3 u2, max (max (max (max u3 (succ u3) (succ u2)) u1) u2) u3 u2} (CategoryTheory.Functor.{max u3 u2, max u3 u2, max (succ u3) (succ u2), u1} Type.{max u2 u3} CategoryTheory.types.{max u3 u2} D _inst_2) (CategoryTheory.Functor.category.{max u3 u2, max u3 u2, max (succ u3) (succ u2), u1} Type.{max u2 u3} CategoryTheory.types.{max u3 u2} D _inst_2) (CategoryTheory.Functor.{max u3 u2, max u3 u2, max (max (max (max (succ u3) (succ u2)) u3) u3 u2) u2, max (max (max u1 u3) u3 u2) u2} (CategoryTheory.Functor.{u2, max u3 u2, u3, max (succ u3) (succ u2)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u3 u2}) (CategoryTheory.Functor.category.{u2, max u3 u2, u3, max (succ u3) (succ u2)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u3 u2}) (CategoryTheory.Functor.{u2, max u3 u2, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2) (CategoryTheory.Functor.category.{u2, max u3 u2, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2)) (CategoryTheory.Functor.category.{max u3 u2, max u3 u2, max (max (max u3 (succ u3) (succ u2)) u2) u3 u2, max (max (max u3 u1) u2) u3 u2} (CategoryTheory.Functor.{u2, max u3 u2, u3, max (succ u3) (succ u2)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u3 u2}) (CategoryTheory.Functor.category.{u2, max u3 u2, u3, max (succ u3) (succ u2)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u3 u2}) (CategoryTheory.Functor.{u2, max u3 u2, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2) (CategoryTheory.Functor.category.{u2, max u3 u2, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2)) (CategoryTheory.whiskeringRight.{u3, u2, max (succ u3) (succ u2), max u3 u2, u1, max u3 u2} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u3 u2} D _inst_2)) G)) (CategoryTheory.Functor.id.{max u3 u2, max (max (max (max u3 u2) u1) u2) u3} (CategoryTheory.Functor.{u2, max u3 u2, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2) (CategoryTheory.Functor.category.{u2, max u3 u2, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2)) (CategoryTheory.Adjunction.counit.{max u3 u2, max u3 u2, max (max (max (succ u3) (succ u2)) u2) u3, max (max (max (max u3 u2) u1) u2) u3} (CategoryTheory.Functor.{u2, max u3 u2, u3, max (succ u3) (succ u2)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u3 u2}) (CategoryTheory.Functor.category.{u2, max u3 u2, u3, max (succ u3) (succ u2)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u3 u2}) (CategoryTheory.Functor.{u2, max u3 u2, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2) (CategoryTheory.Functor.category.{u2, max u3 u2, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2) (Prefunctor.obj.{max (succ (max (succ u3) (succ u2))) (succ (max u3 u2)), max (max (max (succ u3) (succ (max (succ u3) (succ u2)))) (succ u2)) (succ (max u3 u2)), max (max (max (succ u3) (succ u2)) u1) u3 u2, max (max (max (max u3 (succ u3) (succ u2)) u1) u2) u3 u2} (CategoryTheory.Functor.{max u3 u2, max u3 u2, max (succ u3) (succ u2), u1} Type.{max u2 u3} CategoryTheory.types.{max u3 u2} D _inst_2) (CategoryTheory.CategoryStruct.toQuiver.{max (max (succ u3) (succ u2)) u3 u2, max (max (max (succ u3) (succ u2)) u1) u3 u2} (CategoryTheory.Functor.{max u3 u2, max u3 u2, max (succ u3) (succ u2), u1} Type.{max u2 u3} CategoryTheory.types.{max u3 u2} D _inst_2) (CategoryTheory.Category.toCategoryStruct.{max (max (succ u3) (succ u2)) u3 u2, max (max (max (succ u3) (succ u2)) u1) u3 u2} (CategoryTheory.Functor.{max u3 u2, max u3 u2, max (succ u3) (succ u2), u1} Type.{max u2 u3} CategoryTheory.types.{max u3 u2} D _inst_2) (CategoryTheory.Functor.category.{max u3 u2, max u3 u2, max (succ u3) (succ u2), u1} Type.{max u2 u3} CategoryTheory.types.{max u3 u2} D _inst_2))) (CategoryTheory.Functor.{max u3 u2, max u3 u2, max (max (max (max (succ u3) (succ u2)) u3) u3 u2) u2, max (max (max u1 u3) u3 u2) u2} (CategoryTheory.Functor.{u2, max u3 u2, u3, max (succ u3) (succ u2)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u3 u2}) (CategoryTheory.Functor.category.{u2, max u3 u2, u3, max (succ u3) (succ u2)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u3 u2}) (CategoryTheory.Functor.{u2, max u3 u2, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2) (CategoryTheory.Functor.category.{u2, max u3 u2, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2)) (CategoryTheory.CategoryStruct.toQuiver.{max (max (max u3 (succ u3) (succ u2)) u2) u3 u2, max (max (max (max u3 (succ u3) (succ u2)) u1) u2) u3 u2} (CategoryTheory.Functor.{max u3 u2, max u3 u2, max (max (max (max (succ u3) (succ u2)) u3) u3 u2) u2, max (max (max u1 u3) u3 u2) u2} (CategoryTheory.Functor.{u2, max u3 u2, u3, max (succ u3) (succ u2)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u3 u2}) (CategoryTheory.Functor.category.{u2, max u3 u2, u3, max (succ u3) (succ u2)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u3 u2}) (CategoryTheory.Functor.{u2, max u3 u2, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2) (CategoryTheory.Functor.category.{u2, max u3 u2, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2)) (CategoryTheory.Category.toCategoryStruct.{max (max (max u3 (succ u3) (succ u2)) u2) u3 u2, max (max (max (max u3 (succ u3) (succ u2)) u1) u2) u3 u2} (CategoryTheory.Functor.{max u3 u2, max u3 u2, max (max (max (max (succ u3) (succ u2)) u3) u3 u2) u2, max (max (max u1 u3) u3 u2) u2} (CategoryTheory.Functor.{u2, max u3 u2, u3, max (succ u3) (succ u2)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u3 u2}) (CategoryTheory.Functor.category.{u2, max u3 u2, u3, max (succ u3) (succ u2)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u3 u2}) (CategoryTheory.Functor.{u2, max u3 u2, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2) (CategoryTheory.Functor.category.{u2, max u3 u2, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2)) (CategoryTheory.Functor.category.{max u3 u2, max u3 u2, max (max (max u3 (succ u3) (succ u2)) u2) u3 u2, max (max (max u3 u1) u2) u3 u2} (CategoryTheory.Functor.{u2, max u3 u2, u3, max (succ u3) (succ u2)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u3 u2}) (CategoryTheory.Functor.category.{u2, max u3 u2, u3, max (succ u3) (succ u2)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u3 u2}) (CategoryTheory.Functor.{u2, max u3 u2, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2) (CategoryTheory.Functor.category.{u2, max u3 u2, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2)))) (CategoryTheory.Functor.toPrefunctor.{max (max (succ u3) (succ u2)) u3 u2, max (max (max u3 (succ u3) (succ u2)) u2) u3 u2, max (max (max (succ u3) (succ u2)) u1) u3 u2, max (max (max (max u3 (succ u3) (succ u2)) u1) u2) u3 u2} (CategoryTheory.Functor.{max u3 u2, max u3 u2, max (succ u3) (succ u2), u1} Type.{max u2 u3} CategoryTheory.types.{max u3 u2} D _inst_2) (CategoryTheory.Functor.category.{max u3 u2, max u3 u2, max (succ u3) (succ u2), u1} Type.{max u2 u3} CategoryTheory.types.{max u3 u2} D _inst_2) (CategoryTheory.Functor.{max u3 u2, max u3 u2, max (max (max (max (succ u3) (succ u2)) u3) u3 u2) u2, max (max (max u1 u3) u3 u2) u2} (CategoryTheory.Functor.{u2, max u3 u2, u3, max (succ u3) (succ u2)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u3 u2}) (CategoryTheory.Functor.category.{u2, max u3 u2, u3, max (succ u3) (succ u2)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u3 u2}) (CategoryTheory.Functor.{u2, max u3 u2, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2) (CategoryTheory.Functor.category.{u2, max u3 u2, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2)) (CategoryTheory.Functor.category.{max u3 u2, max u3 u2, max (max (max u3 (succ u3) (succ u2)) u2) u3 u2, max (max (max u3 u1) u2) u3 u2} (CategoryTheory.Functor.{u2, max u3 u2, u3, max (succ u3) (succ u2)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u3 u2}) (CategoryTheory.Functor.category.{u2, max u3 u2, u3, max (succ u3) (succ u2)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u3 u2}) (CategoryTheory.Functor.{u2, max u3 u2, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2) (CategoryTheory.Functor.category.{u2, max u3 u2, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2)) (CategoryTheory.whiskeringRight.{u3, u2, max (succ u3) (succ u2), max u3 u2, u1, max u3 u2} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u3 u2} D _inst_2)) G) (Prefunctor.obj.{max (succ u1) (succ (max u3 u2)), max (max (max (succ u3) (succ u1)) (succ u2)) (succ (max u3 u2)), max (max (max (succ u3) (succ u2)) u1) u3 u2, max (max (max (max u3 (succ u3) (succ u2)) u1) u2) u3 u2} (CategoryTheory.Functor.{max u3 u2, max u3 u2, u1, max (succ u3) (succ u2)} D _inst_2 Type.{max u2 u3} CategoryTheory.types.{max u3 u2}) (CategoryTheory.CategoryStruct.toQuiver.{max u1 u3 u2, max (max (max (succ u3) (succ u2)) u1) u3 u2} (CategoryTheory.Functor.{max u3 u2, max u3 u2, u1, max (succ u3) (succ u2)} D _inst_2 Type.{max u2 u3} CategoryTheory.types.{max u3 u2}) (CategoryTheory.Category.toCategoryStruct.{max u1 u3 u2, max (max (max (succ u3) (succ u2)) u1) u3 u2} (CategoryTheory.Functor.{max u3 u2, max u3 u2, u1, max (succ u3) (succ u2)} D _inst_2 Type.{max u2 u3} CategoryTheory.types.{max u3 u2}) (CategoryTheory.Functor.category.{max u3 u2, max u3 u2, u1, max (succ u3) (succ u2)} D _inst_2 Type.{max u2 u3} CategoryTheory.types.{max u3 u2}))) (CategoryTheory.Functor.{max u3 u2, max u3 u2, max (max (max u1 u3) u3 u2) u2, max (max (max (max (succ u3) (succ u2)) u3) u3 u2) u2} (CategoryTheory.Functor.{u2, max u3 u2, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2) (CategoryTheory.Functor.category.{u2, max u3 u2, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2) (CategoryTheory.Functor.{u2, max u3 u2, u3, max (succ u3) (succ u2)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u3 u2}) (CategoryTheory.Functor.category.{u2, max u3 u2, u3, max (succ u3) (succ u2)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u3 u2})) (CategoryTheory.CategoryStruct.toQuiver.{max (max (max u3 u1) u2) u3 u2, max (max (max (max u3 (succ u3) (succ u2)) u1) u2) u3 u2} (CategoryTheory.Functor.{max u3 u2, max u3 u2, max (max (max u1 u3) u3 u2) u2, max (max (max (max (succ u3) (succ u2)) u3) u3 u2) u2} (CategoryTheory.Functor.{u2, max u3 u2, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2) (CategoryTheory.Functor.category.{u2, max u3 u2, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2) (CategoryTheory.Functor.{u2, max u3 u2, u3, max (succ u3) (succ u2)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u3 u2}) (CategoryTheory.Functor.category.{u2, max u3 u2, u3, max (succ u3) (succ u2)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u3 u2})) (CategoryTheory.Category.toCategoryStruct.{max (max (max u3 u1) u2) u3 u2, max (max (max (max u3 (succ u3) (succ u2)) u1) u2) u3 u2} (CategoryTheory.Functor.{max u3 u2, max u3 u2, max (max (max u1 u3) u3 u2) u2, max (max (max (max (succ u3) (succ u2)) u3) u3 u2) u2} (CategoryTheory.Functor.{u2, max u3 u2, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2) (CategoryTheory.Functor.category.{u2, max u3 u2, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2) (CategoryTheory.Functor.{u2, max u3 u2, u3, max (succ u3) (succ u2)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u3 u2}) (CategoryTheory.Functor.category.{u2, max u3 u2, u3, max (succ u3) (succ u2)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u3 u2})) (CategoryTheory.Functor.category.{max u3 u2, max u3 u2, max (max (max u3 u1) u2) u3 u2, max (max (max u3 (succ u3) (succ u2)) u2) u3 u2} (CategoryTheory.Functor.{u2, max u3 u2, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2) (CategoryTheory.Functor.category.{u2, max u3 u2, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2) (CategoryTheory.Functor.{u2, max u3 u2, u3, max (succ u3) (succ u2)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u3 u2}) (CategoryTheory.Functor.category.{u2, max u3 u2, u3, max (succ u3) (succ u2)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u3 u2})))) (CategoryTheory.Functor.toPrefunctor.{max u1 u3 u2, max (max (max u3 u1) u2) u3 u2, max (max (max (succ u3) (succ u2)) u1) u3 u2, max (max (max (max u3 (succ u3) (succ u2)) u1) u2) u3 u2} (CategoryTheory.Functor.{max u3 u2, max u3 u2, u1, max (succ u3) (succ u2)} D _inst_2 Type.{max u2 u3} CategoryTheory.types.{max u3 u2}) (CategoryTheory.Functor.category.{max u3 u2, max u3 u2, u1, max (succ u3) (succ u2)} D _inst_2 Type.{max u2 u3} CategoryTheory.types.{max u3 u2}) (CategoryTheory.Functor.{max u3 u2, max u3 u2, max (max (max u1 u3) u3 u2) u2, max (max (max (max (succ u3) (succ u2)) u3) u3 u2) u2} (CategoryTheory.Functor.{u2, max u3 u2, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2) (CategoryTheory.Functor.category.{u2, max u3 u2, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2) (CategoryTheory.Functor.{u2, max u3 u2, u3, max (succ u3) (succ u2)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u3 u2}) (CategoryTheory.Functor.category.{u2, max u3 u2, u3, max (succ u3) (succ u2)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u3 u2})) (CategoryTheory.Functor.category.{max u3 u2, max u3 u2, max (max (max u3 u1) u2) u3 u2, max (max (max u3 (succ u3) (succ u2)) u2) u3 u2} (CategoryTheory.Functor.{u2, max u3 u2, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2) (CategoryTheory.Functor.category.{u2, max u3 u2, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2) (CategoryTheory.Functor.{u2, max u3 u2, u3, max (succ u3) (succ u2)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u3 u2}) (CategoryTheory.Functor.category.{u2, max u3 u2, u3, max (succ u3) (succ u2)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u3 u2})) (CategoryTheory.whiskeringRight.{u3, u2, u1, max u3 u2, max (succ u3) (succ u2), max u3 u2} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2 Type.{max u2 u3} CategoryTheory.types.{max u3 u2})) (CategoryTheory.forget.{u1, max u3 u2, max u3 u2} D _inst_2 _inst_5)) (CategoryTheory.Adjunction.whiskerRight.{u3, max (succ u3) (succ u2), u1, u2, max u3 u2, max u3 u2} (Opposite.{succ u3} C) Type.{max u2 u3} D (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) CategoryTheory.types.{max u3 u2} _inst_2 G (CategoryTheory.forget.{u1, max u3 u2, max u3 u2} D _inst_2 _inst_5) adj)) X.0)) (CategoryTheory.Sheaf.cond.{u2, max u3 u2, u3, u1} C _inst_1 J D _inst_2 X))
+<too large>
 Case conversion may be inaccurate. Consider using '#align category_theory.Sheaf.adjunction_to_types_counit_app_val CategoryTheory.Sheaf.adjunctionToTypes_counit_app_valₓ'. -/
 @[simp]
 theorem adjunctionToTypes_counit_app_val {G : Type max v u ⥤ D} (adj : G ⊣ forget D)
Diff
@@ -4,7 +4,7 @@ Released under Apache 2.0 license as described in the file LICENSE.
 Authors: Adam Topaz
 
 ! This file was ported from Lean 3 source module category_theory.sites.adjunction
-! leanprover-community/mathlib commit 70fd9563a21e7b963887c9360bd29b2393e6225a
+! leanprover-community/mathlib commit f2b757fc5c341d88741b9c4630b1e8ba973c5726
 ! Please do not edit these lines, except to modify the commit id
 ! if you have ported upstream changes.
 -/
@@ -13,6 +13,9 @@ import Mathbin.CategoryTheory.Sites.Sheafification
 import Mathbin.CategoryTheory.Sites.Whiskering
 
 /-!
+> THIS FILE IS SYNCHRONIZED WITH MATHLIB4.
+> Any changes to this file require a corresponding PR to mathlib4.
+
 
 In this file, we show that an adjunction `F ⊣ G` induces an adjunction between
 categories of sheaves, under certain hypotheses on `F` and `G`.
Diff
@@ -44,11 +44,13 @@ variable [∀ (X : C) (S : J.cover X) (P : Cᵒᵖ ⥤ D), PreservesLimit (S.ind
 
 variable [ConcreteCategory.{max v u} D] [PreservesLimits (forget D)]
 
+#print CategoryTheory.sheafForget /-
 /-- The forgetful functor from `Sheaf J D` to sheaves of types, for a concrete category `D`
 whose forgetful functor preserves the correct limits. -/
 abbrev sheafForget : Sheaf J D ⥤ SheafOfTypes J :=
   sheafCompose J (forget D) ⋙ (sheafEquivSheafOfTypes J).Functor
 #align category_theory.Sheaf_forget CategoryTheory.sheafForget
+-/
 
 -- We need to sheafify...
 variable [∀ (P : Cᵒᵖ ⥤ D) (X : C) (S : J.cover X), HasMultiequalizer (S.index P)]
@@ -59,12 +61,24 @@ namespace Sheaf
 
 noncomputable section
 
+/- warning: category_theory.Sheaf.compose_and_sheafify -> CategoryTheory.Sheaf.composeAndSheafify is a dubious translation:
+lean 3 declaration is
+  forall {C : Type.{u4}} [_inst_1 : CategoryTheory.Category.{u3, u4} C] (J : CategoryTheory.GrothendieckTopology.{u3, u4} C _inst_1) {D : Type.{u1}} [_inst_2 : CategoryTheory.Category.{max u3 u4, u1} D] {E : Type.{u2}} [_inst_3 : CategoryTheory.Category.{max u3 u4, u2} E] [_inst_5 : CategoryTheory.ConcreteCategory.{max u3 u4, max u3 u4, u1} D _inst_2] [_inst_6 : CategoryTheory.Limits.PreservesLimits.{max u3 u4, max u3 u4, u1, succ (max u3 u4)} D _inst_2 Type.{max u3 u4} CategoryTheory.types.{max u3 u4} (CategoryTheory.forget.{u1, max u3 u4, max u3 u4} D _inst_2 _inst_5)] [_inst_7 : forall (P : CategoryTheory.Functor.{u3, max u3 u4, u4, u1} (Opposite.{succ u4} C) (CategoryTheory.Category.opposite.{u3, u4} C _inst_1) D _inst_2) (X : C) (S : CategoryTheory.GrothendieckTopology.Cover.{u3, u4} C _inst_1 J X), CategoryTheory.Limits.HasMultiequalizer.{max u3 u4, u1, max u4 u3} D _inst_2 (CategoryTheory.GrothendieckTopology.Cover.index.{u1, u3, u4} C _inst_1 X J D _inst_2 S P)] [_inst_8 : forall (X : C), CategoryTheory.Limits.HasColimitsOfShape.{max u4 u3, max u4 u3, max u3 u4, u1} (Opposite.{succ (max u4 u3)} (CategoryTheory.GrothendieckTopology.Cover.{u3, u4} C _inst_1 J X)) (CategoryTheory.Category.opposite.{max u4 u3, max u4 u3} (CategoryTheory.GrothendieckTopology.Cover.{u3, u4} C _inst_1 J X) (Preorder.smallCategory.{max u4 u3} (CategoryTheory.GrothendieckTopology.Cover.{u3, u4} C _inst_1 J X) (CategoryTheory.GrothendieckTopology.Cover.preorder.{u3, u4} C _inst_1 J X))) D _inst_2] [_inst_9 : forall (X : C), CategoryTheory.Limits.PreservesColimitsOfShape.{max u4 u3, max u4 u3, max u3 u4, max u3 u4, u1, succ (max u3 u4)} D _inst_2 Type.{max u3 u4} CategoryTheory.types.{max u3 u4} (Opposite.{succ (max u4 u3)} (CategoryTheory.GrothendieckTopology.Cover.{u3, u4} C _inst_1 J X)) (CategoryTheory.Category.opposite.{max u4 u3, max u4 u3} (CategoryTheory.GrothendieckTopology.Cover.{u3, u4} C _inst_1 J X) (Preorder.smallCategory.{max u4 u3} (CategoryTheory.GrothendieckTopology.Cover.{u3, u4} C _inst_1 J X) (CategoryTheory.GrothendieckTopology.Cover.preorder.{u3, u4} C _inst_1 J X))) (CategoryTheory.forget.{u1, max u3 u4, max u3 u4} D _inst_2 _inst_5)] [_inst_10 : CategoryTheory.ReflectsIsomorphisms.{max u3 u4, max u3 u4, u1, succ (max u3 u4)} D _inst_2 Type.{max u3 u4} CategoryTheory.types.{max u3 u4} (CategoryTheory.forget.{u1, max u3 u4, max u3 u4} D _inst_2 _inst_5)], (CategoryTheory.Functor.{max u3 u4, max u3 u4, u2, u1} E _inst_3 D _inst_2) -> (CategoryTheory.Functor.{max u3 u4, max u3 u4, max u4 u2 u3 u4, max u4 u1 u3 u4} (CategoryTheory.Sheaf.{u3, max u3 u4, u4, u2} C _inst_1 J E _inst_3) (CategoryTheory.Sheaf.CategoryTheory.category.{u3, max u3 u4, u4, u2} C _inst_1 J E _inst_3) (CategoryTheory.Sheaf.{u3, max u3 u4, u4, u1} C _inst_1 J D _inst_2) (CategoryTheory.Sheaf.CategoryTheory.category.{u3, max u3 u4, u4, u1} C _inst_1 J D _inst_2))
+but is expected to have type
+  forall {C : Type.{u4}} [_inst_1 : CategoryTheory.Category.{u3, u4} C] (J : CategoryTheory.GrothendieckTopology.{u3, u4} C _inst_1) {D : Type.{u1}} [_inst_2 : CategoryTheory.Category.{max u3 u4, u1} D] {E : Type.{u2}} [_inst_3 : CategoryTheory.Category.{max u3 u4, u2} E] [_inst_5 : CategoryTheory.ConcreteCategory.{max u3 u4, max u4 u3, u1} D _inst_2] [_inst_6 : CategoryTheory.Limits.PreservesLimits.{max u4 u3, max u4 u3, u1, max (succ u4) (succ u3)} D _inst_2 Type.{max u4 u3} CategoryTheory.types.{max u4 u3} (CategoryTheory.forget.{u1, max u4 u3, max u4 u3} D _inst_2 _inst_5)] [_inst_7 : forall (P : CategoryTheory.Functor.{u3, max u4 u3, u4, u1} (Opposite.{succ u4} C) (CategoryTheory.Category.opposite.{u3, u4} C _inst_1) D _inst_2) (X : C) (S : CategoryTheory.GrothendieckTopology.Cover.{u3, u4} C _inst_1 J X), CategoryTheory.Limits.HasMultiequalizer.{max u4 u3, u1, max u4 u3} D _inst_2 (CategoryTheory.GrothendieckTopology.Cover.index.{u1, u3, u4} C _inst_1 X J D _inst_2 S P)] [_inst_8 : forall (X : C), CategoryTheory.Limits.HasColimitsOfShape.{max u4 u3, max u4 u3, max u4 u3, u1} (Opposite.{max (succ u4) (succ u3)} (CategoryTheory.GrothendieckTopology.Cover.{u3, u4} C _inst_1 J X)) (CategoryTheory.Category.opposite.{max u4 u3, max u4 u3} (CategoryTheory.GrothendieckTopology.Cover.{u3, u4} C _inst_1 J X) (Preorder.smallCategory.{max u4 u3} (CategoryTheory.GrothendieckTopology.Cover.{u3, u4} C _inst_1 J X) (CategoryTheory.GrothendieckTopology.instPreorderCover.{u3, u4} C _inst_1 J X))) D _inst_2] [_inst_9 : forall (X : C), CategoryTheory.Limits.PreservesColimitsOfShape.{max u4 u3, max u4 u3, max u4 u3, max u4 u3, u1, max (succ u4) (succ u3)} D _inst_2 Type.{max u4 u3} CategoryTheory.types.{max u4 u3} (Opposite.{max (succ u4) (succ u3)} (CategoryTheory.GrothendieckTopology.Cover.{u3, u4} C _inst_1 J X)) (CategoryTheory.Category.opposite.{max u4 u3, max u4 u3} (CategoryTheory.GrothendieckTopology.Cover.{u3, u4} C _inst_1 J X) (Preorder.smallCategory.{max u4 u3} (CategoryTheory.GrothendieckTopology.Cover.{u3, u4} C _inst_1 J X) (CategoryTheory.GrothendieckTopology.instPreorderCover.{u3, u4} C _inst_1 J X))) (CategoryTheory.forget.{u1, max u4 u3, max u4 u3} D _inst_2 _inst_5)] [_inst_10 : CategoryTheory.ReflectsIsomorphisms.{max u4 u3, max u4 u3, u1, max (succ u4) (succ u3)} D _inst_2 Type.{max u4 u3} CategoryTheory.types.{max u4 u3} (CategoryTheory.forget.{u1, max u4 u3, max u4 u3} D _inst_2 _inst_5)], (CategoryTheory.Functor.{max u4 u3, max u4 u3, u2, u1} E _inst_3 D _inst_2) -> (CategoryTheory.Functor.{max u4 u3, max u4 u3, max (max (max u2 u4) u4 u3) u3, max (max (max u1 u4) u4 u3) u3} (CategoryTheory.Sheaf.{u3, max u4 u3, u4, u2} C _inst_1 J E _inst_3) (CategoryTheory.Sheaf.instCategorySheaf.{u3, max u4 u3, u4, u2} C _inst_1 J E _inst_3) (CategoryTheory.Sheaf.{u3, max u4 u3, u4, u1} C _inst_1 J D _inst_2) (CategoryTheory.Sheaf.instCategorySheaf.{u3, max u4 u3, u4, u1} C _inst_1 J D _inst_2))
+Case conversion may be inaccurate. Consider using '#align category_theory.Sheaf.compose_and_sheafify CategoryTheory.Sheaf.composeAndSheafifyₓ'. -/
 /-- This is the functor sending a sheaf `X : Sheaf J E` to the sheafification
 of `X ⋙ G`. -/
 abbrev composeAndSheafify (G : E ⥤ D) : Sheaf J E ⥤ Sheaf J D :=
   sheafToPresheaf J E ⋙ (whiskeringRight _ _ _).obj G ⋙ presheafToSheaf J D
 #align category_theory.Sheaf.compose_and_sheafify CategoryTheory.Sheaf.composeAndSheafify
 
+/- warning: category_theory.Sheaf.compose_equiv -> CategoryTheory.Sheaf.composeEquiv is a dubious translation:
+lean 3 declaration is
+  forall {C : Type.{u4}} [_inst_1 : CategoryTheory.Category.{u3, u4} C] (J : CategoryTheory.GrothendieckTopology.{u3, u4} C _inst_1) {D : Type.{u1}} [_inst_2 : CategoryTheory.Category.{max u3 u4, u1} D] {E : Type.{u2}} [_inst_3 : CategoryTheory.Category.{max u3 u4, u2} E] {F : CategoryTheory.Functor.{max u3 u4, max u3 u4, u1, u2} D _inst_2 E _inst_3} {G : CategoryTheory.Functor.{max u3 u4, max u3 u4, u2, u1} E _inst_3 D _inst_2} [_inst_4 : forall (X : C) (S : CategoryTheory.GrothendieckTopology.Cover.{u3, u4} C _inst_1 J X) (P : CategoryTheory.Functor.{u3, max u3 u4, u4, u1} (Opposite.{succ u4} C) (CategoryTheory.Category.opposite.{u3, u4} C _inst_1) D _inst_2), CategoryTheory.Limits.PreservesLimit.{max u4 u3, max u4 u3, max u3 u4, max u3 u4, u1, u2} D _inst_2 E _inst_3 (CategoryTheory.Limits.WalkingMulticospan.{max u4 u3} (CategoryTheory.Limits.MulticospanIndex.L.{max u4 u3, max u3 u4, u1} D _inst_2 (CategoryTheory.GrothendieckTopology.Cover.index.{u1, u3, u4} C _inst_1 X J D _inst_2 S P)) (CategoryTheory.Limits.MulticospanIndex.R.{max u4 u3, max u3 u4, u1} D _inst_2 (CategoryTheory.GrothendieckTopology.Cover.index.{u1, u3, u4} C _inst_1 X J D _inst_2 S P)) (CategoryTheory.Limits.MulticospanIndex.fstTo.{max u4 u3, max u3 u4, u1} D _inst_2 (CategoryTheory.GrothendieckTopology.Cover.index.{u1, u3, u4} C _inst_1 X J D _inst_2 S P)) (CategoryTheory.Limits.MulticospanIndex.sndTo.{max u4 u3, max u3 u4, u1} D _inst_2 (CategoryTheory.GrothendieckTopology.Cover.index.{u1, u3, u4} C _inst_1 X J D _inst_2 S P))) (CategoryTheory.Limits.WalkingMulticospan.CategoryTheory.smallCategory.{max u4 u3} (CategoryTheory.Limits.MulticospanIndex.L.{max u4 u3, max u3 u4, u1} D _inst_2 (CategoryTheory.GrothendieckTopology.Cover.index.{u1, u3, u4} C _inst_1 X J D _inst_2 S P)) (CategoryTheory.Limits.MulticospanIndex.R.{max u4 u3, max u3 u4, u1} D _inst_2 (CategoryTheory.GrothendieckTopology.Cover.index.{u1, u3, u4} C _inst_1 X J D _inst_2 S P)) (CategoryTheory.Limits.MulticospanIndex.fstTo.{max u4 u3, max u3 u4, u1} D _inst_2 (CategoryTheory.GrothendieckTopology.Cover.index.{u1, u3, u4} C _inst_1 X J D _inst_2 S P)) (CategoryTheory.Limits.MulticospanIndex.sndTo.{max u4 u3, max u3 u4, u1} D _inst_2 (CategoryTheory.GrothendieckTopology.Cover.index.{u1, u3, u4} C _inst_1 X J D _inst_2 S P))) (CategoryTheory.Limits.MulticospanIndex.multicospan.{max u3 u4, u1, max u4 u3} D _inst_2 (CategoryTheory.GrothendieckTopology.Cover.index.{u1, u3, u4} C _inst_1 X J D _inst_2 S P)) F] [_inst_5 : CategoryTheory.ConcreteCategory.{max u3 u4, max u3 u4, u1} D _inst_2] [_inst_6 : CategoryTheory.Limits.PreservesLimits.{max u3 u4, max u3 u4, u1, succ (max u3 u4)} D _inst_2 Type.{max u3 u4} CategoryTheory.types.{max u3 u4} (CategoryTheory.forget.{u1, max u3 u4, max u3 u4} D _inst_2 _inst_5)] [_inst_7 : forall (P : CategoryTheory.Functor.{u3, max u3 u4, u4, u1} (Opposite.{succ u4} C) (CategoryTheory.Category.opposite.{u3, u4} C _inst_1) D _inst_2) (X : C) (S : CategoryTheory.GrothendieckTopology.Cover.{u3, u4} C _inst_1 J X), CategoryTheory.Limits.HasMultiequalizer.{max u3 u4, u1, max u4 u3} D _inst_2 (CategoryTheory.GrothendieckTopology.Cover.index.{u1, u3, u4} C _inst_1 X J D _inst_2 S P)] [_inst_8 : forall (X : C), CategoryTheory.Limits.HasColimitsOfShape.{max u4 u3, max u4 u3, max u3 u4, u1} (Opposite.{succ (max u4 u3)} (CategoryTheory.GrothendieckTopology.Cover.{u3, u4} C _inst_1 J X)) (CategoryTheory.Category.opposite.{max u4 u3, max u4 u3} (CategoryTheory.GrothendieckTopology.Cover.{u3, u4} C _inst_1 J X) (Preorder.smallCategory.{max u4 u3} (CategoryTheory.GrothendieckTopology.Cover.{u3, u4} C _inst_1 J X) (CategoryTheory.GrothendieckTopology.Cover.preorder.{u3, u4} C _inst_1 J X))) D _inst_2] [_inst_9 : forall (X : C), CategoryTheory.Limits.PreservesColimitsOfShape.{max u4 u3, max u4 u3, max u3 u4, max u3 u4, u1, succ (max u3 u4)} D _inst_2 Type.{max u3 u4} CategoryTheory.types.{max u3 u4} (Opposite.{succ (max u4 u3)} (CategoryTheory.GrothendieckTopology.Cover.{u3, u4} C _inst_1 J X)) (CategoryTheory.Category.opposite.{max u4 u3, max u4 u3} (CategoryTheory.GrothendieckTopology.Cover.{u3, u4} C _inst_1 J X) (Preorder.smallCategory.{max u4 u3} (CategoryTheory.GrothendieckTopology.Cover.{u3, u4} C _inst_1 J X) (CategoryTheory.GrothendieckTopology.Cover.preorder.{u3, u4} C _inst_1 J X))) (CategoryTheory.forget.{u1, max u3 u4, max u3 u4} D _inst_2 _inst_5)] [_inst_10 : CategoryTheory.ReflectsIsomorphisms.{max u3 u4, max u3 u4, u1, succ (max u3 u4)} D _inst_2 Type.{max u3 u4} CategoryTheory.types.{max u3 u4} (CategoryTheory.forget.{u1, max u3 u4, max u3 u4} D _inst_2 _inst_5)], (CategoryTheory.Adjunction.{max u3 u4, max u3 u4, u2, u1} E _inst_3 D _inst_2 G F) -> (forall (X : CategoryTheory.Sheaf.{u3, max u3 u4, u4, u2} C _inst_1 J E _inst_3) (Y : CategoryTheory.Sheaf.{u3, max u3 u4, u4, u1} C _inst_1 J D _inst_2), Equiv.{succ (max u3 u4), succ (max u3 u4)} (Quiver.Hom.{succ (max u3 u4), max u4 u1 u3 u4} (CategoryTheory.Sheaf.{u3, max u3 u4, u4, u1} C _inst_1 J D _inst_2) (CategoryTheory.CategoryStruct.toQuiver.{max u3 u4, max u4 u1 u3 u4} (CategoryTheory.Sheaf.{u3, max u3 u4, u4, u1} C _inst_1 J D _inst_2) (CategoryTheory.Category.toCategoryStruct.{max u3 u4, max u4 u1 u3 u4} (CategoryTheory.Sheaf.{u3, max u3 u4, u4, u1} C _inst_1 J D _inst_2) (CategoryTheory.Sheaf.CategoryTheory.category.{u3, max u3 u4, u4, u1} C _inst_1 J D _inst_2))) (CategoryTheory.Functor.obj.{max u3 u4, max u3 u4, max u4 u2 u3 u4, max u4 u1 u3 u4} (CategoryTheory.Sheaf.{u3, max u3 u4, u4, u2} C _inst_1 J E _inst_3) (CategoryTheory.Sheaf.CategoryTheory.category.{u3, max u3 u4, u4, u2} C _inst_1 J E _inst_3) (CategoryTheory.Sheaf.{u3, max u3 u4, u4, u1} C _inst_1 J D _inst_2) (CategoryTheory.Sheaf.CategoryTheory.category.{u3, max u3 u4, u4, u1} C _inst_1 J D _inst_2) (CategoryTheory.Sheaf.composeAndSheafify.{u1, u2, u3, u4} C _inst_1 J D _inst_2 E _inst_3 _inst_5 _inst_6 (CategoryTheory.Sheaf.composeEquiv._proof_1.{u4, u3, u1} C _inst_1 J D _inst_2 _inst_7) (CategoryTheory.Sheaf.composeEquiv._proof_2.{u4, u3, u1} C _inst_1 J D _inst_2 _inst_8) (fun (X : C) => _inst_9 X) _inst_10 G) X) Y) (Quiver.Hom.{succ (max u3 u4), max u4 u2 u3 u4} (CategoryTheory.Sheaf.{u3, max u3 u4, u4, u2} C _inst_1 J E _inst_3) (CategoryTheory.CategoryStruct.toQuiver.{max u3 u4, max u4 u2 u3 u4} (CategoryTheory.Sheaf.{u3, max u3 u4, u4, u2} C _inst_1 J E _inst_3) (CategoryTheory.Category.toCategoryStruct.{max u3 u4, max u4 u2 u3 u4} (CategoryTheory.Sheaf.{u3, max u3 u4, u4, u2} C _inst_1 J E _inst_3) (CategoryTheory.Sheaf.CategoryTheory.category.{u3, max u3 u4, u4, u2} C _inst_1 J E _inst_3))) X (CategoryTheory.Functor.obj.{max u3 u4, max u3 u4, max u4 u1 u3 u4, max u4 u2 u3 u4} (CategoryTheory.Sheaf.{u3, max u3 u4, u4, u1} C _inst_1 J D _inst_2) (CategoryTheory.Sheaf.CategoryTheory.category.{u3, max u3 u4, u4, u1} C _inst_1 J D _inst_2) (CategoryTheory.Sheaf.{u3, max u3 u4, u4, u2} C _inst_1 J E _inst_3) (CategoryTheory.Sheaf.CategoryTheory.category.{u3, max u3 u4, u4, u2} C _inst_1 J E _inst_3) (CategoryTheory.sheafCompose.{u3, u4, u1, u2} C _inst_1 D _inst_2 E _inst_3 J F (fun (X : C) (S : CategoryTheory.GrothendieckTopology.Cover.{u3, u4} C _inst_1 J X) (P : CategoryTheory.Functor.{u3, max u3 u4, u4, u1} (Opposite.{succ u4} C) (CategoryTheory.Category.opposite.{u3, u4} C _inst_1) D _inst_2) => _inst_4 X S P)) Y)))
+but is expected to have type
+  forall {C : Type.{u4}} [_inst_1 : CategoryTheory.Category.{u3, u4} C] (J : CategoryTheory.GrothendieckTopology.{u3, u4} C _inst_1) {D : Type.{u1}} [_inst_2 : CategoryTheory.Category.{max u3 u4, u1} D] {E : Type.{u2}} [_inst_3 : CategoryTheory.Category.{max u3 u4, u2} E] {F : CategoryTheory.Functor.{max u4 u3, max u4 u3, u1, u2} D _inst_2 E _inst_3} {G : CategoryTheory.Functor.{max u4 u3, max u4 u3, u2, u1} E _inst_3 D _inst_2} [_inst_4 : forall (X : C) (S : CategoryTheory.GrothendieckTopology.Cover.{u3, u4} C _inst_1 J X) (P : CategoryTheory.Functor.{u3, max u4 u3, u4, u1} (Opposite.{succ u4} C) (CategoryTheory.Category.opposite.{u3, u4} C _inst_1) D _inst_2), CategoryTheory.Limits.PreservesLimit.{max u4 u3, max u4 u3, max u4 u3, max u4 u3, u1, u2} D _inst_2 E _inst_3 (CategoryTheory.Limits.WalkingMulticospan.{max u4 u3} (CategoryTheory.Limits.MulticospanIndex.L.{max u4 u3, max u4 u3, u1} D _inst_2 (CategoryTheory.GrothendieckTopology.Cover.index.{u1, u3, u4} C _inst_1 X J D _inst_2 S P)) (CategoryTheory.Limits.MulticospanIndex.R.{max u4 u3, max u4 u3, u1} D _inst_2 (CategoryTheory.GrothendieckTopology.Cover.index.{u1, u3, u4} C _inst_1 X J D _inst_2 S P)) (CategoryTheory.Limits.MulticospanIndex.fstTo.{max u4 u3, max u4 u3, u1} D _inst_2 (CategoryTheory.GrothendieckTopology.Cover.index.{u1, u3, u4} C _inst_1 X J D _inst_2 S P)) (CategoryTheory.Limits.MulticospanIndex.sndTo.{max u4 u3, max u4 u3, u1} D _inst_2 (CategoryTheory.GrothendieckTopology.Cover.index.{u1, u3, u4} C _inst_1 X J D _inst_2 S P))) (CategoryTheory.Limits.WalkingMulticospan.instSmallCategoryWalkingMulticospan.{max u4 u3} (CategoryTheory.Limits.MulticospanIndex.L.{max u4 u3, max u4 u3, u1} D _inst_2 (CategoryTheory.GrothendieckTopology.Cover.index.{u1, u3, u4} C _inst_1 X J D _inst_2 S P)) (CategoryTheory.Limits.MulticospanIndex.R.{max u4 u3, max u4 u3, u1} D _inst_2 (CategoryTheory.GrothendieckTopology.Cover.index.{u1, u3, u4} C _inst_1 X J D _inst_2 S P)) (CategoryTheory.Limits.MulticospanIndex.fstTo.{max u4 u3, max u4 u3, u1} D _inst_2 (CategoryTheory.GrothendieckTopology.Cover.index.{u1, u3, u4} C _inst_1 X J D _inst_2 S P)) (CategoryTheory.Limits.MulticospanIndex.sndTo.{max u4 u3, max u4 u3, u1} D _inst_2 (CategoryTheory.GrothendieckTopology.Cover.index.{u1, u3, u4} C _inst_1 X J D _inst_2 S P))) (CategoryTheory.Limits.MulticospanIndex.multicospan.{max u4 u3, u1, max u4 u3} D _inst_2 (CategoryTheory.GrothendieckTopology.Cover.index.{u1, u3, u4} C _inst_1 X J D _inst_2 S P)) F] [_inst_5 : CategoryTheory.ConcreteCategory.{max u3 u4, max u4 u3, u1} D _inst_2] [_inst_6 : CategoryTheory.Limits.PreservesLimits.{max u4 u3, max u4 u3, u1, max (succ u4) (succ u3)} D _inst_2 Type.{max u4 u3} CategoryTheory.types.{max u4 u3} (CategoryTheory.forget.{u1, max u4 u3, max u4 u3} D _inst_2 _inst_5)] [_inst_7 : forall (P : CategoryTheory.Functor.{u3, max u4 u3, u4, u1} (Opposite.{succ u4} C) (CategoryTheory.Category.opposite.{u3, u4} C _inst_1) D _inst_2) (X : C) (S : CategoryTheory.GrothendieckTopology.Cover.{u3, u4} C _inst_1 J X), CategoryTheory.Limits.HasMultiequalizer.{max u4 u3, u1, max u4 u3} D _inst_2 (CategoryTheory.GrothendieckTopology.Cover.index.{u1, u3, u4} C _inst_1 X J D _inst_2 S P)] [_inst_8 : forall (X : C), CategoryTheory.Limits.HasColimitsOfShape.{max u4 u3, max u4 u3, max u4 u3, u1} (Opposite.{max (succ u4) (succ u3)} (CategoryTheory.GrothendieckTopology.Cover.{u3, u4} C _inst_1 J X)) (CategoryTheory.Category.opposite.{max u4 u3, max u4 u3} (CategoryTheory.GrothendieckTopology.Cover.{u3, u4} C _inst_1 J X) (Preorder.smallCategory.{max u4 u3} (CategoryTheory.GrothendieckTopology.Cover.{u3, u4} C _inst_1 J X) (CategoryTheory.GrothendieckTopology.instPreorderCover.{u3, u4} C _inst_1 J X))) D _inst_2] [_inst_9 : forall (X : C), CategoryTheory.Limits.PreservesColimitsOfShape.{max u4 u3, max u4 u3, max u4 u3, max u4 u3, u1, max (succ u4) (succ u3)} D _inst_2 Type.{max u4 u3} CategoryTheory.types.{max u4 u3} (Opposite.{max (succ u4) (succ u3)} (CategoryTheory.GrothendieckTopology.Cover.{u3, u4} C _inst_1 J X)) (CategoryTheory.Category.opposite.{max u4 u3, max u4 u3} (CategoryTheory.GrothendieckTopology.Cover.{u3, u4} C _inst_1 J X) (Preorder.smallCategory.{max u4 u3} (CategoryTheory.GrothendieckTopology.Cover.{u3, u4} C _inst_1 J X) (CategoryTheory.GrothendieckTopology.instPreorderCover.{u3, u4} C _inst_1 J X))) (CategoryTheory.forget.{u1, max u4 u3, max u4 u3} D _inst_2 _inst_5)] [_inst_10 : CategoryTheory.ReflectsIsomorphisms.{max u4 u3, max u4 u3, u1, max (succ u4) (succ u3)} D _inst_2 Type.{max u4 u3} CategoryTheory.types.{max u4 u3} (CategoryTheory.forget.{u1, max u4 u3, max u4 u3} D _inst_2 _inst_5)], (CategoryTheory.Adjunction.{max u4 u3, max u4 u3, u2, u1} E _inst_3 D _inst_2 G F) -> (forall (X : CategoryTheory.Sheaf.{u3, max u4 u3, u4, u2} C _inst_1 J E _inst_3) (Y : CategoryTheory.Sheaf.{u3, max u4 u3, u4, u1} C _inst_1 J D _inst_2), Equiv.{max (succ u4) (succ u3), max (succ u4) (succ u3)} (Quiver.Hom.{max (succ u4) (succ u3), max (max u4 u3) u1} (CategoryTheory.Sheaf.{u3, max u4 u3, u4, u1} C _inst_1 J D _inst_2) (CategoryTheory.CategoryStruct.toQuiver.{max u4 u3, max (max u4 u3) u1} (CategoryTheory.Sheaf.{u3, max u4 u3, u4, u1} C _inst_1 J D _inst_2) (CategoryTheory.Category.toCategoryStruct.{max u4 u3, max (max u4 u3) u1} (CategoryTheory.Sheaf.{u3, max u4 u3, u4, u1} C _inst_1 J D _inst_2) (CategoryTheory.Sheaf.instCategorySheaf.{u3, max u4 u3, u4, u1} C _inst_1 J D _inst_2))) (Prefunctor.obj.{max (succ u4) (succ u3), max (succ u4) (succ u3), max (max u4 u3) u2, max (max u4 u3) u1} (CategoryTheory.Sheaf.{u3, max u4 u3, u4, u2} C _inst_1 J E _inst_3) (CategoryTheory.CategoryStruct.toQuiver.{max u4 u3, max (max u4 u3) u2} (CategoryTheory.Sheaf.{u3, max u4 u3, u4, u2} C _inst_1 J E _inst_3) (CategoryTheory.Category.toCategoryStruct.{max u4 u3, max (max u4 u3) u2} (CategoryTheory.Sheaf.{u3, max u4 u3, u4, u2} C _inst_1 J E _inst_3) (CategoryTheory.Sheaf.instCategorySheaf.{u3, max u4 u3, u4, u2} C _inst_1 J E _inst_3))) (CategoryTheory.Sheaf.{u3, max u4 u3, u4, u1} C _inst_1 J D _inst_2) (CategoryTheory.CategoryStruct.toQuiver.{max u4 u3, max (max u4 u3) u1} (CategoryTheory.Sheaf.{u3, max u4 u3, u4, u1} C _inst_1 J D _inst_2) (CategoryTheory.Category.toCategoryStruct.{max u4 u3, max (max u4 u3) u1} (CategoryTheory.Sheaf.{u3, max u4 u3, u4, u1} C _inst_1 J D _inst_2) (CategoryTheory.Sheaf.instCategorySheaf.{u3, max u4 u3, u4, u1} C _inst_1 J D _inst_2))) (CategoryTheory.Functor.toPrefunctor.{max u4 u3, max u4 u3, max (max u4 u3) u2, max (max u4 u3) u1} (CategoryTheory.Sheaf.{u3, max u4 u3, u4, u2} C _inst_1 J E _inst_3) (CategoryTheory.Sheaf.instCategorySheaf.{u3, max u4 u3, u4, u2} C _inst_1 J E _inst_3) (CategoryTheory.Sheaf.{u3, max u4 u3, u4, u1} C _inst_1 J D _inst_2) (CategoryTheory.Sheaf.instCategorySheaf.{u3, max u4 u3, u4, u1} C _inst_1 J D _inst_2) (CategoryTheory.Sheaf.composeAndSheafify.{u1, u2, u3, u4} C _inst_1 J D _inst_2 E _inst_3 _inst_5 _inst_6 (fun (P : CategoryTheory.Functor.{u3, max u4 u3, u4, u1} (Opposite.{succ u4} C) (CategoryTheory.Category.opposite.{u3, u4} C _inst_1) D _inst_2) (X : C) (S : CategoryTheory.GrothendieckTopology.Cover.{u3, u4} C _inst_1 J X) => _inst_7 P X S) (fun (X : C) => _inst_8 X) (fun (X : C) => _inst_9 X) _inst_10 G)) X) Y) (Quiver.Hom.{max (succ u4) (succ u3), max (max u4 u3) u2} (CategoryTheory.Sheaf.{u3, max u4 u3, u4, u2} C _inst_1 J E _inst_3) (CategoryTheory.CategoryStruct.toQuiver.{max u4 u3, max (max u4 u3) u2} (CategoryTheory.Sheaf.{u3, max u4 u3, u4, u2} C _inst_1 J E _inst_3) (CategoryTheory.Category.toCategoryStruct.{max u4 u3, max (max u4 u3) u2} (CategoryTheory.Sheaf.{u3, max u4 u3, u4, u2} C _inst_1 J E _inst_3) (CategoryTheory.Sheaf.instCategorySheaf.{u3, max u4 u3, u4, u2} C _inst_1 J E _inst_3))) X (Prefunctor.obj.{max (succ u4) (succ u3), max (succ u4) (succ u3), max (max u4 u3) u1, max (max u4 u3) u2} (CategoryTheory.Sheaf.{u3, max u4 u3, u4, u1} C _inst_1 J D _inst_2) (CategoryTheory.CategoryStruct.toQuiver.{max u4 u3, max (max u4 u3) u1} (CategoryTheory.Sheaf.{u3, max u4 u3, u4, u1} C _inst_1 J D _inst_2) (CategoryTheory.Category.toCategoryStruct.{max u4 u3, max (max u4 u3) u1} (CategoryTheory.Sheaf.{u3, max u4 u3, u4, u1} C _inst_1 J D _inst_2) (CategoryTheory.Sheaf.instCategorySheaf.{u3, max u4 u3, u4, u1} C _inst_1 J D _inst_2))) (CategoryTheory.Sheaf.{u3, max u4 u3, u4, u2} C _inst_1 J E _inst_3) (CategoryTheory.CategoryStruct.toQuiver.{max u4 u3, max (max u4 u3) u2} (CategoryTheory.Sheaf.{u3, max u4 u3, u4, u2} C _inst_1 J E _inst_3) (CategoryTheory.Category.toCategoryStruct.{max u4 u3, max (max u4 u3) u2} (CategoryTheory.Sheaf.{u3, max u4 u3, u4, u2} C _inst_1 J E _inst_3) (CategoryTheory.Sheaf.instCategorySheaf.{u3, max u4 u3, u4, u2} C _inst_1 J E _inst_3))) (CategoryTheory.Functor.toPrefunctor.{max u4 u3, max u4 u3, max (max u4 u3) u1, max (max u4 u3) u2} (CategoryTheory.Sheaf.{u3, max u4 u3, u4, u1} C _inst_1 J D _inst_2) (CategoryTheory.Sheaf.instCategorySheaf.{u3, max u4 u3, u4, u1} C _inst_1 J D _inst_2) (CategoryTheory.Sheaf.{u3, max u4 u3, u4, u2} C _inst_1 J E _inst_3) (CategoryTheory.Sheaf.instCategorySheaf.{u3, max u4 u3, u4, u2} C _inst_1 J E _inst_3) (CategoryTheory.sheafCompose.{u3, u4, u1, u2} C _inst_1 D _inst_2 E _inst_3 J F (fun (X : C) (S : CategoryTheory.GrothendieckTopology.Cover.{u3, u4} C _inst_1 J X) (P : CategoryTheory.Functor.{u3, max u4 u3, u4, u1} (Opposite.{succ u4} C) (CategoryTheory.Category.opposite.{u3, u4} C _inst_1) D _inst_2) => _inst_4 X S P))) Y)))
+Case conversion may be inaccurate. Consider using '#align category_theory.Sheaf.compose_equiv CategoryTheory.Sheaf.composeEquivₓ'. -/
 /-- An auxiliary definition to be used in defining `category_theory.Sheaf.adjunction` below. -/
 @[simps]
 def composeEquiv (adj : G ⊣ F) (X : Sheaf J E) (Y : Sheaf J D) :
@@ -86,6 +100,12 @@ def composeEquiv (adj : G ⊣ F) (X : Sheaf J E) (Y : Sheaf J D) :
       rw [J.to_sheafify_sheafify_lift, Equiv.apply_symm_apply] }
 #align category_theory.Sheaf.compose_equiv CategoryTheory.Sheaf.composeEquiv
 
+/- warning: category_theory.Sheaf.adjunction -> CategoryTheory.Sheaf.adjunction is a dubious translation:
+lean 3 declaration is
+  forall {C : Type.{u4}} [_inst_1 : CategoryTheory.Category.{u3, u4} C] (J : CategoryTheory.GrothendieckTopology.{u3, u4} C _inst_1) {D : Type.{u1}} [_inst_2 : CategoryTheory.Category.{max u3 u4, u1} D] {E : Type.{u2}} [_inst_3 : CategoryTheory.Category.{max u3 u4, u2} E] {F : CategoryTheory.Functor.{max u3 u4, max u3 u4, u1, u2} D _inst_2 E _inst_3} {G : CategoryTheory.Functor.{max u3 u4, max u3 u4, u2, u1} E _inst_3 D _inst_2} [_inst_4 : forall (X : C) (S : CategoryTheory.GrothendieckTopology.Cover.{u3, u4} C _inst_1 J X) (P : CategoryTheory.Functor.{u3, max u3 u4, u4, u1} (Opposite.{succ u4} C) (CategoryTheory.Category.opposite.{u3, u4} C _inst_1) D _inst_2), CategoryTheory.Limits.PreservesLimit.{max u4 u3, max u4 u3, max u3 u4, max u3 u4, u1, u2} D _inst_2 E _inst_3 (CategoryTheory.Limits.WalkingMulticospan.{max u4 u3} (CategoryTheory.Limits.MulticospanIndex.L.{max u4 u3, max u3 u4, u1} D _inst_2 (CategoryTheory.GrothendieckTopology.Cover.index.{u1, u3, u4} C _inst_1 X J D _inst_2 S P)) (CategoryTheory.Limits.MulticospanIndex.R.{max u4 u3, max u3 u4, u1} D _inst_2 (CategoryTheory.GrothendieckTopology.Cover.index.{u1, u3, u4} C _inst_1 X J D _inst_2 S P)) (CategoryTheory.Limits.MulticospanIndex.fstTo.{max u4 u3, max u3 u4, u1} D _inst_2 (CategoryTheory.GrothendieckTopology.Cover.index.{u1, u3, u4} C _inst_1 X J D _inst_2 S P)) (CategoryTheory.Limits.MulticospanIndex.sndTo.{max u4 u3, max u3 u4, u1} D _inst_2 (CategoryTheory.GrothendieckTopology.Cover.index.{u1, u3, u4} C _inst_1 X J D _inst_2 S P))) (CategoryTheory.Limits.WalkingMulticospan.CategoryTheory.smallCategory.{max u4 u3} (CategoryTheory.Limits.MulticospanIndex.L.{max u4 u3, max u3 u4, u1} D _inst_2 (CategoryTheory.GrothendieckTopology.Cover.index.{u1, u3, u4} C _inst_1 X J D _inst_2 S P)) (CategoryTheory.Limits.MulticospanIndex.R.{max u4 u3, max u3 u4, u1} D _inst_2 (CategoryTheory.GrothendieckTopology.Cover.index.{u1, u3, u4} C _inst_1 X J D _inst_2 S P)) (CategoryTheory.Limits.MulticospanIndex.fstTo.{max u4 u3, max u3 u4, u1} D _inst_2 (CategoryTheory.GrothendieckTopology.Cover.index.{u1, u3, u4} C _inst_1 X J D _inst_2 S P)) (CategoryTheory.Limits.MulticospanIndex.sndTo.{max u4 u3, max u3 u4, u1} D _inst_2 (CategoryTheory.GrothendieckTopology.Cover.index.{u1, u3, u4} C _inst_1 X J D _inst_2 S P))) (CategoryTheory.Limits.MulticospanIndex.multicospan.{max u3 u4, u1, max u4 u3} D _inst_2 (CategoryTheory.GrothendieckTopology.Cover.index.{u1, u3, u4} C _inst_1 X J D _inst_2 S P)) F] [_inst_5 : CategoryTheory.ConcreteCategory.{max u3 u4, max u3 u4, u1} D _inst_2] [_inst_6 : CategoryTheory.Limits.PreservesLimits.{max u3 u4, max u3 u4, u1, succ (max u3 u4)} D _inst_2 Type.{max u3 u4} CategoryTheory.types.{max u3 u4} (CategoryTheory.forget.{u1, max u3 u4, max u3 u4} D _inst_2 _inst_5)] [_inst_7 : forall (P : CategoryTheory.Functor.{u3, max u3 u4, u4, u1} (Opposite.{succ u4} C) (CategoryTheory.Category.opposite.{u3, u4} C _inst_1) D _inst_2) (X : C) (S : CategoryTheory.GrothendieckTopology.Cover.{u3, u4} C _inst_1 J X), CategoryTheory.Limits.HasMultiequalizer.{max u3 u4, u1, max u4 u3} D _inst_2 (CategoryTheory.GrothendieckTopology.Cover.index.{u1, u3, u4} C _inst_1 X J D _inst_2 S P)] [_inst_8 : forall (X : C), CategoryTheory.Limits.HasColimitsOfShape.{max u4 u3, max u4 u3, max u3 u4, u1} (Opposite.{succ (max u4 u3)} (CategoryTheory.GrothendieckTopology.Cover.{u3, u4} C _inst_1 J X)) (CategoryTheory.Category.opposite.{max u4 u3, max u4 u3} (CategoryTheory.GrothendieckTopology.Cover.{u3, u4} C _inst_1 J X) (Preorder.smallCategory.{max u4 u3} (CategoryTheory.GrothendieckTopology.Cover.{u3, u4} C _inst_1 J X) (CategoryTheory.GrothendieckTopology.Cover.preorder.{u3, u4} C _inst_1 J X))) D _inst_2] [_inst_9 : forall (X : C), CategoryTheory.Limits.PreservesColimitsOfShape.{max u4 u3, max u4 u3, max u3 u4, max u3 u4, u1, succ (max u3 u4)} D _inst_2 Type.{max u3 u4} CategoryTheory.types.{max u3 u4} (Opposite.{succ (max u4 u3)} (CategoryTheory.GrothendieckTopology.Cover.{u3, u4} C _inst_1 J X)) (CategoryTheory.Category.opposite.{max u4 u3, max u4 u3} (CategoryTheory.GrothendieckTopology.Cover.{u3, u4} C _inst_1 J X) (Preorder.smallCategory.{max u4 u3} (CategoryTheory.GrothendieckTopology.Cover.{u3, u4} C _inst_1 J X) (CategoryTheory.GrothendieckTopology.Cover.preorder.{u3, u4} C _inst_1 J X))) (CategoryTheory.forget.{u1, max u3 u4, max u3 u4} D _inst_2 _inst_5)] [_inst_10 : CategoryTheory.ReflectsIsomorphisms.{max u3 u4, max u3 u4, u1, succ (max u3 u4)} D _inst_2 Type.{max u3 u4} CategoryTheory.types.{max u3 u4} (CategoryTheory.forget.{u1, max u3 u4, max u3 u4} D _inst_2 _inst_5)], (CategoryTheory.Adjunction.{max u3 u4, max u3 u4, u2, u1} E _inst_3 D _inst_2 G F) -> (CategoryTheory.Adjunction.{max u3 u4, max u3 u4, max u4 u2 u3 u4, max u4 u1 u3 u4} (CategoryTheory.Sheaf.{u3, max u3 u4, u4, u2} C _inst_1 J E _inst_3) (CategoryTheory.Sheaf.CategoryTheory.category.{u3, max u3 u4, u4, u2} C _inst_1 J E _inst_3) (CategoryTheory.Sheaf.{u3, max u3 u4, u4, u1} C _inst_1 J D _inst_2) (CategoryTheory.Sheaf.CategoryTheory.category.{u3, max u3 u4, u4, u1} C _inst_1 J D _inst_2) (CategoryTheory.Sheaf.composeAndSheafify.{u1, u2, u3, u4} C _inst_1 J D _inst_2 E _inst_3 _inst_5 _inst_6 (CategoryTheory.Sheaf.adjunction._proof_1.{u4, u3, u1} C _inst_1 J D _inst_2 _inst_7) (CategoryTheory.Sheaf.adjunction._proof_2.{u4, u3, u1} C _inst_1 J D _inst_2 _inst_8) (fun (X : C) => _inst_9 X) _inst_10 G) (CategoryTheory.sheafCompose.{u3, u4, u1, u2} C _inst_1 D _inst_2 E _inst_3 J F (fun (X : C) (S : CategoryTheory.GrothendieckTopology.Cover.{u3, u4} C _inst_1 J X) (P : CategoryTheory.Functor.{u3, max u3 u4, u4, u1} (Opposite.{succ u4} C) (CategoryTheory.Category.opposite.{u3, u4} C _inst_1) D _inst_2) => _inst_4 X S P)))
+but is expected to have type
+  forall {C : Type.{u4}} [_inst_1 : CategoryTheory.Category.{u3, u4} C] (J : CategoryTheory.GrothendieckTopology.{u3, u4} C _inst_1) {D : Type.{u1}} [_inst_2 : CategoryTheory.Category.{max u3 u4, u1} D] {E : Type.{u2}} [_inst_3 : CategoryTheory.Category.{max u3 u4, u2} E] {F : CategoryTheory.Functor.{max u4 u3, max u4 u3, u1, u2} D _inst_2 E _inst_3} {G : CategoryTheory.Functor.{max u4 u3, max u4 u3, u2, u1} E _inst_3 D _inst_2} [_inst_4 : forall (X : C) (S : CategoryTheory.GrothendieckTopology.Cover.{u3, u4} C _inst_1 J X) (P : CategoryTheory.Functor.{u3, max u4 u3, u4, u1} (Opposite.{succ u4} C) (CategoryTheory.Category.opposite.{u3, u4} C _inst_1) D _inst_2), CategoryTheory.Limits.PreservesLimit.{max u4 u3, max u4 u3, max u4 u3, max u4 u3, u1, u2} D _inst_2 E _inst_3 (CategoryTheory.Limits.WalkingMulticospan.{max u4 u3} (CategoryTheory.Limits.MulticospanIndex.L.{max u4 u3, max u4 u3, u1} D _inst_2 (CategoryTheory.GrothendieckTopology.Cover.index.{u1, u3, u4} C _inst_1 X J D _inst_2 S P)) (CategoryTheory.Limits.MulticospanIndex.R.{max u4 u3, max u4 u3, u1} D _inst_2 (CategoryTheory.GrothendieckTopology.Cover.index.{u1, u3, u4} C _inst_1 X J D _inst_2 S P)) (CategoryTheory.Limits.MulticospanIndex.fstTo.{max u4 u3, max u4 u3, u1} D _inst_2 (CategoryTheory.GrothendieckTopology.Cover.index.{u1, u3, u4} C _inst_1 X J D _inst_2 S P)) (CategoryTheory.Limits.MulticospanIndex.sndTo.{max u4 u3, max u4 u3, u1} D _inst_2 (CategoryTheory.GrothendieckTopology.Cover.index.{u1, u3, u4} C _inst_1 X J D _inst_2 S P))) (CategoryTheory.Limits.WalkingMulticospan.instSmallCategoryWalkingMulticospan.{max u4 u3} (CategoryTheory.Limits.MulticospanIndex.L.{max u4 u3, max u4 u3, u1} D _inst_2 (CategoryTheory.GrothendieckTopology.Cover.index.{u1, u3, u4} C _inst_1 X J D _inst_2 S P)) (CategoryTheory.Limits.MulticospanIndex.R.{max u4 u3, max u4 u3, u1} D _inst_2 (CategoryTheory.GrothendieckTopology.Cover.index.{u1, u3, u4} C _inst_1 X J D _inst_2 S P)) (CategoryTheory.Limits.MulticospanIndex.fstTo.{max u4 u3, max u4 u3, u1} D _inst_2 (CategoryTheory.GrothendieckTopology.Cover.index.{u1, u3, u4} C _inst_1 X J D _inst_2 S P)) (CategoryTheory.Limits.MulticospanIndex.sndTo.{max u4 u3, max u4 u3, u1} D _inst_2 (CategoryTheory.GrothendieckTopology.Cover.index.{u1, u3, u4} C _inst_1 X J D _inst_2 S P))) (CategoryTheory.Limits.MulticospanIndex.multicospan.{max u4 u3, u1, max u4 u3} D _inst_2 (CategoryTheory.GrothendieckTopology.Cover.index.{u1, u3, u4} C _inst_1 X J D _inst_2 S P)) F] [_inst_5 : CategoryTheory.ConcreteCategory.{max u3 u4, max u4 u3, u1} D _inst_2] [_inst_6 : CategoryTheory.Limits.PreservesLimits.{max u4 u3, max u4 u3, u1, max (succ u4) (succ u3)} D _inst_2 Type.{max u4 u3} CategoryTheory.types.{max u4 u3} (CategoryTheory.forget.{u1, max u4 u3, max u4 u3} D _inst_2 _inst_5)] [_inst_7 : forall (P : CategoryTheory.Functor.{u3, max u4 u3, u4, u1} (Opposite.{succ u4} C) (CategoryTheory.Category.opposite.{u3, u4} C _inst_1) D _inst_2) (X : C) (S : CategoryTheory.GrothendieckTopology.Cover.{u3, u4} C _inst_1 J X), CategoryTheory.Limits.HasMultiequalizer.{max u4 u3, u1, max u4 u3} D _inst_2 (CategoryTheory.GrothendieckTopology.Cover.index.{u1, u3, u4} C _inst_1 X J D _inst_2 S P)] [_inst_8 : forall (X : C), CategoryTheory.Limits.HasColimitsOfShape.{max u4 u3, max u4 u3, max u4 u3, u1} (Opposite.{max (succ u4) (succ u3)} (CategoryTheory.GrothendieckTopology.Cover.{u3, u4} C _inst_1 J X)) (CategoryTheory.Category.opposite.{max u4 u3, max u4 u3} (CategoryTheory.GrothendieckTopology.Cover.{u3, u4} C _inst_1 J X) (Preorder.smallCategory.{max u4 u3} (CategoryTheory.GrothendieckTopology.Cover.{u3, u4} C _inst_1 J X) (CategoryTheory.GrothendieckTopology.instPreorderCover.{u3, u4} C _inst_1 J X))) D _inst_2] [_inst_9 : forall (X : C), CategoryTheory.Limits.PreservesColimitsOfShape.{max u4 u3, max u4 u3, max u4 u3, max u4 u3, u1, max (succ u4) (succ u3)} D _inst_2 Type.{max u4 u3} CategoryTheory.types.{max u4 u3} (Opposite.{max (succ u4) (succ u3)} (CategoryTheory.GrothendieckTopology.Cover.{u3, u4} C _inst_1 J X)) (CategoryTheory.Category.opposite.{max u4 u3, max u4 u3} (CategoryTheory.GrothendieckTopology.Cover.{u3, u4} C _inst_1 J X) (Preorder.smallCategory.{max u4 u3} (CategoryTheory.GrothendieckTopology.Cover.{u3, u4} C _inst_1 J X) (CategoryTheory.GrothendieckTopology.instPreorderCover.{u3, u4} C _inst_1 J X))) (CategoryTheory.forget.{u1, max u4 u3, max u4 u3} D _inst_2 _inst_5)] [_inst_10 : CategoryTheory.ReflectsIsomorphisms.{max u4 u3, max u4 u3, u1, max (succ u4) (succ u3)} D _inst_2 Type.{max u4 u3} CategoryTheory.types.{max u4 u3} (CategoryTheory.forget.{u1, max u4 u3, max u4 u3} D _inst_2 _inst_5)], (CategoryTheory.Adjunction.{max u4 u3, max u4 u3, u2, u1} E _inst_3 D _inst_2 G F) -> (CategoryTheory.Adjunction.{max u4 u3, max u4 u3, max (max u4 u3) u2, max (max u4 u3) u1} (CategoryTheory.Sheaf.{u3, max u4 u3, u4, u2} C _inst_1 J E _inst_3) (CategoryTheory.Sheaf.instCategorySheaf.{u3, max u4 u3, u4, u2} C _inst_1 J E _inst_3) (CategoryTheory.Sheaf.{u3, max u4 u3, u4, u1} C _inst_1 J D _inst_2) (CategoryTheory.Sheaf.instCategorySheaf.{u3, max u4 u3, u4, u1} C _inst_1 J D _inst_2) (CategoryTheory.Sheaf.composeAndSheafify.{u1, u2, u3, u4} C _inst_1 J D _inst_2 E _inst_3 _inst_5 _inst_6 (fun (P : CategoryTheory.Functor.{u3, max u4 u3, u4, u1} (Opposite.{succ u4} C) (CategoryTheory.Category.opposite.{u3, u4} C _inst_1) D _inst_2) (X : C) (S : CategoryTheory.GrothendieckTopology.Cover.{u3, u4} C _inst_1 J X) => _inst_7 P X S) (fun (X : C) => _inst_8 X) (fun (X : C) => _inst_9 X) _inst_10 G) (CategoryTheory.sheafCompose.{u3, u4, u1, u2} C _inst_1 D _inst_2 E _inst_3 J F (fun (X : C) (S : CategoryTheory.GrothendieckTopology.Cover.{u3, u4} C _inst_1 J X) (P : CategoryTheory.Functor.{u3, max u4 u3, u4, u1} (Opposite.{succ u4} C) (CategoryTheory.Category.opposite.{u3, u4} C _inst_1) D _inst_2) => _inst_4 X S P)))
+Case conversion may be inaccurate. Consider using '#align category_theory.Sheaf.adjunction CategoryTheory.Sheaf.adjunctionₓ'. -/
 /-- An adjunction `adj : G ⊣ F` with `F : D ⥤ E` and `G : E ⥤ D` induces an adjunction
 between `Sheaf J D` and `Sheaf J E`, in contexts where one can sheafify `D`-valued presheaves,
 and `F` preserves the correct limits. -/
@@ -110,11 +130,23 @@ instance [IsRightAdjoint F] : IsRightAdjoint (sheafCompose J F) :=
 
 section ForgetToType
 
+/- warning: category_theory.Sheaf.compose_and_sheafify_from_types -> CategoryTheory.Sheaf.composeAndSheafifyFromTypes is a dubious translation:
+lean 3 declaration is
+  forall {C : Type.{u3}} [_inst_1 : CategoryTheory.Category.{u2, u3} C] (J : CategoryTheory.GrothendieckTopology.{u2, u3} C _inst_1) {D : Type.{u1}} [_inst_2 : CategoryTheory.Category.{max u2 u3, u1} D] [_inst_5 : CategoryTheory.ConcreteCategory.{max u2 u3, max u2 u3, u1} D _inst_2] [_inst_6 : CategoryTheory.Limits.PreservesLimits.{max u2 u3, max u2 u3, u1, succ (max u2 u3)} D _inst_2 Type.{max u2 u3} CategoryTheory.types.{max u2 u3} (CategoryTheory.forget.{u1, max u2 u3, max u2 u3} D _inst_2 _inst_5)] [_inst_7 : forall (P : CategoryTheory.Functor.{u2, max u2 u3, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2) (X : C) (S : CategoryTheory.GrothendieckTopology.Cover.{u2, u3} C _inst_1 J X), CategoryTheory.Limits.HasMultiequalizer.{max u2 u3, u1, max u3 u2} D _inst_2 (CategoryTheory.GrothendieckTopology.Cover.index.{u1, u2, u3} C _inst_1 X J D _inst_2 S P)] [_inst_8 : forall (X : C), CategoryTheory.Limits.HasColimitsOfShape.{max u3 u2, max u3 u2, max u2 u3, u1} (Opposite.{succ (max u3 u2)} (CategoryTheory.GrothendieckTopology.Cover.{u2, u3} C _inst_1 J X)) (CategoryTheory.Category.opposite.{max u3 u2, max u3 u2} (CategoryTheory.GrothendieckTopology.Cover.{u2, u3} C _inst_1 J X) (Preorder.smallCategory.{max u3 u2} (CategoryTheory.GrothendieckTopology.Cover.{u2, u3} C _inst_1 J X) (CategoryTheory.GrothendieckTopology.Cover.preorder.{u2, u3} C _inst_1 J X))) D _inst_2] [_inst_9 : forall (X : C), CategoryTheory.Limits.PreservesColimitsOfShape.{max u3 u2, max u3 u2, max u2 u3, max u2 u3, u1, succ (max u2 u3)} D _inst_2 Type.{max u2 u3} CategoryTheory.types.{max u2 u3} (Opposite.{succ (max u3 u2)} (CategoryTheory.GrothendieckTopology.Cover.{u2, u3} C _inst_1 J X)) (CategoryTheory.Category.opposite.{max u3 u2, max u3 u2} (CategoryTheory.GrothendieckTopology.Cover.{u2, u3} C _inst_1 J X) (Preorder.smallCategory.{max u3 u2} (CategoryTheory.GrothendieckTopology.Cover.{u2, u3} C _inst_1 J X) (CategoryTheory.GrothendieckTopology.Cover.preorder.{u2, u3} C _inst_1 J X))) (CategoryTheory.forget.{u1, max u2 u3, max u2 u3} D _inst_2 _inst_5)] [_inst_10 : CategoryTheory.ReflectsIsomorphisms.{max u2 u3, max u2 u3, u1, succ (max u2 u3)} D _inst_2 Type.{max u2 u3} CategoryTheory.types.{max u2 u3} (CategoryTheory.forget.{u1, max u2 u3, max u2 u3} D _inst_2 _inst_5)], (CategoryTheory.Functor.{max u2 u3, max u2 u3, succ (max u2 u3), u1} Type.{max u2 u3} CategoryTheory.types.{max u2 u3} D _inst_2) -> (CategoryTheory.Functor.{max u2 u3, max u2 u3, max u3 u2 (succ (max u2 u3)), max u3 u1 u2 u3} (CategoryTheory.SheafOfTypes.{max u2 u3, u2, u3} C _inst_1 J) (CategoryTheory.SheafOfTypes.CategoryTheory.category.{u2, u3, max u2 u3} C _inst_1 J) (CategoryTheory.Sheaf.{u2, max u2 u3, u3, u1} C _inst_1 J D _inst_2) (CategoryTheory.Sheaf.CategoryTheory.category.{u2, max u2 u3, u3, u1} C _inst_1 J D _inst_2))
+but is expected to have type
+  forall {C : Type.{u3}} [_inst_1 : CategoryTheory.Category.{u2, u3} C] (J : CategoryTheory.GrothendieckTopology.{u2, u3} C _inst_1) {D : Type.{u1}} [_inst_2 : CategoryTheory.Category.{max u2 u3, u1} D] [_inst_5 : CategoryTheory.ConcreteCategory.{max u2 u3, max u3 u2, u1} D _inst_2] [_inst_6 : CategoryTheory.Limits.PreservesLimits.{max u3 u2, max u3 u2, u1, max (succ u3) (succ u2)} D _inst_2 Type.{max u3 u2} CategoryTheory.types.{max u3 u2} (CategoryTheory.forget.{u1, max u3 u2, max u3 u2} D _inst_2 _inst_5)] [_inst_7 : forall (P : CategoryTheory.Functor.{u2, max u3 u2, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2) (X : C) (S : CategoryTheory.GrothendieckTopology.Cover.{u2, u3} C _inst_1 J X), CategoryTheory.Limits.HasMultiequalizer.{max u3 u2, u1, max u3 u2} D _inst_2 (CategoryTheory.GrothendieckTopology.Cover.index.{u1, u2, u3} C _inst_1 X J D _inst_2 S P)] [_inst_8 : forall (X : C), CategoryTheory.Limits.HasColimitsOfShape.{max u3 u2, max u3 u2, max u3 u2, u1} (Opposite.{max (succ u3) (succ u2)} (CategoryTheory.GrothendieckTopology.Cover.{u2, u3} C _inst_1 J X)) (CategoryTheory.Category.opposite.{max u3 u2, max u3 u2} (CategoryTheory.GrothendieckTopology.Cover.{u2, u3} C _inst_1 J X) (Preorder.smallCategory.{max u3 u2} (CategoryTheory.GrothendieckTopology.Cover.{u2, u3} C _inst_1 J X) (CategoryTheory.GrothendieckTopology.instPreorderCover.{u2, u3} C _inst_1 J X))) D _inst_2] [_inst_9 : forall (X : C), CategoryTheory.Limits.PreservesColimitsOfShape.{max u3 u2, max u3 u2, max u3 u2, max u3 u2, u1, max (succ u3) (succ u2)} D _inst_2 Type.{max u3 u2} CategoryTheory.types.{max u3 u2} (Opposite.{max (succ u3) (succ u2)} (CategoryTheory.GrothendieckTopology.Cover.{u2, u3} C _inst_1 J X)) (CategoryTheory.Category.opposite.{max u3 u2, max u3 u2} (CategoryTheory.GrothendieckTopology.Cover.{u2, u3} C _inst_1 J X) (Preorder.smallCategory.{max u3 u2} (CategoryTheory.GrothendieckTopology.Cover.{u2, u3} C _inst_1 J X) (CategoryTheory.GrothendieckTopology.instPreorderCover.{u2, u3} C _inst_1 J X))) (CategoryTheory.forget.{u1, max u3 u2, max u3 u2} D _inst_2 _inst_5)] [_inst_10 : CategoryTheory.ReflectsIsomorphisms.{max u3 u2, max u3 u2, u1, max (succ u3) (succ u2)} D _inst_2 Type.{max u3 u2} CategoryTheory.types.{max u3 u2} (CategoryTheory.forget.{u1, max u3 u2, max u3 u2} D _inst_2 _inst_5)], (CategoryTheory.Functor.{max u3 u2, max u3 u2, max (succ u3) (succ u2), u1} Type.{max u2 u3} CategoryTheory.types.{max u3 u2} D _inst_2) -> (CategoryTheory.Functor.{max u3 u2, max u3 u2, succ (max u3 u2), max (max (max u1 u3) u3 u2) u2} (CategoryTheory.SheafOfTypes.{max u3 u2, u2, u3} C _inst_1 J) (CategoryTheory.SheafOfTypes.instCategorySheafOfTypes.{u2, u3, max u3 u2} C _inst_1 J) (CategoryTheory.Sheaf.{u2, max u3 u2, u3, u1} C _inst_1 J D _inst_2) (CategoryTheory.Sheaf.instCategorySheaf.{u2, max u3 u2, u3, u1} C _inst_1 J D _inst_2))
+Case conversion may be inaccurate. Consider using '#align category_theory.Sheaf.compose_and_sheafify_from_types CategoryTheory.Sheaf.composeAndSheafifyFromTypesₓ'. -/
 /-- This is the functor sending a sheaf of types `X` to the sheafification of `X ⋙ G`. -/
 abbrev composeAndSheafifyFromTypes (G : Type max v u ⥤ D) : SheafOfTypes J ⥤ Sheaf J D :=
   (sheafEquivSheafOfTypes J).inverse ⋙ composeAndSheafify _ G
 #align category_theory.Sheaf.compose_and_sheafify_from_types CategoryTheory.Sheaf.composeAndSheafifyFromTypes
 
+/- warning: category_theory.Sheaf.adjunction_to_types -> CategoryTheory.Sheaf.adjunctionToTypes is a dubious translation:
+lean 3 declaration is
+  forall {C : Type.{u3}} [_inst_1 : CategoryTheory.Category.{u2, u3} C] (J : CategoryTheory.GrothendieckTopology.{u2, u3} C _inst_1) {D : Type.{u1}} [_inst_2 : CategoryTheory.Category.{max u2 u3, u1} D] [_inst_5 : CategoryTheory.ConcreteCategory.{max u2 u3, max u2 u3, u1} D _inst_2] [_inst_6 : CategoryTheory.Limits.PreservesLimits.{max u2 u3, max u2 u3, u1, succ (max u2 u3)} D _inst_2 Type.{max u2 u3} CategoryTheory.types.{max u2 u3} (CategoryTheory.forget.{u1, max u2 u3, max u2 u3} D _inst_2 _inst_5)] [_inst_7 : forall (P : CategoryTheory.Functor.{u2, max u2 u3, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2) (X : C) (S : CategoryTheory.GrothendieckTopology.Cover.{u2, u3} C _inst_1 J X), CategoryTheory.Limits.HasMultiequalizer.{max u2 u3, u1, max u3 u2} D _inst_2 (CategoryTheory.GrothendieckTopology.Cover.index.{u1, u2, u3} C _inst_1 X J D _inst_2 S P)] [_inst_8 : forall (X : C), CategoryTheory.Limits.HasColimitsOfShape.{max u3 u2, max u3 u2, max u2 u3, u1} (Opposite.{succ (max u3 u2)} (CategoryTheory.GrothendieckTopology.Cover.{u2, u3} C _inst_1 J X)) (CategoryTheory.Category.opposite.{max u3 u2, max u3 u2} (CategoryTheory.GrothendieckTopology.Cover.{u2, u3} C _inst_1 J X) (Preorder.smallCategory.{max u3 u2} (CategoryTheory.GrothendieckTopology.Cover.{u2, u3} C _inst_1 J X) (CategoryTheory.GrothendieckTopology.Cover.preorder.{u2, u3} C _inst_1 J X))) D _inst_2] [_inst_9 : forall (X : C), CategoryTheory.Limits.PreservesColimitsOfShape.{max u3 u2, max u3 u2, max u2 u3, max u2 u3, u1, succ (max u2 u3)} D _inst_2 Type.{max u2 u3} CategoryTheory.types.{max u2 u3} (Opposite.{succ (max u3 u2)} (CategoryTheory.GrothendieckTopology.Cover.{u2, u3} C _inst_1 J X)) (CategoryTheory.Category.opposite.{max u3 u2, max u3 u2} (CategoryTheory.GrothendieckTopology.Cover.{u2, u3} C _inst_1 J X) (Preorder.smallCategory.{max u3 u2} (CategoryTheory.GrothendieckTopology.Cover.{u2, u3} C _inst_1 J X) (CategoryTheory.GrothendieckTopology.Cover.preorder.{u2, u3} C _inst_1 J X))) (CategoryTheory.forget.{u1, max u2 u3, max u2 u3} D _inst_2 _inst_5)] [_inst_10 : CategoryTheory.ReflectsIsomorphisms.{max u2 u3, max u2 u3, u1, succ (max u2 u3)} D _inst_2 Type.{max u2 u3} CategoryTheory.types.{max u2 u3} (CategoryTheory.forget.{u1, max u2 u3, max u2 u3} D _inst_2 _inst_5)] {G : CategoryTheory.Functor.{max u2 u3, max u2 u3, succ (max u2 u3), u1} Type.{max u2 u3} CategoryTheory.types.{max u2 u3} D _inst_2}, (CategoryTheory.Adjunction.{max u2 u3, max u2 u3, succ (max u2 u3), u1} Type.{max u2 u3} CategoryTheory.types.{max u2 u3} D _inst_2 G (CategoryTheory.forget.{u1, max u2 u3, max u2 u3} D _inst_2 _inst_5)) -> (CategoryTheory.Adjunction.{max u2 u3, max u2 u3, max u3 u2 (succ (max u2 u3)), max u3 u1 u2 u3} (CategoryTheory.SheafOfTypes.{max u2 u3, u2, u3} C _inst_1 J) (CategoryTheory.SheafOfTypes.CategoryTheory.category.{u2, u3, max u2 u3} C _inst_1 J) (CategoryTheory.Sheaf.{u2, max u2 u3, u3, u1} C _inst_1 J D _inst_2) (CategoryTheory.Sheaf.CategoryTheory.category.{u2, max u2 u3, u3, u1} C _inst_1 J D _inst_2) (CategoryTheory.Sheaf.composeAndSheafifyFromTypes.{u1, u2, u3} C _inst_1 J D _inst_2 _inst_5 _inst_6 (CategoryTheory.Sheaf.adjunctionToTypes._proof_1.{u3, u2, u1} C _inst_1 J D _inst_2 _inst_7) (CategoryTheory.Sheaf.adjunctionToTypes._proof_2.{u3, u2, u1} C _inst_1 J D _inst_2 _inst_8) (fun (X : C) => _inst_9 X) _inst_10 G) (CategoryTheory.sheafForget.{u1, u2, u3} C _inst_1 J D _inst_2 _inst_5 _inst_6))
+but is expected to have type
+  forall {C : Type.{u3}} [_inst_1 : CategoryTheory.Category.{u2, u3} C] (J : CategoryTheory.GrothendieckTopology.{u2, u3} C _inst_1) {D : Type.{u1}} [_inst_2 : CategoryTheory.Category.{max u2 u3, u1} D] [_inst_5 : CategoryTheory.ConcreteCategory.{max u2 u3, max u3 u2, u1} D _inst_2] [_inst_6 : CategoryTheory.Limits.PreservesLimits.{max u3 u2, max u3 u2, u1, max (succ u3) (succ u2)} D _inst_2 Type.{max u3 u2} CategoryTheory.types.{max u3 u2} (CategoryTheory.forget.{u1, max u3 u2, max u3 u2} D _inst_2 _inst_5)] [_inst_7 : forall (P : CategoryTheory.Functor.{u2, max u3 u2, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2) (X : C) (S : CategoryTheory.GrothendieckTopology.Cover.{u2, u3} C _inst_1 J X), CategoryTheory.Limits.HasMultiequalizer.{max u3 u2, u1, max u3 u2} D _inst_2 (CategoryTheory.GrothendieckTopology.Cover.index.{u1, u2, u3} C _inst_1 X J D _inst_2 S P)] [_inst_8 : forall (X : C), CategoryTheory.Limits.HasColimitsOfShape.{max u3 u2, max u3 u2, max u3 u2, u1} (Opposite.{max (succ u3) (succ u2)} (CategoryTheory.GrothendieckTopology.Cover.{u2, u3} C _inst_1 J X)) (CategoryTheory.Category.opposite.{max u3 u2, max u3 u2} (CategoryTheory.GrothendieckTopology.Cover.{u2, u3} C _inst_1 J X) (Preorder.smallCategory.{max u3 u2} (CategoryTheory.GrothendieckTopology.Cover.{u2, u3} C _inst_1 J X) (CategoryTheory.GrothendieckTopology.instPreorderCover.{u2, u3} C _inst_1 J X))) D _inst_2] [_inst_9 : forall (X : C), CategoryTheory.Limits.PreservesColimitsOfShape.{max u3 u2, max u3 u2, max u3 u2, max u3 u2, u1, max (succ u3) (succ u2)} D _inst_2 Type.{max u3 u2} CategoryTheory.types.{max u3 u2} (Opposite.{max (succ u3) (succ u2)} (CategoryTheory.GrothendieckTopology.Cover.{u2, u3} C _inst_1 J X)) (CategoryTheory.Category.opposite.{max u3 u2, max u3 u2} (CategoryTheory.GrothendieckTopology.Cover.{u2, u3} C _inst_1 J X) (Preorder.smallCategory.{max u3 u2} (CategoryTheory.GrothendieckTopology.Cover.{u2, u3} C _inst_1 J X) (CategoryTheory.GrothendieckTopology.instPreorderCover.{u2, u3} C _inst_1 J X))) (CategoryTheory.forget.{u1, max u3 u2, max u3 u2} D _inst_2 _inst_5)] [_inst_10 : CategoryTheory.ReflectsIsomorphisms.{max u3 u2, max u3 u2, u1, max (succ u3) (succ u2)} D _inst_2 Type.{max u3 u2} CategoryTheory.types.{max u3 u2} (CategoryTheory.forget.{u1, max u3 u2, max u3 u2} D _inst_2 _inst_5)] {G : CategoryTheory.Functor.{max u3 u2, max u3 u2, max (succ u3) (succ u2), u1} Type.{max u2 u3} CategoryTheory.types.{max u3 u2} D _inst_2}, (CategoryTheory.Adjunction.{max u3 u2, max u3 u2, max (succ u3) (succ u2), u1} Type.{max u2 u3} CategoryTheory.types.{max u3 u2} D _inst_2 G (CategoryTheory.forget.{u1, max u3 u2, max u3 u2} D _inst_2 _inst_5)) -> (CategoryTheory.Adjunction.{max u3 u2, max u3 u2, max (succ u3) (succ u2), max (max u3 u2) u1} (CategoryTheory.SheafOfTypes.{max u3 u2, u2, u3} C _inst_1 J) (CategoryTheory.SheafOfTypes.instCategorySheafOfTypes.{u2, u3, max u3 u2} C _inst_1 J) (CategoryTheory.Sheaf.{u2, max u3 u2, u3, u1} C _inst_1 J D _inst_2) (CategoryTheory.Sheaf.instCategorySheaf.{u2, max u3 u2, u3, u1} C _inst_1 J D _inst_2) (CategoryTheory.Sheaf.composeAndSheafifyFromTypes.{u1, u2, u3} C _inst_1 J D _inst_2 _inst_5 _inst_6 (fun (P : CategoryTheory.Functor.{u2, max u3 u2, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2) (X : C) (S : CategoryTheory.GrothendieckTopology.Cover.{u2, u3} C _inst_1 J X) => _inst_7 P X S) (fun (X : C) => _inst_8 X) (fun (X : C) => _inst_9 X) _inst_10 G) (CategoryTheory.sheafForget.{u1, u2, u3} C _inst_1 J D _inst_2 _inst_5 _inst_6))
+Case conversion may be inaccurate. Consider using '#align category_theory.Sheaf.adjunction_to_types CategoryTheory.Sheaf.adjunctionToTypesₓ'. -/
 /-- A variant of the adjunction between sheaf categories, in the case where the right adjoint
 is the forgetful functor to sheaves of types. -/
 def adjunctionToTypes {G : Type max v u ⥤ D} (adj : G ⊣ forget D) :
@@ -122,6 +154,12 @@ def adjunctionToTypes {G : Type max v u ⥤ D} (adj : G ⊣ forget D) :
   (sheafEquivSheafOfTypes J).symm.toAdjunction.comp (adjunction J adj)
 #align category_theory.Sheaf.adjunction_to_types CategoryTheory.Sheaf.adjunctionToTypes
 
+/- warning: category_theory.Sheaf.adjunction_to_types_unit_app_val -> CategoryTheory.Sheaf.adjunctionToTypes_unit_app_val is a dubious translation:
+lean 3 declaration is
+  forall {C : Type.{u3}} [_inst_1 : CategoryTheory.Category.{u2, u3} C] (J : CategoryTheory.GrothendieckTopology.{u2, u3} C _inst_1) {D : Type.{u1}} [_inst_2 : CategoryTheory.Category.{max u2 u3, u1} D] [_inst_5 : CategoryTheory.ConcreteCategory.{max u2 u3, max u2 u3, u1} D _inst_2] [_inst_6 : CategoryTheory.Limits.PreservesLimits.{max u2 u3, max u2 u3, u1, succ (max u2 u3)} D _inst_2 Type.{max u2 u3} CategoryTheory.types.{max u2 u3} (CategoryTheory.forget.{u1, max u2 u3, max u2 u3} D _inst_2 _inst_5)] [_inst_7 : forall (P : CategoryTheory.Functor.{u2, max u2 u3, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2) (X : C) (S : CategoryTheory.GrothendieckTopology.Cover.{u2, u3} C _inst_1 J X), CategoryTheory.Limits.HasMultiequalizer.{max u2 u3, u1, max u3 u2} D _inst_2 (CategoryTheory.GrothendieckTopology.Cover.index.{u1, u2, u3} C _inst_1 X J D _inst_2 S P)] [_inst_8 : forall (X : C), CategoryTheory.Limits.HasColimitsOfShape.{max u3 u2, max u3 u2, max u2 u3, u1} (Opposite.{succ (max u3 u2)} (CategoryTheory.GrothendieckTopology.Cover.{u2, u3} C _inst_1 J X)) (CategoryTheory.Category.opposite.{max u3 u2, max u3 u2} (CategoryTheory.GrothendieckTopology.Cover.{u2, u3} C _inst_1 J X) (Preorder.smallCategory.{max u3 u2} (CategoryTheory.GrothendieckTopology.Cover.{u2, u3} C _inst_1 J X) (CategoryTheory.GrothendieckTopology.Cover.preorder.{u2, u3} C _inst_1 J X))) D _inst_2] [_inst_9 : forall (X : C), CategoryTheory.Limits.PreservesColimitsOfShape.{max u3 u2, max u3 u2, max u2 u3, max u2 u3, u1, succ (max u2 u3)} D _inst_2 Type.{max u2 u3} CategoryTheory.types.{max u2 u3} (Opposite.{succ (max u3 u2)} (CategoryTheory.GrothendieckTopology.Cover.{u2, u3} C _inst_1 J X)) (CategoryTheory.Category.opposite.{max u3 u2, max u3 u2} (CategoryTheory.GrothendieckTopology.Cover.{u2, u3} C _inst_1 J X) (Preorder.smallCategory.{max u3 u2} (CategoryTheory.GrothendieckTopology.Cover.{u2, u3} C _inst_1 J X) (CategoryTheory.GrothendieckTopology.Cover.preorder.{u2, u3} C _inst_1 J X))) (CategoryTheory.forget.{u1, max u2 u3, max u2 u3} D _inst_2 _inst_5)] [_inst_10 : CategoryTheory.ReflectsIsomorphisms.{max u2 u3, max u2 u3, u1, succ (max u2 u3)} D _inst_2 Type.{max u2 u3} CategoryTheory.types.{max u2 u3} (CategoryTheory.forget.{u1, max u2 u3, max u2 u3} D _inst_2 _inst_5)] {G : CategoryTheory.Functor.{max u2 u3, max u2 u3, succ (max u2 u3), u1} Type.{max u2 u3} CategoryTheory.types.{max u2 u3} D _inst_2} (adj : CategoryTheory.Adjunction.{max u2 u3, max u2 u3, succ (max u2 u3), u1} Type.{max u2 u3} CategoryTheory.types.{max u2 u3} D _inst_2 G (CategoryTheory.forget.{u1, max u2 u3, max u2 u3} D _inst_2 _inst_5)) (Y : CategoryTheory.SheafOfTypes.{max u2 u3, u2, u3} C _inst_1 J), Eq.{succ (max u2 u3)} (Quiver.Hom.{succ (max u2 u3), max u2 (max u2 u3) u3 (succ (max u2 u3))} (CategoryTheory.Functor.{u2, max u2 u3, u3, succ (max u2 u3)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u2 u3}) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u3, max u2 (max u2 u3) u3 (succ (max u2 u3))} (CategoryTheory.Functor.{u2, max u2 u3, u3, succ (max u2 u3)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u2 u3}) (CategoryTheory.Category.toCategoryStruct.{max u2 u3, max u2 (max u2 u3) u3 (succ (max u2 u3))} (CategoryTheory.Functor.{u2, max u2 u3, u3, succ (max u2 u3)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u2 u3}) (CategoryTheory.Functor.category.{u2, max u2 u3, u3, succ (max u2 u3)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u2 u3}))) (CategoryTheory.SheafOfTypes.val.{max u2 u3, u2, u3} C _inst_1 J (CategoryTheory.Functor.obj.{max u2 u3, max u2 u3, max u3 u2 (succ (max u2 u3)), max u3 u2 (succ (max u2 u3))} (CategoryTheory.SheafOfTypes.{max u2 u3, u2, u3} C _inst_1 J) (CategoryTheory.SheafOfTypes.CategoryTheory.category.{u2, u3, max u2 u3} C _inst_1 J) (CategoryTheory.SheafOfTypes.{max u2 u3, u2, u3} C _inst_1 J) (CategoryTheory.SheafOfTypes.CategoryTheory.category.{u2, u3, max u2 u3} C _inst_1 J) (CategoryTheory.Functor.id.{max u2 u3, max u3 u2 (succ (max u2 u3))} (CategoryTheory.SheafOfTypes.{max u2 u3, u2, u3} C _inst_1 J) (CategoryTheory.SheafOfTypes.CategoryTheory.category.{u2, u3, max u2 u3} C _inst_1 J)) Y)) (CategoryTheory.SheafOfTypes.val.{max u2 u3, u2, u3} C _inst_1 J (CategoryTheory.Functor.obj.{max u2 u3, max u2 u3, max u3 u2 (succ (max u2 u3)), max u3 u2 (succ (max u2 u3))} (CategoryTheory.SheafOfTypes.{max u2 u3, u2, u3} C _inst_1 J) (CategoryTheory.SheafOfTypes.CategoryTheory.category.{u2, u3, max u2 u3} C _inst_1 J) (CategoryTheory.SheafOfTypes.{max u2 u3, u2, u3} C _inst_1 J) (CategoryTheory.SheafOfTypes.CategoryTheory.category.{u2, u3, max u2 u3} C _inst_1 J) (CategoryTheory.Functor.comp.{max u2 u3, max u2 u3, max u2 u3, max u3 u2 (succ (max u2 u3)), max u3 u1 u2 u3, max u3 u2 (succ (max u2 u3))} (CategoryTheory.SheafOfTypes.{max u2 u3, u2, u3} C _inst_1 J) (CategoryTheory.SheafOfTypes.CategoryTheory.category.{u2, u3, max u2 u3} C _inst_1 J) (CategoryTheory.Sheaf.{u2, max u2 u3, u3, u1} C _inst_1 J D _inst_2) (CategoryTheory.Sheaf.CategoryTheory.category.{u2, max u2 u3, u3, u1} C _inst_1 J D _inst_2) (CategoryTheory.SheafOfTypes.{max u2 u3, u2, u3} C _inst_1 J) (CategoryTheory.SheafOfTypes.CategoryTheory.category.{u2, u3, max u2 u3} C _inst_1 J) (CategoryTheory.Sheaf.composeAndSheafifyFromTypes.{u1, u2, u3} C _inst_1 J D _inst_2 _inst_5 _inst_6 (CategoryTheory.Sheaf.adjunctionToTypes._proof_1.{u3, u2, u1} C _inst_1 J D _inst_2 (fun (P : CategoryTheory.Functor.{u2, max u2 u3, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2) (X : C) (S : CategoryTheory.GrothendieckTopology.Cover.{u2, u3} C _inst_1 J X) => _inst_7 P X S)) (CategoryTheory.Sheaf.adjunctionToTypes._proof_2.{u3, u2, u1} C _inst_1 J D _inst_2 (fun (X : C) => _inst_8 X)) (fun (X : C) => _inst_9 X) _inst_10 G) (CategoryTheory.sheafForget.{u1, u2, u3} C _inst_1 J D _inst_2 _inst_5 _inst_6)) Y))) (CategoryTheory.SheafOfTypes.Hom.val.{u2, u3, max u2 u3} C _inst_1 J (CategoryTheory.Functor.obj.{max u2 u3, max u2 u3, max u3 u2 (succ (max u2 u3)), max u3 u2 (succ (max u2 u3))} (CategoryTheory.SheafOfTypes.{max u2 u3, u2, u3} C _inst_1 J) (CategoryTheory.SheafOfTypes.CategoryTheory.category.{u2, u3, max u2 u3} C _inst_1 J) (CategoryTheory.SheafOfTypes.{max u2 u3, u2, u3} C _inst_1 J) (CategoryTheory.SheafOfTypes.CategoryTheory.category.{u2, u3, max u2 u3} C _inst_1 J) (CategoryTheory.Functor.id.{max u2 u3, max u3 u2 (succ (max u2 u3))} (CategoryTheory.SheafOfTypes.{max u2 u3, u2, u3} C _inst_1 J) (CategoryTheory.SheafOfTypes.CategoryTheory.category.{u2, u3, max u2 u3} C _inst_1 J)) Y) (CategoryTheory.Functor.obj.{max u2 u3, max u2 u3, max u3 u2 (succ (max u2 u3)), max u3 u2 (succ (max u2 u3))} (CategoryTheory.SheafOfTypes.{max u2 u3, u2, u3} C _inst_1 J) (CategoryTheory.SheafOfTypes.CategoryTheory.category.{u2, u3, max u2 u3} C _inst_1 J) (CategoryTheory.SheafOfTypes.{max u2 u3, u2, u3} C _inst_1 J) (CategoryTheory.SheafOfTypes.CategoryTheory.category.{u2, u3, max u2 u3} C _inst_1 J) (CategoryTheory.Functor.comp.{max u2 u3, max u2 u3, max u2 u3, max u3 u2 (succ (max u2 u3)), max u3 u1 u2 u3, max u3 u2 (succ (max u2 u3))} (CategoryTheory.SheafOfTypes.{max u2 u3, u2, u3} C _inst_1 J) (CategoryTheory.SheafOfTypes.CategoryTheory.category.{u2, u3, max u2 u3} C _inst_1 J) (CategoryTheory.Sheaf.{u2, max u2 u3, u3, u1} C _inst_1 J D _inst_2) (CategoryTheory.Sheaf.CategoryTheory.category.{u2, max u2 u3, u3, u1} C _inst_1 J D _inst_2) (CategoryTheory.SheafOfTypes.{max u2 u3, u2, u3} C _inst_1 J) (CategoryTheory.SheafOfTypes.CategoryTheory.category.{u2, u3, max u2 u3} C _inst_1 J) (CategoryTheory.Sheaf.composeAndSheafifyFromTypes.{u1, u2, u3} C _inst_1 J D _inst_2 _inst_5 _inst_6 (CategoryTheory.Sheaf.adjunctionToTypes._proof_1.{u3, u2, u1} C _inst_1 J D _inst_2 (fun (P : CategoryTheory.Functor.{u2, max u2 u3, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2) (X : C) (S : CategoryTheory.GrothendieckTopology.Cover.{u2, u3} C _inst_1 J X) => _inst_7 P X S)) (CategoryTheory.Sheaf.adjunctionToTypes._proof_2.{u3, u2, u1} C _inst_1 J D _inst_2 (fun (X : C) => _inst_8 X)) (fun (X : C) => _inst_9 X) _inst_10 G) (CategoryTheory.sheafForget.{u1, u2, u3} C _inst_1 J D _inst_2 _inst_5 _inst_6)) Y) (CategoryTheory.NatTrans.app.{max u2 u3, max u2 u3, max u3 u2 (succ (max u2 u3)), max u3 u2 (succ (max u2 u3))} (CategoryTheory.SheafOfTypes.{max u2 u3, u2, u3} C _inst_1 J) (CategoryTheory.SheafOfTypes.CategoryTheory.category.{u2, u3, max u2 u3} C _inst_1 J) (CategoryTheory.SheafOfTypes.{max u2 u3, u2, u3} C _inst_1 J) (CategoryTheory.SheafOfTypes.CategoryTheory.category.{u2, u3, max u2 u3} C _inst_1 J) (CategoryTheory.Functor.id.{max u2 u3, max u3 u2 (succ (max u2 u3))} (CategoryTheory.SheafOfTypes.{max u2 u3, u2, u3} C _inst_1 J) (CategoryTheory.SheafOfTypes.CategoryTheory.category.{u2, u3, max u2 u3} C _inst_1 J)) (CategoryTheory.Functor.comp.{max u2 u3, max u2 u3, max u2 u3, max u3 u2 (succ (max u2 u3)), max u3 u1 u2 u3, max u3 u2 (succ (max u2 u3))} (CategoryTheory.SheafOfTypes.{max u2 u3, u2, u3} C _inst_1 J) (CategoryTheory.SheafOfTypes.CategoryTheory.category.{u2, u3, max u2 u3} C _inst_1 J) (CategoryTheory.Sheaf.{u2, max u2 u3, u3, u1} C _inst_1 J D _inst_2) (CategoryTheory.Sheaf.CategoryTheory.category.{u2, max u2 u3, u3, u1} C _inst_1 J D _inst_2) (CategoryTheory.SheafOfTypes.{max u2 u3, u2, u3} C _inst_1 J) (CategoryTheory.SheafOfTypes.CategoryTheory.category.{u2, u3, max u2 u3} C _inst_1 J) (CategoryTheory.Sheaf.composeAndSheafifyFromTypes.{u1, u2, u3} C _inst_1 J D _inst_2 _inst_5 _inst_6 (CategoryTheory.Sheaf.adjunctionToTypes._proof_1.{u3, u2, u1} C _inst_1 J D _inst_2 (fun (P : CategoryTheory.Functor.{u2, max u2 u3, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2) (X : C) (S : CategoryTheory.GrothendieckTopology.Cover.{u2, u3} C _inst_1 J X) => _inst_7 P X S)) (CategoryTheory.Sheaf.adjunctionToTypes._proof_2.{u3, u2, u1} C _inst_1 J D _inst_2 (fun (X : C) => _inst_8 X)) (fun (X : C) => _inst_9 X) _inst_10 G) (CategoryTheory.sheafForget.{u1, u2, u3} C _inst_1 J D _inst_2 _inst_5 _inst_6)) (CategoryTheory.Adjunction.unit.{max u2 u3, max u2 u3, max u3 u2 (succ (max u2 u3)), max u3 u1 u2 u3} (CategoryTheory.SheafOfTypes.{max u2 u3, u2, u3} C _inst_1 J) (CategoryTheory.SheafOfTypes.CategoryTheory.category.{u2, u3, max u2 u3} C _inst_1 J) (CategoryTheory.Sheaf.{u2, max u2 u3, u3, u1} C _inst_1 J D _inst_2) (CategoryTheory.Sheaf.CategoryTheory.category.{u2, max u2 u3, u3, u1} C _inst_1 J D _inst_2) (CategoryTheory.Sheaf.composeAndSheafifyFromTypes.{u1, u2, u3} C _inst_1 J D _inst_2 _inst_5 _inst_6 (CategoryTheory.Sheaf.adjunctionToTypes._proof_1.{u3, u2, u1} C _inst_1 J D _inst_2 (fun (P : CategoryTheory.Functor.{u2, max u2 u3, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2) (X : C) (S : CategoryTheory.GrothendieckTopology.Cover.{u2, u3} C _inst_1 J X) => _inst_7 P X S)) (CategoryTheory.Sheaf.adjunctionToTypes._proof_2.{u3, u2, u1} C _inst_1 J D _inst_2 (fun (X : C) => _inst_8 X)) (fun (X : C) => _inst_9 X) _inst_10 G) (CategoryTheory.sheafForget.{u1, u2, u3} C _inst_1 J D _inst_2 _inst_5 _inst_6) (CategoryTheory.Sheaf.adjunctionToTypes.{u1, u2, u3} C _inst_1 J D _inst_2 _inst_5 _inst_6 (fun (P : CategoryTheory.Functor.{u2, max u2 u3, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2) (X : C) (S : CategoryTheory.GrothendieckTopology.Cover.{u2, u3} C _inst_1 J X) => _inst_7 P X S) (fun (X : C) => _inst_8 X) (fun (X : C) => _inst_9 X) _inst_10 G adj)) Y)) (CategoryTheory.CategoryStruct.comp.{max u2 u3, max u2 (max u2 u3) u3 (succ (max u2 u3))} (CategoryTheory.Functor.{u2, max u2 u3, u3, succ (max u2 u3)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u2 u3}) (CategoryTheory.Category.toCategoryStruct.{max u2 u3, max u2 (max u2 u3) u3 (succ (max u2 u3))} (CategoryTheory.Functor.{u2, max u2 u3, u3, succ (max u2 u3)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u2 u3}) (CategoryTheory.Functor.category.{u2, max u2 u3, u3, succ (max u2 u3)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u2 u3})) (CategoryTheory.SheafOfTypes.val.{max u2 u3, u2, u3} C _inst_1 J (CategoryTheory.Functor.obj.{max u2 u3, max u2 u3, max u3 u2 (succ (max u2 u3)), max u3 u2 (succ (max u2 u3))} (CategoryTheory.SheafOfTypes.{max u2 u3, u2, u3} C _inst_1 J) (CategoryTheory.SheafOfTypes.CategoryTheory.category.{u2, u3, max u2 u3} C _inst_1 J) (CategoryTheory.SheafOfTypes.{max u2 u3, u2, u3} C _inst_1 J) (CategoryTheory.SheafOfTypes.CategoryTheory.category.{u2, u3, max u2 u3} C _inst_1 J) (CategoryTheory.Functor.id.{max u2 u3, max u3 u2 (succ (max u2 u3))} (CategoryTheory.SheafOfTypes.{max u2 u3, u2, u3} C _inst_1 J) (CategoryTheory.SheafOfTypes.CategoryTheory.category.{u2, u3, max u2 u3} C _inst_1 J)) Y)) (CategoryTheory.Functor.obj.{max u2 u3, max u2 u3, max u2 (max u2 u3) u3 (succ (max u2 u3)), max u2 (max u2 u3) u3 (succ (max u2 u3))} (CategoryTheory.Functor.{u2, max u2 u3, u3, succ (max u2 u3)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u2 u3}) (CategoryTheory.Functor.category.{u2, max u2 u3, u3, succ (max u2 u3)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u2 u3}) (CategoryTheory.Functor.{u2, max u2 u3, u3, succ (max u2 u3)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u2 u3}) (CategoryTheory.Functor.category.{u2, max u2 u3, u3, succ (max u2 u3)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u2 u3}) (CategoryTheory.Functor.comp.{max u2 u3, max u2 u3, max u2 u3, max u2 (max u2 u3) u3 (succ (max u2 u3)), max u2 (max u2 u3) u3 u1, max u2 (max u2 u3) u3 (succ (max u2 u3))} (CategoryTheory.Functor.{u2, max u2 u3, u3, succ (max u2 u3)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u2 u3}) (CategoryTheory.Functor.category.{u2, max u2 u3, u3, succ (max u2 u3)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u2 u3}) (CategoryTheory.Functor.{u2, max u2 u3, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2) (CategoryTheory.Functor.category.{u2, max u2 u3, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2) (CategoryTheory.Functor.{u2, max u2 u3, u3, succ (max u2 u3)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u2 u3}) (CategoryTheory.Functor.category.{u2, max u2 u3, u3, succ (max u2 u3)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u2 u3}) (CategoryTheory.Functor.obj.{succ (max u2 u3), max (max u2 (max u2 u3) u3 (succ (max u2 u3))) u2 u3, max (max u2 u3) (succ (max u2 u3)) u1, max (max u2 u3) (max u2 (max u2 u3) u3 (succ (max u2 u3))) u2 (max u2 u3) u3 u1} (CategoryTheory.Functor.{max u2 u3, max u2 u3, succ (max u2 u3), u1} Type.{max u2 u3} CategoryTheory.types.{max u2 u3} D _inst_2) (CategoryTheory.Functor.category.{max u2 u3, max u2 u3, succ (max u2 u3), u1} Type.{max u2 u3} CategoryTheory.types.{max u2 u3} D _inst_2) (CategoryTheory.Functor.{max u2 u3, max u2 u3, max u2 (max u2 u3) u3 (succ (max u2 u3)), max u2 (max u2 u3) u3 u1} (CategoryTheory.Functor.{u2, max u2 u3, u3, succ (max u2 u3)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u2 u3}) (CategoryTheory.Functor.category.{u2, max u2 u3, u3, succ (max u2 u3)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u2 u3}) (CategoryTheory.Functor.{u2, max u2 u3, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2) (CategoryTheory.Functor.category.{u2, max u2 u3, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2)) (CategoryTheory.Functor.category.{max u2 u3, max u2 u3, max u2 (max u2 u3) u3 (succ (max u2 u3)), max u2 (max u2 u3) u3 u1} (CategoryTheory.Functor.{u2, max u2 u3, u3, succ (max u2 u3)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u2 u3}) (CategoryTheory.Functor.category.{u2, max u2 u3, u3, succ (max u2 u3)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u2 u3}) (CategoryTheory.Functor.{u2, max u2 u3, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2) (CategoryTheory.Functor.category.{u2, max u2 u3, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2)) (CategoryTheory.whiskeringRight.{u3, u2, succ (max u2 u3), max u2 u3, u1, max u2 u3} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u2 u3} D _inst_2) G) (CategoryTheory.Functor.obj.{max u1 u2 u3, max (max u2 (max u2 u3) u3 u1) u2 u3, max (max u2 u3) u1 (succ (max u2 u3)), max (max u2 u3) (max u2 (max u2 u3) u3 u1) u2 (max u2 u3) u3 (succ (max u2 u3))} (CategoryTheory.Functor.{max u2 u3, max u2 u3, u1, succ (max u2 u3)} D _inst_2 Type.{max u2 u3} CategoryTheory.types.{max u2 u3}) (CategoryTheory.Functor.category.{max u2 u3, max u2 u3, u1, succ (max u2 u3)} D _inst_2 Type.{max u2 u3} CategoryTheory.types.{max u2 u3}) (CategoryTheory.Functor.{max u2 u3, max u2 u3, max u2 (max u2 u3) u3 u1, max u2 (max u2 u3) u3 (succ (max u2 u3))} (CategoryTheory.Functor.{u2, max u2 u3, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2) (CategoryTheory.Functor.category.{u2, max u2 u3, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2) (CategoryTheory.Functor.{u2, max u2 u3, u3, succ (max u2 u3)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u2 u3}) (CategoryTheory.Functor.category.{u2, max u2 u3, u3, succ (max u2 u3)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u2 u3})) (CategoryTheory.Functor.category.{max u2 u3, max u2 u3, max u2 (max u2 u3) u3 u1, max u2 (max u2 u3) u3 (succ (max u2 u3))} (CategoryTheory.Functor.{u2, max u2 u3, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2) (CategoryTheory.Functor.category.{u2, max u2 u3, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2) (CategoryTheory.Functor.{u2, max u2 u3, u3, succ (max u2 u3)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u2 u3}) (CategoryTheory.Functor.category.{u2, max u2 u3, u3, succ (max u2 u3)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u2 u3})) (CategoryTheory.whiskeringRight.{u3, u2, u1, max u2 u3, succ (max u2 u3), max u2 u3} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2 Type.{max u2 u3} CategoryTheory.types.{max u2 u3}) (CategoryTheory.forget.{u1, max u2 u3, max u2 u3} D _inst_2 _inst_5))) (CategoryTheory.SheafOfTypes.val.{max u2 u3, u2, u3} C _inst_1 J (CategoryTheory.Functor.obj.{max u2 u3, max u2 u3, max u3 u2 (succ (max u2 u3)), max u3 u2 (succ (max u2 u3))} (CategoryTheory.SheafOfTypes.{max u2 u3, u2, u3} C _inst_1 J) (CategoryTheory.SheafOfTypes.CategoryTheory.category.{u2, u3, max u2 u3} C _inst_1 J) (CategoryTheory.SheafOfTypes.{max u2 u3, u2, u3} C _inst_1 J) (CategoryTheory.SheafOfTypes.CategoryTheory.category.{u2, u3, max u2 u3} C _inst_1 J) (CategoryTheory.Functor.id.{max u2 u3, max u3 u2 (succ (max u2 u3))} (CategoryTheory.SheafOfTypes.{max u2 u3, u2, u3} C _inst_1 J) (CategoryTheory.SheafOfTypes.CategoryTheory.category.{u2, u3, max u2 u3} C _inst_1 J)) Y))) (CategoryTheory.SheafOfTypes.val.{max u2 u3, u2, u3} C _inst_1 J (CategoryTheory.Functor.obj.{max u2 u3, max u2 u3, max u3 u2 (succ (max u2 u3)), max u3 u2 (succ (max u2 u3))} (CategoryTheory.SheafOfTypes.{max u2 u3, u2, u3} C _inst_1 J) (CategoryTheory.SheafOfTypes.CategoryTheory.category.{u2, u3, max u2 u3} C _inst_1 J) (CategoryTheory.SheafOfTypes.{max u2 u3, u2, u3} C _inst_1 J) (CategoryTheory.SheafOfTypes.CategoryTheory.category.{u2, u3, max u2 u3} C _inst_1 J) (CategoryTheory.Functor.comp.{max u2 u3, max u2 u3, max u2 u3, max u3 u2 (succ (max u2 u3)), max u3 u1 u2 u3, max u3 u2 (succ (max u2 u3))} (CategoryTheory.SheafOfTypes.{max u2 u3, u2, u3} C _inst_1 J) (CategoryTheory.SheafOfTypes.CategoryTheory.category.{u2, u3, max u2 u3} C _inst_1 J) (CategoryTheory.Sheaf.{u2, max u2 u3, u3, u1} C _inst_1 J D _inst_2) (CategoryTheory.Sheaf.CategoryTheory.category.{u2, max u2 u3, u3, u1} C _inst_1 J D _inst_2) (CategoryTheory.SheafOfTypes.{max u2 u3, u2, u3} C _inst_1 J) (CategoryTheory.SheafOfTypes.CategoryTheory.category.{u2, u3, max u2 u3} C _inst_1 J) (CategoryTheory.Sheaf.composeAndSheafifyFromTypes.{u1, u2, u3} C _inst_1 J D _inst_2 _inst_5 _inst_6 (CategoryTheory.Sheaf.adjunctionToTypes._proof_1.{u3, u2, u1} C _inst_1 J D _inst_2 (fun (P : CategoryTheory.Functor.{u2, max u2 u3, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2) (X : C) (S : CategoryTheory.GrothendieckTopology.Cover.{u2, u3} C _inst_1 J X) => _inst_7 P X S)) (CategoryTheory.Sheaf.adjunctionToTypes._proof_2.{u3, u2, u1} C _inst_1 J D _inst_2 (fun (X : C) => _inst_8 X)) (fun (X : C) => _inst_9 X) _inst_10 G) (CategoryTheory.sheafForget.{u1, u2, u3} C _inst_1 J D _inst_2 _inst_5 _inst_6)) Y)) (CategoryTheory.NatTrans.app.{max u2 u3, max u2 u3, max u2 (max u2 u3) u3 (succ (max u2 u3)), max u2 (max u2 u3) u3 (succ (max u2 u3))} (CategoryTheory.Functor.{u2, max u2 u3, u3, succ (max u2 u3)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u2 u3}) (CategoryTheory.Functor.category.{u2, max u2 u3, u3, succ (max u2 u3)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u2 u3}) (CategoryTheory.Functor.{u2, max u2 u3, u3, succ (max u2 u3)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u2 u3}) (CategoryTheory.Functor.category.{u2, max u2 u3, u3, succ (max u2 u3)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u2 u3}) (CategoryTheory.Functor.id.{max u2 u3, max u2 (max u2 u3) u3 (succ (max u2 u3))} (CategoryTheory.Functor.{u2, max u2 u3, u3, succ (max u2 u3)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u2 u3}) (CategoryTheory.Functor.category.{u2, max u2 u3, u3, succ (max u2 u3)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u2 u3})) (CategoryTheory.Functor.comp.{max u2 u3, max u2 u3, max u2 u3, max u2 (max u2 u3) u3 (succ (max u2 u3)), max u2 (max u2 u3) u3 u1, max u2 (max u2 u3) u3 (succ (max u2 u3))} (CategoryTheory.Functor.{u2, max u2 u3, u3, succ (max u2 u3)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u2 u3}) (CategoryTheory.Functor.category.{u2, max u2 u3, u3, succ (max u2 u3)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u2 u3}) (CategoryTheory.Functor.{u2, max u2 u3, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2) (CategoryTheory.Functor.category.{u2, max u2 u3, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2) (CategoryTheory.Functor.{u2, max u2 u3, u3, succ (max u2 u3)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u2 u3}) (CategoryTheory.Functor.category.{u2, max u2 u3, u3, succ (max u2 u3)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u2 u3}) (CategoryTheory.Functor.obj.{succ (max u2 u3), max (max u2 (max u2 u3) u3 (succ (max u2 u3))) u2 u3, max (max u2 u3) (succ (max u2 u3)) u1, max (max u2 u3) (max u2 (max u2 u3) u3 (succ (max u2 u3))) u2 (max u2 u3) u3 u1} (CategoryTheory.Functor.{max u2 u3, max u2 u3, succ (max u2 u3), u1} Type.{max u2 u3} CategoryTheory.types.{max u2 u3} D _inst_2) (CategoryTheory.Functor.category.{max u2 u3, max u2 u3, succ (max u2 u3), u1} Type.{max u2 u3} CategoryTheory.types.{max u2 u3} D _inst_2) (CategoryTheory.Functor.{max u2 u3, max u2 u3, max u2 (max u2 u3) u3 (succ (max u2 u3)), max u2 (max u2 u3) u3 u1} (CategoryTheory.Functor.{u2, max u2 u3, u3, succ (max u2 u3)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u2 u3}) (CategoryTheory.Functor.category.{u2, max u2 u3, u3, succ (max u2 u3)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u2 u3}) (CategoryTheory.Functor.{u2, max u2 u3, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2) (CategoryTheory.Functor.category.{u2, max u2 u3, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2)) (CategoryTheory.Functor.category.{max u2 u3, max u2 u3, max u2 (max u2 u3) u3 (succ (max u2 u3)), max u2 (max u2 u3) u3 u1} (CategoryTheory.Functor.{u2, max u2 u3, u3, succ (max u2 u3)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u2 u3}) (CategoryTheory.Functor.category.{u2, max u2 u3, u3, succ (max u2 u3)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u2 u3}) (CategoryTheory.Functor.{u2, max u2 u3, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2) (CategoryTheory.Functor.category.{u2, max u2 u3, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2)) (CategoryTheory.whiskeringRight.{u3, u2, succ (max u2 u3), max u2 u3, u1, max u2 u3} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u2 u3} D _inst_2) G) (CategoryTheory.Functor.obj.{max u1 u2 u3, max (max u2 (max u2 u3) u3 u1) u2 u3, max (max u2 u3) u1 (succ (max u2 u3)), max (max u2 u3) (max u2 (max u2 u3) u3 u1) u2 (max u2 u3) u3 (succ (max u2 u3))} (CategoryTheory.Functor.{max u2 u3, max u2 u3, u1, succ (max u2 u3)} D _inst_2 Type.{max u2 u3} CategoryTheory.types.{max u2 u3}) (CategoryTheory.Functor.category.{max u2 u3, max u2 u3, u1, succ (max u2 u3)} D _inst_2 Type.{max u2 u3} CategoryTheory.types.{max u2 u3}) (CategoryTheory.Functor.{max u2 u3, max u2 u3, max u2 (max u2 u3) u3 u1, max u2 (max u2 u3) u3 (succ (max u2 u3))} (CategoryTheory.Functor.{u2, max u2 u3, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2) (CategoryTheory.Functor.category.{u2, max u2 u3, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2) (CategoryTheory.Functor.{u2, max u2 u3, u3, succ (max u2 u3)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u2 u3}) (CategoryTheory.Functor.category.{u2, max u2 u3, u3, succ (max u2 u3)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u2 u3})) (CategoryTheory.Functor.category.{max u2 u3, max u2 u3, max u2 (max u2 u3) u3 u1, max u2 (max u2 u3) u3 (succ (max u2 u3))} (CategoryTheory.Functor.{u2, max u2 u3, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2) (CategoryTheory.Functor.category.{u2, max u2 u3, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2) (CategoryTheory.Functor.{u2, max u2 u3, u3, succ (max u2 u3)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u2 u3}) (CategoryTheory.Functor.category.{u2, max u2 u3, u3, succ (max u2 u3)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u2 u3})) (CategoryTheory.whiskeringRight.{u3, u2, u1, max u2 u3, succ (max u2 u3), max u2 u3} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2 Type.{max u2 u3} CategoryTheory.types.{max u2 u3}) (CategoryTheory.forget.{u1, max u2 u3, max u2 u3} D _inst_2 _inst_5))) (CategoryTheory.Adjunction.unit.{max u2 u3, max u2 u3, max u2 (max u2 u3) u3 (succ (max u2 u3)), max u2 (max u2 u3) u3 u1} (CategoryTheory.Functor.{u2, max u2 u3, u3, succ (max u2 u3)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u2 u3}) (CategoryTheory.Functor.category.{u2, max u2 u3, u3, succ (max u2 u3)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u2 u3}) (CategoryTheory.Functor.{u2, max u2 u3, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2) (CategoryTheory.Functor.category.{u2, max u2 u3, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2) (CategoryTheory.Functor.obj.{succ (max u2 u3), max (max u2 (max u2 u3) u3 (succ (max u2 u3))) u2 u3, max (max u2 u3) (succ (max u2 u3)) u1, max (max u2 u3) (max u2 (max u2 u3) u3 (succ (max u2 u3))) u2 (max u2 u3) u3 u1} (CategoryTheory.Functor.{max u2 u3, max u2 u3, succ (max u2 u3), u1} Type.{max u2 u3} CategoryTheory.types.{max u2 u3} D _inst_2) (CategoryTheory.Functor.category.{max u2 u3, max u2 u3, succ (max u2 u3), u1} Type.{max u2 u3} CategoryTheory.types.{max u2 u3} D _inst_2) (CategoryTheory.Functor.{max u2 u3, max u2 u3, max u2 (max u2 u3) u3 (succ (max u2 u3)), max u2 (max u2 u3) u3 u1} (CategoryTheory.Functor.{u2, max u2 u3, u3, succ (max u2 u3)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u2 u3}) (CategoryTheory.Functor.category.{u2, max u2 u3, u3, succ (max u2 u3)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u2 u3}) (CategoryTheory.Functor.{u2, max u2 u3, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2) (CategoryTheory.Functor.category.{u2, max u2 u3, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2)) (CategoryTheory.Functor.category.{max u2 u3, max u2 u3, max u2 (max u2 u3) u3 (succ (max u2 u3)), max u2 (max u2 u3) u3 u1} (CategoryTheory.Functor.{u2, max u2 u3, u3, succ (max u2 u3)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u2 u3}) (CategoryTheory.Functor.category.{u2, max u2 u3, u3, succ (max u2 u3)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u2 u3}) (CategoryTheory.Functor.{u2, max u2 u3, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2) (CategoryTheory.Functor.category.{u2, max u2 u3, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2)) (CategoryTheory.whiskeringRight.{u3, u2, succ (max u2 u3), max u2 u3, u1, max u2 u3} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u2 u3} D _inst_2) G) (CategoryTheory.Functor.obj.{max u1 u2 u3, max (max u2 (max u2 u3) u3 u1) u2 u3, max (max u2 u3) u1 (succ (max u2 u3)), max (max u2 u3) (max u2 (max u2 u3) u3 u1) u2 (max u2 u3) u3 (succ (max u2 u3))} (CategoryTheory.Functor.{max u2 u3, max u2 u3, u1, succ (max u2 u3)} D _inst_2 Type.{max u2 u3} CategoryTheory.types.{max u2 u3}) (CategoryTheory.Functor.category.{max u2 u3, max u2 u3, u1, succ (max u2 u3)} D _inst_2 Type.{max u2 u3} CategoryTheory.types.{max u2 u3}) (CategoryTheory.Functor.{max u2 u3, max u2 u3, max u2 (max u2 u3) u3 u1, max u2 (max u2 u3) u3 (succ (max u2 u3))} (CategoryTheory.Functor.{u2, max u2 u3, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2) (CategoryTheory.Functor.category.{u2, max u2 u3, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2) (CategoryTheory.Functor.{u2, max u2 u3, u3, succ (max u2 u3)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u2 u3}) (CategoryTheory.Functor.category.{u2, max u2 u3, u3, succ (max u2 u3)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u2 u3})) (CategoryTheory.Functor.category.{max u2 u3, max u2 u3, max u2 (max u2 u3) u3 u1, max u2 (max u2 u3) u3 (succ (max u2 u3))} (CategoryTheory.Functor.{u2, max u2 u3, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2) (CategoryTheory.Functor.category.{u2, max u2 u3, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2) (CategoryTheory.Functor.{u2, max u2 u3, u3, succ (max u2 u3)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u2 u3}) (CategoryTheory.Functor.category.{u2, max u2 u3, u3, succ (max u2 u3)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u2 u3})) (CategoryTheory.whiskeringRight.{u3, u2, u1, max u2 u3, succ (max u2 u3), max u2 u3} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2 Type.{max u2 u3} CategoryTheory.types.{max u2 u3}) (CategoryTheory.forget.{u1, max u2 u3, max u2 u3} D _inst_2 _inst_5)) (CategoryTheory.Adjunction.whiskerRight.{u3, succ (max u2 u3), u1, u2, max u2 u3, max u2 u3} (Opposite.{succ u3} C) Type.{max u2 u3} D (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) CategoryTheory.types.{max u2 u3} _inst_2 G (CategoryTheory.forget.{u1, max u2 u3, max u2 u3} D _inst_2 _inst_5) adj)) (CategoryTheory.Functor.obj.{max u2 u3, max u2 u3, max u3 u2 (succ (max u2 u3)), max u2 (max u2 u3) u3 (succ (max u2 u3))} (CategoryTheory.SheafOfTypes.{max u2 u3, u2, u3} C _inst_1 J) (CategoryTheory.SheafOfTypes.CategoryTheory.category.{u2, u3, max u2 u3} C _inst_1 J) (CategoryTheory.Functor.{u2, max u2 u3, u3, succ (max u2 u3)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u2 u3}) (CategoryTheory.Functor.category.{u2, max u2 u3, u3, succ (max u2 u3)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u2 u3}) (CategoryTheory.sheafOfTypesToPresheaf.{max u2 u3, u2, u3} C _inst_1 J) Y)) (CategoryTheory.whiskerRight.{u3, u2, u1, max u2 u3, succ (max u2 u3), max u2 u3} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2 Type.{max u2 u3} CategoryTheory.types.{max u2 u3} (CategoryTheory.Functor.obj.{max u2 u3, max u2 u3, max u2 (max u2 u3) u3 (succ (max u2 u3)), max u2 (max u2 u3) u3 u1} (CategoryTheory.Functor.{u2, max u2 u3, u3, succ (max u2 u3)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u2 u3}) (CategoryTheory.Functor.category.{u2, max u2 u3, u3, succ (max u2 u3)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u2 u3}) (CategoryTheory.Functor.{u2, max u2 u3, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2) (CategoryTheory.Functor.category.{u2, max u2 u3, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2) (CategoryTheory.Functor.obj.{succ (max u2 u3), max (max u2 (max u2 u3) u3 (succ (max u2 u3))) u2 u3, max (max u2 u3) (succ (max u2 u3)) u1, max (max u2 u3) (max u2 (max u2 u3) u3 (succ (max u2 u3))) u2 (max u2 u3) u3 u1} (CategoryTheory.Functor.{max u2 u3, max u2 u3, succ (max u2 u3), u1} Type.{max u2 u3} CategoryTheory.types.{max u2 u3} D _inst_2) (CategoryTheory.Functor.category.{max u2 u3, max u2 u3, succ (max u2 u3), u1} Type.{max u2 u3} CategoryTheory.types.{max u2 u3} D _inst_2) (CategoryTheory.Functor.{max u2 u3, max u2 u3, max u2 (max u2 u3) u3 (succ (max u2 u3)), max u2 (max u2 u3) u3 u1} (CategoryTheory.Functor.{u2, max u2 u3, u3, succ (max u2 u3)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u2 u3}) (CategoryTheory.Functor.category.{u2, max u2 u3, u3, succ (max u2 u3)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u2 u3}) (CategoryTheory.Functor.{u2, max u2 u3, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2) (CategoryTheory.Functor.category.{u2, max u2 u3, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2)) (CategoryTheory.Functor.category.{max u2 u3, max u2 u3, max u2 (max u2 u3) u3 (succ (max u2 u3)), max u2 (max u2 u3) u3 u1} (CategoryTheory.Functor.{u2, max u2 u3, u3, succ (max u2 u3)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u2 u3}) (CategoryTheory.Functor.category.{u2, max u2 u3, u3, succ (max u2 u3)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u2 u3}) (CategoryTheory.Functor.{u2, max u2 u3, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2) (CategoryTheory.Functor.category.{u2, max u2 u3, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2)) (CategoryTheory.whiskeringRight.{u3, u2, succ (max u2 u3), max u2 u3, u1, max u2 u3} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u2 u3} D _inst_2) G) (CategoryTheory.SheafOfTypes.val.{max u2 u3, u2, u3} C _inst_1 J (CategoryTheory.Functor.obj.{max u2 u3, max u2 u3, max u3 u2 (succ (max u2 u3)), max u3 u2 (succ (max u2 u3))} (CategoryTheory.SheafOfTypes.{max u2 u3, u2, u3} C _inst_1 J) (CategoryTheory.SheafOfTypes.CategoryTheory.category.{u2, u3, max u2 u3} C _inst_1 J) (CategoryTheory.SheafOfTypes.{max u2 u3, u2, u3} C _inst_1 J) (CategoryTheory.SheafOfTypes.CategoryTheory.category.{u2, u3, max u2 u3} C _inst_1 J) (CategoryTheory.Functor.id.{max u2 u3, max u3 u2 (succ (max u2 u3))} (CategoryTheory.SheafOfTypes.{max u2 u3, u2, u3} C _inst_1 J) (CategoryTheory.SheafOfTypes.CategoryTheory.category.{u2, u3, max u2 u3} C _inst_1 J)) Y))) (CategoryTheory.Sheaf.val.{u2, max u2 u3, u3, u1} C _inst_1 J D _inst_2 (CategoryTheory.Functor.obj.{max u2 u3, max u2 u3, max u3 u2 (succ (max u2 u3)), max u3 u1 u2 u3} (CategoryTheory.SheafOfTypes.{max u2 u3, u2, u3} C _inst_1 J) (CategoryTheory.SheafOfTypes.CategoryTheory.category.{u2, u3, max u2 u3} C _inst_1 J) (CategoryTheory.Sheaf.{u2, max u2 u3, u3, u1} C _inst_1 J D _inst_2) (CategoryTheory.Sheaf.CategoryTheory.category.{u2, max u2 u3, u3, u1} C _inst_1 J D _inst_2) (CategoryTheory.Sheaf.composeAndSheafifyFromTypes.{u1, u2, u3} C _inst_1 J D _inst_2 _inst_5 _inst_6 (CategoryTheory.Sheaf.adjunctionToTypes._proof_1.{u3, u2, u1} C _inst_1 J D _inst_2 (fun (P : CategoryTheory.Functor.{u2, max u2 u3, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2) (X : C) (S : CategoryTheory.GrothendieckTopology.Cover.{u2, u3} C _inst_1 J X) => _inst_7 P X S)) (CategoryTheory.Sheaf.adjunctionToTypes._proof_2.{u3, u2, u1} C _inst_1 J D _inst_2 (fun (X : C) => _inst_8 X)) (fun (X : C) => _inst_9 X) _inst_10 G) Y)) (CategoryTheory.GrothendieckTopology.toSheafify.{u1, u2, u3} C _inst_1 J D _inst_2 (fun (P : CategoryTheory.Functor.{u2, max u2 u3, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2) (X : C) (S : CategoryTheory.GrothendieckTopology.Cover.{u2, u3} C _inst_1 J X) => _inst_7 P X S) (fun (X : C) => _inst_8 X) (CategoryTheory.Functor.obj.{max u2 u3, max u2 u3, max u2 (max u2 u3) u3 (succ (max u2 u3)), max u2 (max u2 u3) u3 u1} (CategoryTheory.Functor.{u2, max u2 u3, u3, succ (max u2 u3)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u2 u3}) (CategoryTheory.Functor.category.{u2, max u2 u3, u3, succ (max u2 u3)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u2 u3}) (CategoryTheory.Functor.{u2, max u2 u3, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2) (CategoryTheory.Functor.category.{u2, max u2 u3, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2) (CategoryTheory.Functor.obj.{succ (max u2 u3), max (max u2 (max u2 u3) u3 (succ (max u2 u3))) u2 u3, max (max u2 u3) (succ (max u2 u3)) u1, max (max u2 u3) (max u2 (max u2 u3) u3 (succ (max u2 u3))) u2 (max u2 u3) u3 u1} (CategoryTheory.Functor.{max u2 u3, max u2 u3, succ (max u2 u3), u1} Type.{max u2 u3} CategoryTheory.types.{max u2 u3} D _inst_2) (CategoryTheory.Functor.category.{max u2 u3, max u2 u3, succ (max u2 u3), u1} Type.{max u2 u3} CategoryTheory.types.{max u2 u3} D _inst_2) (CategoryTheory.Functor.{max u2 u3, max u2 u3, max u2 (max u2 u3) u3 (succ (max u2 u3)), max u2 (max u2 u3) u3 u1} (CategoryTheory.Functor.{u2, max u2 u3, u3, succ (max u2 u3)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u2 u3}) (CategoryTheory.Functor.category.{u2, max u2 u3, u3, succ (max u2 u3)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u2 u3}) (CategoryTheory.Functor.{u2, max u2 u3, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2) (CategoryTheory.Functor.category.{u2, max u2 u3, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2)) (CategoryTheory.Functor.category.{max u2 u3, max u2 u3, max u2 (max u2 u3) u3 (succ (max u2 u3)), max u2 (max u2 u3) u3 u1} (CategoryTheory.Functor.{u2, max u2 u3, u3, succ (max u2 u3)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u2 u3}) (CategoryTheory.Functor.category.{u2, max u2 u3, u3, succ (max u2 u3)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u2 u3}) (CategoryTheory.Functor.{u2, max u2 u3, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2) (CategoryTheory.Functor.category.{u2, max u2 u3, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2)) (CategoryTheory.whiskeringRight.{u3, u2, succ (max u2 u3), max u2 u3, u1, max u2 u3} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u2 u3} D _inst_2) G) (CategoryTheory.SheafOfTypes.val.{max u2 u3, u2, u3} C _inst_1 J (CategoryTheory.Functor.obj.{max u2 u3, max u2 u3, max u3 u2 (succ (max u2 u3)), max u3 u2 (succ (max u2 u3))} (CategoryTheory.SheafOfTypes.{max u2 u3, u2, u3} C _inst_1 J) (CategoryTheory.SheafOfTypes.CategoryTheory.category.{u2, u3, max u2 u3} C _inst_1 J) (CategoryTheory.SheafOfTypes.{max u2 u3, u2, u3} C _inst_1 J) (CategoryTheory.SheafOfTypes.CategoryTheory.category.{u2, u3, max u2 u3} C _inst_1 J) (CategoryTheory.Functor.id.{max u2 u3, max u3 u2 (succ (max u2 u3))} (CategoryTheory.SheafOfTypes.{max u2 u3, u2, u3} C _inst_1 J) (CategoryTheory.SheafOfTypes.CategoryTheory.category.{u2, u3, max u2 u3} C _inst_1 J)) Y)))) (CategoryTheory.forget.{u1, max u2 u3, max u2 u3} D _inst_2 _inst_5)))
+but is expected to have type
+  forall {C : Type.{u3}} [_inst_1 : CategoryTheory.Category.{u2, u3} C] (J : CategoryTheory.GrothendieckTopology.{u2, u3} C _inst_1) {D : Type.{u1}} [_inst_2 : CategoryTheory.Category.{max u2 u3, u1} D] [_inst_5 : CategoryTheory.ConcreteCategory.{max u2 u3, max u3 u2, u1} D _inst_2] [_inst_6 : CategoryTheory.Limits.PreservesLimits.{max u3 u2, max u3 u2, u1, max (succ u3) (succ u2)} D _inst_2 Type.{max u3 u2} CategoryTheory.types.{max u3 u2} (CategoryTheory.forget.{u1, max u3 u2, max u3 u2} D _inst_2 _inst_5)] [_inst_7 : forall (P : CategoryTheory.Functor.{u2, max u3 u2, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2) (X : C) (S : CategoryTheory.GrothendieckTopology.Cover.{u2, u3} C _inst_1 J X), CategoryTheory.Limits.HasMultiequalizer.{max u3 u2, u1, max u3 u2} D _inst_2 (CategoryTheory.GrothendieckTopology.Cover.index.{u1, u2, u3} C _inst_1 X J D _inst_2 S P)] [_inst_8 : forall (X : C), CategoryTheory.Limits.HasColimitsOfShape.{max u3 u2, max u3 u2, max u3 u2, u1} (Opposite.{max (succ u3) (succ u2)} (CategoryTheory.GrothendieckTopology.Cover.{u2, u3} C _inst_1 J X)) (CategoryTheory.Category.opposite.{max u3 u2, max u3 u2} (CategoryTheory.GrothendieckTopology.Cover.{u2, u3} C _inst_1 J X) (Preorder.smallCategory.{max u3 u2} (CategoryTheory.GrothendieckTopology.Cover.{u2, u3} C _inst_1 J X) (CategoryTheory.GrothendieckTopology.instPreorderCover.{u2, u3} C _inst_1 J X))) D _inst_2] [_inst_9 : forall (X : C), CategoryTheory.Limits.PreservesColimitsOfShape.{max u3 u2, max u3 u2, max u3 u2, max u3 u2, u1, max (succ u3) (succ u2)} D _inst_2 Type.{max u3 u2} CategoryTheory.types.{max u3 u2} (Opposite.{max (succ u3) (succ u2)} (CategoryTheory.GrothendieckTopology.Cover.{u2, u3} C _inst_1 J X)) (CategoryTheory.Category.opposite.{max u3 u2, max u3 u2} (CategoryTheory.GrothendieckTopology.Cover.{u2, u3} C _inst_1 J X) (Preorder.smallCategory.{max u3 u2} (CategoryTheory.GrothendieckTopology.Cover.{u2, u3} C _inst_1 J X) (CategoryTheory.GrothendieckTopology.instPreorderCover.{u2, u3} C _inst_1 J X))) (CategoryTheory.forget.{u1, max u3 u2, max u3 u2} D _inst_2 _inst_5)] [_inst_10 : CategoryTheory.ReflectsIsomorphisms.{max u3 u2, max u3 u2, u1, max (succ u3) (succ u2)} D _inst_2 Type.{max u3 u2} CategoryTheory.types.{max u3 u2} (CategoryTheory.forget.{u1, max u3 u2, max u3 u2} D _inst_2 _inst_5)] {G : CategoryTheory.Functor.{max u3 u2, max u3 u2, max (succ u3) (succ u2), u1} Type.{max u2 u3} CategoryTheory.types.{max u3 u2} D _inst_2} (adj : CategoryTheory.Adjunction.{max u3 u2, max u3 u2, max (succ u3) (succ u2), u1} Type.{max u2 u3} CategoryTheory.types.{max u3 u2} D _inst_2 G (CategoryTheory.forget.{u1, max u3 u2, max u3 u2} D _inst_2 _inst_5)) (Y : CategoryTheory.SheafOfTypes.{max u3 u2, u2, u3} C _inst_1 J), Eq.{max (succ u3) (succ u2)} (Quiver.Hom.{max (succ u3) (succ (max u3 u2)), succ (max u3 u2)} (CategoryTheory.Functor.{u2, max u3 u2, u3, succ (max u3 u2)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u3 u2} CategoryTheory.types.{max u3 u2}) (CategoryTheory.CategoryStruct.toQuiver.{max u3 u2, succ (max u3 u2)} (CategoryTheory.Functor.{u2, max u3 u2, u3, succ (max u3 u2)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u3 u2} CategoryTheory.types.{max u3 u2}) (CategoryTheory.Category.toCategoryStruct.{max u3 u2, succ (max u3 u2)} (CategoryTheory.Functor.{u2, max u3 u2, u3, succ (max u3 u2)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u3 u2} CategoryTheory.types.{max u3 u2}) (CategoryTheory.Functor.category.{u2, max u3 u2, u3, succ (max u3 u2)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u3 u2} CategoryTheory.types.{max u3 u2}))) (CategoryTheory.SheafOfTypes.val.{max u3 u2, u2, u3} C _inst_1 J (Prefunctor.obj.{succ (max u3 u2), succ (max u3 u2), max (succ u3) (succ u2), max (succ u3) (succ u2)} (CategoryTheory.SheafOfTypes.{max u3 u2, u2, u3} C _inst_1 J) (CategoryTheory.CategoryStruct.toQuiver.{max u3 u2, max (succ u3) (succ u2)} (CategoryTheory.SheafOfTypes.{max u3 u2, u2, u3} C _inst_1 J) (CategoryTheory.Category.toCategoryStruct.{max u3 u2, max (succ u3) (succ u2)} (CategoryTheory.SheafOfTypes.{max u3 u2, u2, u3} C _inst_1 J) (CategoryTheory.SheafOfTypes.instCategorySheafOfTypes.{u2, u3, max u3 u2} C _inst_1 J))) (CategoryTheory.SheafOfTypes.{max u3 u2, u2, u3} C _inst_1 J) (CategoryTheory.CategoryStruct.toQuiver.{max u3 u2, max (succ u3) (succ u2)} (CategoryTheory.SheafOfTypes.{max u3 u2, u2, u3} C _inst_1 J) (CategoryTheory.Category.toCategoryStruct.{max u3 u2, max (succ u3) (succ u2)} (CategoryTheory.SheafOfTypes.{max u3 u2, u2, u3} C _inst_1 J) (CategoryTheory.SheafOfTypes.instCategorySheafOfTypes.{u2, u3, max u3 u2} C _inst_1 J))) (CategoryTheory.Functor.toPrefunctor.{max u3 u2, max u3 u2, max (succ u3) (succ u2), max (succ u3) (succ u2)} (CategoryTheory.SheafOfTypes.{max u3 u2, u2, u3} C _inst_1 J) (CategoryTheory.SheafOfTypes.instCategorySheafOfTypes.{u2, u3, max u3 u2} C _inst_1 J) (CategoryTheory.SheafOfTypes.{max u3 u2, u2, u3} C _inst_1 J) (CategoryTheory.SheafOfTypes.instCategorySheafOfTypes.{u2, u3, max u3 u2} C _inst_1 J) (CategoryTheory.Functor.id.{max u3 u2, max (succ u3) (succ u2)} (CategoryTheory.SheafOfTypes.{max u3 u2, u2, u3} C _inst_1 J) (CategoryTheory.SheafOfTypes.instCategorySheafOfTypes.{u2, u3, max u3 u2} C _inst_1 J))) Y)) (CategoryTheory.SheafOfTypes.val.{max u3 u2, u2, u3} C _inst_1 J (Prefunctor.obj.{succ (max u3 u2), succ (max u3 u2), max (succ u3) (succ u2), max (succ u3) (succ u2)} (CategoryTheory.SheafOfTypes.{max u3 u2, u2, u3} C _inst_1 J) (CategoryTheory.CategoryStruct.toQuiver.{max u3 u2, max (succ u3) (succ u2)} (CategoryTheory.SheafOfTypes.{max u3 u2, u2, u3} C _inst_1 J) (CategoryTheory.Category.toCategoryStruct.{max u3 u2, max (succ u3) (succ u2)} (CategoryTheory.SheafOfTypes.{max u3 u2, u2, u3} C _inst_1 J) (CategoryTheory.SheafOfTypes.instCategorySheafOfTypes.{u2, u3, max u3 u2} C _inst_1 J))) (CategoryTheory.SheafOfTypes.{max u3 u2, u2, u3} C _inst_1 J) (CategoryTheory.CategoryStruct.toQuiver.{max u3 u2, max (succ u3) (succ u2)} (CategoryTheory.SheafOfTypes.{max u3 u2, u2, u3} C _inst_1 J) (CategoryTheory.Category.toCategoryStruct.{max u3 u2, max (succ u3) (succ u2)} (CategoryTheory.SheafOfTypes.{max u3 u2, u2, u3} C _inst_1 J) (CategoryTheory.SheafOfTypes.instCategorySheafOfTypes.{u2, u3, max u3 u2} C _inst_1 J))) (CategoryTheory.Functor.toPrefunctor.{max u3 u2, max u3 u2, max (succ u3) (succ u2), max (succ u3) (succ u2)} (CategoryTheory.SheafOfTypes.{max u3 u2, u2, u3} C _inst_1 J) (CategoryTheory.SheafOfTypes.instCategorySheafOfTypes.{u2, u3, max u3 u2} C _inst_1 J) (CategoryTheory.SheafOfTypes.{max u3 u2, u2, u3} C _inst_1 J) (CategoryTheory.SheafOfTypes.instCategorySheafOfTypes.{u2, u3, max u3 u2} C _inst_1 J) (CategoryTheory.Functor.comp.{max u3 u2, max u3 u2, max u3 u2, max (succ u3) (succ u2), max (max u3 u2) u1, max (succ u3) (succ u2)} (CategoryTheory.SheafOfTypes.{max u3 u2, u2, u3} C _inst_1 J) (CategoryTheory.SheafOfTypes.instCategorySheafOfTypes.{u2, u3, max u3 u2} C _inst_1 J) (CategoryTheory.Sheaf.{u2, max u3 u2, u3, u1} C _inst_1 J D _inst_2) (CategoryTheory.Sheaf.instCategorySheaf.{u2, max u3 u2, u3, u1} C _inst_1 J D _inst_2) (CategoryTheory.SheafOfTypes.{max u3 u2, u2, u3} C _inst_1 J) (CategoryTheory.SheafOfTypes.instCategorySheafOfTypes.{u2, u3, max u3 u2} C _inst_1 J) (CategoryTheory.Sheaf.composeAndSheafifyFromTypes.{u1, u2, u3} C _inst_1 J D _inst_2 _inst_5 _inst_6 (fun (P : CategoryTheory.Functor.{u2, max u3 u2, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2) (X : C) (S : CategoryTheory.GrothendieckTopology.Cover.{u2, u3} C _inst_1 J X) => _inst_7 P X S) (fun (X : C) => _inst_8 X) (fun (X : C) => _inst_9 X) _inst_10 G) (CategoryTheory.sheafForget.{u1, u2, u3} C _inst_1 J D _inst_2 _inst_5 _inst_6))) Y))) (CategoryTheory.SheafOfTypes.Hom.val.{u2, u3, max u3 u2} C _inst_1 J (Prefunctor.obj.{succ (max u3 u2), succ (max u3 u2), max (succ u3) (succ u2), max (succ u3) (succ u2)} (CategoryTheory.SheafOfTypes.{max u3 u2, u2, u3} C _inst_1 J) (CategoryTheory.CategoryStruct.toQuiver.{max u3 u2, max (succ u3) (succ u2)} (CategoryTheory.SheafOfTypes.{max u3 u2, u2, u3} C _inst_1 J) (CategoryTheory.Category.toCategoryStruct.{max u3 u2, max (succ u3) (succ u2)} (CategoryTheory.SheafOfTypes.{max u3 u2, u2, u3} C _inst_1 J) (CategoryTheory.SheafOfTypes.instCategorySheafOfTypes.{u2, u3, max u3 u2} C _inst_1 J))) (CategoryTheory.SheafOfTypes.{max u3 u2, u2, u3} C _inst_1 J) (CategoryTheory.CategoryStruct.toQuiver.{max u3 u2, max (succ u3) (succ u2)} (CategoryTheory.SheafOfTypes.{max u3 u2, u2, u3} C _inst_1 J) (CategoryTheory.Category.toCategoryStruct.{max u3 u2, max (succ u3) (succ u2)} (CategoryTheory.SheafOfTypes.{max u3 u2, u2, u3} C _inst_1 J) (CategoryTheory.SheafOfTypes.instCategorySheafOfTypes.{u2, u3, max u3 u2} C _inst_1 J))) (CategoryTheory.Functor.toPrefunctor.{max u3 u2, max u3 u2, max (succ u3) (succ u2), max (succ u3) (succ u2)} (CategoryTheory.SheafOfTypes.{max u3 u2, u2, u3} C _inst_1 J) (CategoryTheory.SheafOfTypes.instCategorySheafOfTypes.{u2, u3, max u3 u2} C _inst_1 J) (CategoryTheory.SheafOfTypes.{max u3 u2, u2, u3} C _inst_1 J) (CategoryTheory.SheafOfTypes.instCategorySheafOfTypes.{u2, u3, max u3 u2} C _inst_1 J) (CategoryTheory.Functor.id.{max u3 u2, max (succ u3) (succ u2)} (CategoryTheory.SheafOfTypes.{max u3 u2, u2, u3} C _inst_1 J) (CategoryTheory.SheafOfTypes.instCategorySheafOfTypes.{u2, u3, max u3 u2} C _inst_1 J))) Y) (Prefunctor.obj.{succ (max u3 u2), succ (max u3 u2), max (succ u3) (succ u2), max (succ u3) (succ u2)} (CategoryTheory.SheafOfTypes.{max u3 u2, u2, u3} C _inst_1 J) (CategoryTheory.CategoryStruct.toQuiver.{max u3 u2, max (succ u3) (succ u2)} (CategoryTheory.SheafOfTypes.{max u3 u2, u2, u3} C _inst_1 J) (CategoryTheory.Category.toCategoryStruct.{max u3 u2, max (succ u3) (succ u2)} (CategoryTheory.SheafOfTypes.{max u3 u2, u2, u3} C _inst_1 J) (CategoryTheory.SheafOfTypes.instCategorySheafOfTypes.{u2, u3, max u3 u2} C _inst_1 J))) (CategoryTheory.SheafOfTypes.{max u3 u2, u2, u3} C _inst_1 J) (CategoryTheory.CategoryStruct.toQuiver.{max u3 u2, max (succ u3) (succ u2)} (CategoryTheory.SheafOfTypes.{max u3 u2, u2, u3} C _inst_1 J) (CategoryTheory.Category.toCategoryStruct.{max u3 u2, max (succ u3) (succ u2)} (CategoryTheory.SheafOfTypes.{max u3 u2, u2, u3} C _inst_1 J) (CategoryTheory.SheafOfTypes.instCategorySheafOfTypes.{u2, u3, max u3 u2} C _inst_1 J))) (CategoryTheory.Functor.toPrefunctor.{max u3 u2, max u3 u2, max (succ u3) (succ u2), max (succ u3) (succ u2)} (CategoryTheory.SheafOfTypes.{max u3 u2, u2, u3} C _inst_1 J) (CategoryTheory.SheafOfTypes.instCategorySheafOfTypes.{u2, u3, max u3 u2} C _inst_1 J) (CategoryTheory.SheafOfTypes.{max u3 u2, u2, u3} C _inst_1 J) (CategoryTheory.SheafOfTypes.instCategorySheafOfTypes.{u2, u3, max u3 u2} C _inst_1 J) (CategoryTheory.Functor.comp.{max u3 u2, max u3 u2, max u3 u2, max (succ u3) (succ u2), max (max u3 u2) u1, max (succ u3) (succ u2)} (CategoryTheory.SheafOfTypes.{max u3 u2, u2, u3} C _inst_1 J) (CategoryTheory.SheafOfTypes.instCategorySheafOfTypes.{u2, u3, max u3 u2} C _inst_1 J) (CategoryTheory.Sheaf.{u2, max u3 u2, u3, u1} C _inst_1 J D _inst_2) (CategoryTheory.Sheaf.instCategorySheaf.{u2, max u3 u2, u3, u1} C _inst_1 J D _inst_2) (CategoryTheory.SheafOfTypes.{max u3 u2, u2, u3} C _inst_1 J) (CategoryTheory.SheafOfTypes.instCategorySheafOfTypes.{u2, u3, max u3 u2} C _inst_1 J) (CategoryTheory.Sheaf.composeAndSheafifyFromTypes.{u1, u2, u3} C _inst_1 J D _inst_2 _inst_5 _inst_6 (fun (P : CategoryTheory.Functor.{u2, max u3 u2, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2) (X : C) (S : CategoryTheory.GrothendieckTopology.Cover.{u2, u3} C _inst_1 J X) => _inst_7 P X S) (fun (X : C) => _inst_8 X) (fun (X : C) => _inst_9 X) _inst_10 G) (CategoryTheory.sheafForget.{u1, u2, u3} C _inst_1 J D _inst_2 _inst_5 _inst_6))) Y) (CategoryTheory.NatTrans.app.{max u3 u2, max u3 u2, max (succ u3) (succ u2), max (succ u3) (succ u2)} (CategoryTheory.SheafOfTypes.{max u3 u2, u2, u3} C _inst_1 J) (CategoryTheory.SheafOfTypes.instCategorySheafOfTypes.{u2, u3, max u3 u2} C _inst_1 J) (CategoryTheory.SheafOfTypes.{max u3 u2, u2, u3} C _inst_1 J) (CategoryTheory.SheafOfTypes.instCategorySheafOfTypes.{u2, u3, max u3 u2} C _inst_1 J) (CategoryTheory.Functor.id.{max u3 u2, max (succ u3) (succ u2)} (CategoryTheory.SheafOfTypes.{max u3 u2, u2, u3} C _inst_1 J) (CategoryTheory.SheafOfTypes.instCategorySheafOfTypes.{u2, u3, max u3 u2} C _inst_1 J)) (CategoryTheory.Functor.comp.{max u3 u2, max u3 u2, max u3 u2, max (succ u3) (succ u2), max (max u3 u2) u1, max (succ u3) (succ u2)} (CategoryTheory.SheafOfTypes.{max u3 u2, u2, u3} C _inst_1 J) (CategoryTheory.SheafOfTypes.instCategorySheafOfTypes.{u2, u3, max u3 u2} C _inst_1 J) (CategoryTheory.Sheaf.{u2, max u3 u2, u3, u1} C _inst_1 J D _inst_2) (CategoryTheory.Sheaf.instCategorySheaf.{u2, max u3 u2, u3, u1} C _inst_1 J D _inst_2) (CategoryTheory.SheafOfTypes.{max u3 u2, u2, u3} C _inst_1 J) (CategoryTheory.SheafOfTypes.instCategorySheafOfTypes.{u2, u3, max u3 u2} C _inst_1 J) (CategoryTheory.Sheaf.composeAndSheafifyFromTypes.{u1, u2, u3} C _inst_1 J D _inst_2 _inst_5 _inst_6 (fun (P : CategoryTheory.Functor.{u2, max u3 u2, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2) (X : C) (S : CategoryTheory.GrothendieckTopology.Cover.{u2, u3} C _inst_1 J X) => _inst_7 P X S) (fun (X : C) => _inst_8 X) (fun (X : C) => _inst_9 X) _inst_10 G) (CategoryTheory.sheafForget.{u1, u2, u3} C _inst_1 J D _inst_2 _inst_5 _inst_6)) (CategoryTheory.Adjunction.unit.{max u3 u2, max u3 u2, max (succ u3) (succ u2), max (max u3 u2) u1} (CategoryTheory.SheafOfTypes.{max u3 u2, u2, u3} C _inst_1 J) (CategoryTheory.SheafOfTypes.instCategorySheafOfTypes.{u2, u3, max u3 u2} C _inst_1 J) (CategoryTheory.Sheaf.{u2, max u3 u2, u3, u1} C _inst_1 J D _inst_2) (CategoryTheory.Sheaf.instCategorySheaf.{u2, max u3 u2, u3, u1} C _inst_1 J D _inst_2) (CategoryTheory.Sheaf.composeAndSheafifyFromTypes.{u1, u2, u3} C _inst_1 J D _inst_2 _inst_5 _inst_6 (fun (P : CategoryTheory.Functor.{u2, max u3 u2, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2) (X : C) (S : CategoryTheory.GrothendieckTopology.Cover.{u2, u3} C _inst_1 J X) => _inst_7 P X S) (fun (X : C) => _inst_8 X) (fun (X : C) => _inst_9 X) _inst_10 G) (CategoryTheory.sheafForget.{u1, u2, u3} C _inst_1 J D _inst_2 _inst_5 _inst_6) (CategoryTheory.Sheaf.adjunctionToTypes.{u1, u2, u3} C _inst_1 J D _inst_2 _inst_5 _inst_6 (fun (P : CategoryTheory.Functor.{u2, max u3 u2, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2) (X : C) (S : CategoryTheory.GrothendieckTopology.Cover.{u2, u3} C _inst_1 J X) => _inst_7 P X S) (fun (X : C) => _inst_8 X) (fun (X : C) => _inst_9 X) _inst_10 G adj)) Y)) (CategoryTheory.CategoryStruct.comp.{max u3 u2, max (succ u3) (succ u2)} (CategoryTheory.Functor.{u2, max u3 u2, u3, max (succ u3) (succ u2)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u3 u2}) (CategoryTheory.Category.toCategoryStruct.{max u3 u2, max (succ u3) (succ u2)} (CategoryTheory.Functor.{u2, max u3 u2, u3, max (succ u3) (succ u2)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u3 u2}) (CategoryTheory.Functor.category.{u2, max u3 u2, u3, max (succ u3) (succ u2)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u3 u2})) (Prefunctor.obj.{succ (max u3 u2), succ (max u3 u2), max (max (max (succ u3) (succ u2)) u2) u3, max (max (max (succ u3) (succ u2)) u2) u3} (CategoryTheory.Functor.{u2, max u3 u2, u3, max (succ u3) (succ u2)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u3 u2}) (CategoryTheory.CategoryStruct.toQuiver.{max u3 u2, max (max (max (succ u3) (succ u2)) u2) u3} (CategoryTheory.Functor.{u2, max u3 u2, u3, max (succ u3) (succ u2)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u3 u2}) (CategoryTheory.Category.toCategoryStruct.{max u3 u2, max (max (max (succ u3) (succ u2)) u2) u3} (CategoryTheory.Functor.{u2, max u3 u2, u3, max (succ u3) (succ u2)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u3 u2}) (CategoryTheory.Functor.category.{u2, max u3 u2, u3, max (succ u3) (succ u2)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u3 u2}))) (CategoryTheory.Functor.{u2, max u3 u2, u3, max (succ u3) (succ u2)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u3 u2}) (CategoryTheory.CategoryStruct.toQuiver.{max u3 u2, max (max (max (succ u3) (succ u2)) u2) u3} (CategoryTheory.Functor.{u2, max u3 u2, u3, max (succ u3) (succ u2)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u3 u2}) (CategoryTheory.Category.toCategoryStruct.{max u3 u2, max (max (max (succ u3) (succ u2)) u2) u3} (CategoryTheory.Functor.{u2, max u3 u2, u3, max (succ u3) (succ u2)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u3 u2}) (CategoryTheory.Functor.category.{u2, max u3 u2, u3, max (succ u3) (succ u2)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u3 u2}))) (CategoryTheory.Functor.toPrefunctor.{max u3 u2, max u3 u2, max (max (max (succ u3) (succ u2)) u2) u3, max (max (max (succ u3) (succ u2)) u2) u3} (CategoryTheory.Functor.{u2, max u3 u2, u3, max (succ u3) (succ u2)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u3 u2}) (CategoryTheory.Functor.category.{u2, max u3 u2, u3, max (succ u3) (succ u2)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u3 u2}) (CategoryTheory.Functor.{u2, max u3 u2, u3, max (succ u3) (succ u2)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u3 u2}) (CategoryTheory.Functor.category.{u2, max u3 u2, u3, max (succ u3) (succ u2)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u3 u2}) (CategoryTheory.Functor.id.{max u3 u2, max (max (max (succ u3) (succ u2)) u2) u3} (CategoryTheory.Functor.{u2, max u3 u2, u3, max (succ u3) (succ u2)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u3 u2}) (CategoryTheory.Functor.category.{u2, max u3 u2, u3, max (succ u3) (succ u2)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u3 u2}))) (Prefunctor.obj.{max (succ u3) (succ (max u3 u2)), max (succ u3) (succ (max u3 u2)), succ (max u3 u2), succ (max u3 u2)} (CategoryTheory.SheafOfTypes.{max u3 u2, u2, u3} C _inst_1 J) (CategoryTheory.CategoryStruct.toQuiver.{max u3 u2, succ (max u3 u2)} (CategoryTheory.SheafOfTypes.{max u3 u2, u2, u3} C _inst_1 J) (CategoryTheory.Category.toCategoryStruct.{max u3 u2, succ (max u3 u2)} (CategoryTheory.SheafOfTypes.{max u3 u2, u2, u3} C _inst_1 J) (CategoryTheory.SheafOfTypes.instCategorySheafOfTypes.{u2, u3, max u3 u2} C _inst_1 J))) (CategoryTheory.Functor.{u2, max u3 u2, u3, succ (max u3 u2)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u3 u2} CategoryTheory.types.{max u3 u2}) (CategoryTheory.CategoryStruct.toQuiver.{max u3 u2, succ (max u3 u2)} (CategoryTheory.Functor.{u2, max u3 u2, u3, succ (max u3 u2)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u3 u2} CategoryTheory.types.{max u3 u2}) (CategoryTheory.Category.toCategoryStruct.{max u3 u2, succ (max u3 u2)} (CategoryTheory.Functor.{u2, max u3 u2, u3, succ (max u3 u2)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u3 u2} CategoryTheory.types.{max u3 u2}) (CategoryTheory.Functor.category.{u2, max u3 u2, u3, succ (max u3 u2)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u3 u2} CategoryTheory.types.{max u3 u2}))) (CategoryTheory.Functor.toPrefunctor.{max u3 u2, max u3 u2, succ (max u3 u2), succ (max u3 u2)} (CategoryTheory.SheafOfTypes.{max u3 u2, u2, u3} C _inst_1 J) (CategoryTheory.SheafOfTypes.instCategorySheafOfTypes.{u2, u3, max u3 u2} C _inst_1 J) (CategoryTheory.Functor.{u2, max u3 u2, u3, succ (max u3 u2)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u3 u2} CategoryTheory.types.{max u3 u2}) (CategoryTheory.Functor.category.{u2, max u3 u2, u3, succ (max u3 u2)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u3 u2} CategoryTheory.types.{max u3 u2}) (CategoryTheory.sheafOfTypesToPresheaf.{max u3 u2, u2, u3} C _inst_1 J)) Y)) (Prefunctor.obj.{succ (max u3 u2), succ (max u3 u2), max (max (max (succ u3) (succ u2)) u2) u3, max (max (max (succ u3) (succ u2)) u2) u3} (CategoryTheory.Functor.{u2, max u3 u2, u3, max (succ u3) (succ u2)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u3 u2}) (CategoryTheory.CategoryStruct.toQuiver.{max u3 u2, max (max (max (succ u3) (succ u2)) u2) u3} (CategoryTheory.Functor.{u2, max u3 u2, u3, max (succ u3) (succ u2)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u3 u2}) (CategoryTheory.Category.toCategoryStruct.{max u3 u2, max (max (max (succ u3) (succ u2)) u2) u3} (CategoryTheory.Functor.{u2, max u3 u2, u3, max (succ u3) (succ u2)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u3 u2}) (CategoryTheory.Functor.category.{u2, max u3 u2, u3, max (succ u3) (succ u2)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u3 u2}))) (CategoryTheory.Functor.{u2, max u3 u2, u3, max (succ u3) (succ u2)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u3 u2}) (CategoryTheory.CategoryStruct.toQuiver.{max u3 u2, max (max (max (succ u3) (succ u2)) u2) u3} (CategoryTheory.Functor.{u2, max u3 u2, u3, max (succ u3) (succ u2)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u3 u2}) (CategoryTheory.Category.toCategoryStruct.{max u3 u2, max (max (max (succ u3) (succ u2)) u2) u3} (CategoryTheory.Functor.{u2, max u3 u2, u3, max (succ u3) (succ u2)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u3 u2}) (CategoryTheory.Functor.category.{u2, max u3 u2, u3, max (succ u3) (succ u2)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u3 u2}))) (CategoryTheory.Functor.toPrefunctor.{max u3 u2, max u3 u2, max (max (max (succ u3) (succ u2)) u2) u3, max (max (max (succ u3) (succ u2)) u2) u3} (CategoryTheory.Functor.{u2, max u3 u2, u3, max (succ u3) (succ u2)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u3 u2}) (CategoryTheory.Functor.category.{u2, max u3 u2, u3, max (succ u3) (succ u2)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u3 u2}) (CategoryTheory.Functor.{u2, max u3 u2, u3, max (succ u3) (succ u2)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u3 u2}) (CategoryTheory.Functor.category.{u2, max u3 u2, u3, max (succ u3) (succ u2)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u3 u2}) (CategoryTheory.Functor.comp.{max u3 u2, max u3 u2, max u3 u2, max (max (max (succ u3) (succ u2)) u2) u3, max (max (max (max u3 u2) u1) u2) u3, max (max (max (succ u3) (succ u2)) u2) u3} (CategoryTheory.Functor.{u2, max u3 u2, u3, max (succ u3) (succ u2)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u3 u2}) (CategoryTheory.Functor.category.{u2, max u3 u2, u3, max (succ u3) (succ u2)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u3 u2}) (CategoryTheory.Functor.{u2, max u3 u2, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2) (CategoryTheory.Functor.category.{u2, max u3 u2, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2) (CategoryTheory.Functor.{u2, max u3 u2, u3, max (succ u3) (succ u2)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u3 u2}) (CategoryTheory.Functor.category.{u2, max u3 u2, u3, max (succ u3) (succ u2)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u3 u2}) (Prefunctor.obj.{max (succ (max (succ u3) (succ u2))) (succ (max u3 u2)), max (max (max (succ u3) (succ (max (succ u3) (succ u2)))) (succ u2)) (succ (max u3 u2)), max (max (max (succ u3) (succ u2)) u1) u3 u2, max (max (max (max u3 (succ u3) (succ u2)) u1) u2) u3 u2} (CategoryTheory.Functor.{max u3 u2, max u3 u2, max (succ u3) (succ u2), u1} Type.{max u2 u3} CategoryTheory.types.{max u3 u2} D _inst_2) (CategoryTheory.CategoryStruct.toQuiver.{max (max (succ u3) (succ u2)) u3 u2, max (max (max (succ u3) (succ u2)) u1) u3 u2} (CategoryTheory.Functor.{max u3 u2, max u3 u2, max (succ u3) (succ u2), u1} Type.{max u2 u3} CategoryTheory.types.{max u3 u2} D _inst_2) (CategoryTheory.Category.toCategoryStruct.{max (max (succ u3) (succ u2)) u3 u2, max (max (max (succ u3) (succ u2)) u1) u3 u2} (CategoryTheory.Functor.{max u3 u2, max u3 u2, max (succ u3) (succ u2), u1} Type.{max u2 u3} CategoryTheory.types.{max u3 u2} D _inst_2) (CategoryTheory.Functor.category.{max u3 u2, max u3 u2, max (succ u3) (succ u2), u1} Type.{max u2 u3} CategoryTheory.types.{max u3 u2} D _inst_2))) (CategoryTheory.Functor.{max u3 u2, max u3 u2, max (max (max (max (succ u3) (succ u2)) u3) u3 u2) u2, max (max (max u1 u3) u3 u2) u2} (CategoryTheory.Functor.{u2, max u3 u2, u3, max (succ u3) (succ u2)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u3 u2}) (CategoryTheory.Functor.category.{u2, max u3 u2, u3, max (succ u3) (succ u2)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u3 u2}) (CategoryTheory.Functor.{u2, max u3 u2, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2) (CategoryTheory.Functor.category.{u2, max u3 u2, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2)) (CategoryTheory.CategoryStruct.toQuiver.{max (max (max u3 (succ u3) (succ u2)) u2) u3 u2, max (max (max (max u3 (succ u3) (succ u2)) u1) u2) u3 u2} (CategoryTheory.Functor.{max u3 u2, max u3 u2, max (max (max (max (succ u3) (succ u2)) u3) u3 u2) u2, max (max (max u1 u3) u3 u2) u2} (CategoryTheory.Functor.{u2, max u3 u2, u3, max (succ u3) (succ u2)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u3 u2}) (CategoryTheory.Functor.category.{u2, max u3 u2, u3, max (succ u3) (succ u2)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u3 u2}) (CategoryTheory.Functor.{u2, max u3 u2, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2) (CategoryTheory.Functor.category.{u2, max u3 u2, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2)) (CategoryTheory.Category.toCategoryStruct.{max (max (max u3 (succ u3) (succ u2)) u2) u3 u2, max (max (max (max u3 (succ u3) (succ u2)) u1) u2) u3 u2} (CategoryTheory.Functor.{max u3 u2, max u3 u2, max (max (max (max (succ u3) (succ u2)) u3) u3 u2) u2, max (max (max u1 u3) u3 u2) u2} (CategoryTheory.Functor.{u2, max u3 u2, u3, max (succ u3) (succ u2)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u3 u2}) (CategoryTheory.Functor.category.{u2, max u3 u2, u3, max (succ u3) (succ u2)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u3 u2}) (CategoryTheory.Functor.{u2, max u3 u2, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2) (CategoryTheory.Functor.category.{u2, max u3 u2, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2)) (CategoryTheory.Functor.category.{max u3 u2, max u3 u2, max (max (max u3 (succ u3) (succ u2)) u2) u3 u2, max (max (max u3 u1) u2) u3 u2} (CategoryTheory.Functor.{u2, max u3 u2, u3, max (succ u3) (succ u2)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u3 u2}) (CategoryTheory.Functor.category.{u2, max u3 u2, u3, max (succ u3) (succ u2)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u3 u2}) (CategoryTheory.Functor.{u2, max u3 u2, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2) (CategoryTheory.Functor.category.{u2, max u3 u2, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2)))) (CategoryTheory.Functor.toPrefunctor.{max (max (succ u3) (succ u2)) u3 u2, max (max (max u3 (succ u3) (succ u2)) u2) u3 u2, max (max (max (succ u3) (succ u2)) u1) u3 u2, max (max (max (max u3 (succ u3) (succ u2)) u1) u2) u3 u2} (CategoryTheory.Functor.{max u3 u2, max u3 u2, max (succ u3) (succ u2), u1} Type.{max u2 u3} CategoryTheory.types.{max u3 u2} D _inst_2) (CategoryTheory.Functor.category.{max u3 u2, max u3 u2, max (succ u3) (succ u2), u1} Type.{max u2 u3} CategoryTheory.types.{max u3 u2} D _inst_2) (CategoryTheory.Functor.{max u3 u2, max u3 u2, max (max (max (max (succ u3) (succ u2)) u3) u3 u2) u2, max (max (max u1 u3) u3 u2) u2} (CategoryTheory.Functor.{u2, max u3 u2, u3, max (succ u3) (succ u2)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u3 u2}) (CategoryTheory.Functor.category.{u2, max u3 u2, u3, max (succ u3) (succ u2)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u3 u2}) (CategoryTheory.Functor.{u2, max u3 u2, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2) (CategoryTheory.Functor.category.{u2, max u3 u2, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2)) (CategoryTheory.Functor.category.{max u3 u2, max u3 u2, max (max (max u3 (succ u3) (succ u2)) u2) u3 u2, max (max (max u3 u1) u2) u3 u2} (CategoryTheory.Functor.{u2, max u3 u2, u3, max (succ u3) (succ u2)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u3 u2}) (CategoryTheory.Functor.category.{u2, max u3 u2, u3, max (succ u3) (succ u2)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u3 u2}) (CategoryTheory.Functor.{u2, max u3 u2, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2) (CategoryTheory.Functor.category.{u2, max u3 u2, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2)) (CategoryTheory.whiskeringRight.{u3, u2, max (succ u3) (succ u2), max u3 u2, u1, max u3 u2} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u3 u2} D _inst_2)) G) (Prefunctor.obj.{max (succ u1) (succ (max u3 u2)), max (max (max (succ u3) (succ u1)) (succ u2)) (succ (max u3 u2)), max (max (max (succ u3) (succ u2)) u1) u3 u2, max (max (max (max u3 (succ u3) (succ u2)) u1) u2) u3 u2} (CategoryTheory.Functor.{max u3 u2, max u3 u2, u1, max (succ u3) (succ u2)} D _inst_2 Type.{max u2 u3} CategoryTheory.types.{max u3 u2}) (CategoryTheory.CategoryStruct.toQuiver.{max u1 u3 u2, max (max (max (succ u3) (succ u2)) u1) u3 u2} (CategoryTheory.Functor.{max u3 u2, max u3 u2, u1, max (succ u3) (succ u2)} D _inst_2 Type.{max u2 u3} CategoryTheory.types.{max u3 u2}) (CategoryTheory.Category.toCategoryStruct.{max u1 u3 u2, max (max (max (succ u3) (succ u2)) u1) u3 u2} (CategoryTheory.Functor.{max u3 u2, max u3 u2, u1, max (succ u3) (succ u2)} D _inst_2 Type.{max u2 u3} CategoryTheory.types.{max u3 u2}) (CategoryTheory.Functor.category.{max u3 u2, max u3 u2, u1, max (succ u3) (succ u2)} D _inst_2 Type.{max u2 u3} CategoryTheory.types.{max u3 u2}))) (CategoryTheory.Functor.{max u3 u2, max u3 u2, max (max (max u1 u3) u3 u2) u2, max (max (max (max (succ u3) (succ u2)) u3) u3 u2) u2} (CategoryTheory.Functor.{u2, max u3 u2, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2) (CategoryTheory.Functor.category.{u2, max u3 u2, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2) (CategoryTheory.Functor.{u2, max u3 u2, u3, max (succ u3) (succ u2)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u3 u2}) (CategoryTheory.Functor.category.{u2, max u3 u2, u3, max (succ u3) (succ u2)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u3 u2})) (CategoryTheory.CategoryStruct.toQuiver.{max (max (max u3 u1) u2) u3 u2, max (max (max (max u3 (succ u3) (succ u2)) u1) u2) u3 u2} (CategoryTheory.Functor.{max u3 u2, max u3 u2, max (max (max u1 u3) u3 u2) u2, max (max (max (max (succ u3) (succ u2)) u3) u3 u2) u2} (CategoryTheory.Functor.{u2, max u3 u2, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2) (CategoryTheory.Functor.category.{u2, max u3 u2, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2) (CategoryTheory.Functor.{u2, max u3 u2, u3, max (succ u3) (succ u2)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u3 u2}) (CategoryTheory.Functor.category.{u2, max u3 u2, u3, max (succ u3) (succ u2)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u3 u2})) (CategoryTheory.Category.toCategoryStruct.{max (max (max u3 u1) u2) u3 u2, max (max (max (max u3 (succ u3) (succ u2)) u1) u2) u3 u2} (CategoryTheory.Functor.{max u3 u2, max u3 u2, max (max (max u1 u3) u3 u2) u2, max (max (max (max (succ u3) (succ u2)) u3) u3 u2) u2} (CategoryTheory.Functor.{u2, max u3 u2, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2) (CategoryTheory.Functor.category.{u2, max u3 u2, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2) (CategoryTheory.Functor.{u2, max u3 u2, u3, max (succ u3) (succ u2)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u3 u2}) (CategoryTheory.Functor.category.{u2, max u3 u2, u3, max (succ u3) (succ u2)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u3 u2})) (CategoryTheory.Functor.category.{max u3 u2, max u3 u2, max (max (max u3 u1) u2) u3 u2, max (max (max u3 (succ u3) (succ u2)) u2) u3 u2} (CategoryTheory.Functor.{u2, max u3 u2, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2) (CategoryTheory.Functor.category.{u2, max u3 u2, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2) (CategoryTheory.Functor.{u2, max u3 u2, u3, max (succ u3) (succ u2)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u3 u2}) (CategoryTheory.Functor.category.{u2, max u3 u2, u3, max (succ u3) (succ u2)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u3 u2})))) (CategoryTheory.Functor.toPrefunctor.{max u1 u3 u2, max (max (max u3 u1) u2) u3 u2, max (max (max (succ u3) (succ u2)) u1) u3 u2, max (max (max (max u3 (succ u3) (succ u2)) u1) u2) u3 u2} (CategoryTheory.Functor.{max u3 u2, max u3 u2, u1, max (succ u3) (succ u2)} D _inst_2 Type.{max u2 u3} CategoryTheory.types.{max u3 u2}) (CategoryTheory.Functor.category.{max u3 u2, max u3 u2, u1, max (succ u3) (succ u2)} D _inst_2 Type.{max u2 u3} CategoryTheory.types.{max u3 u2}) (CategoryTheory.Functor.{max u3 u2, max u3 u2, max (max (max u1 u3) u3 u2) u2, max (max (max (max (succ u3) (succ u2)) u3) u3 u2) u2} (CategoryTheory.Functor.{u2, max u3 u2, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2) (CategoryTheory.Functor.category.{u2, max u3 u2, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2) (CategoryTheory.Functor.{u2, max u3 u2, u3, max (succ u3) (succ u2)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u3 u2}) (CategoryTheory.Functor.category.{u2, max u3 u2, u3, max (succ u3) (succ u2)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u3 u2})) (CategoryTheory.Functor.category.{max u3 u2, max u3 u2, max (max (max u3 u1) u2) u3 u2, max (max (max u3 (succ u3) (succ u2)) u2) u3 u2} (CategoryTheory.Functor.{u2, max u3 u2, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2) (CategoryTheory.Functor.category.{u2, max u3 u2, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2) (CategoryTheory.Functor.{u2, max u3 u2, u3, max (succ u3) (succ u2)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u3 u2}) (CategoryTheory.Functor.category.{u2, max u3 u2, u3, max (succ u3) (succ u2)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u3 u2})) (CategoryTheory.whiskeringRight.{u3, u2, u1, max u3 u2, max (succ u3) (succ u2), max u3 u2} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2 Type.{max u2 u3} CategoryTheory.types.{max u3 u2})) (CategoryTheory.forget.{u1, max u3 u2, max u3 u2} D _inst_2 _inst_5)))) (Prefunctor.obj.{max (succ u3) (succ (max u3 u2)), max (succ u3) (succ (max u3 u2)), succ (max u3 u2), succ (max u3 u2)} (CategoryTheory.SheafOfTypes.{max u3 u2, u2, u3} C _inst_1 J) (CategoryTheory.CategoryStruct.toQuiver.{max u3 u2, succ (max u3 u2)} (CategoryTheory.SheafOfTypes.{max u3 u2, u2, u3} C _inst_1 J) (CategoryTheory.Category.toCategoryStruct.{max u3 u2, succ (max u3 u2)} (CategoryTheory.SheafOfTypes.{max u3 u2, u2, u3} C _inst_1 J) (CategoryTheory.SheafOfTypes.instCategorySheafOfTypes.{u2, u3, max u3 u2} C _inst_1 J))) (CategoryTheory.Functor.{u2, max u3 u2, u3, succ (max u3 u2)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u3 u2} CategoryTheory.types.{max u3 u2}) (CategoryTheory.CategoryStruct.toQuiver.{max u3 u2, succ (max u3 u2)} (CategoryTheory.Functor.{u2, max u3 u2, u3, succ (max u3 u2)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u3 u2} CategoryTheory.types.{max u3 u2}) (CategoryTheory.Category.toCategoryStruct.{max u3 u2, succ (max u3 u2)} (CategoryTheory.Functor.{u2, max u3 u2, u3, succ (max u3 u2)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u3 u2} CategoryTheory.types.{max u3 u2}) (CategoryTheory.Functor.category.{u2, max u3 u2, u3, succ (max u3 u2)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u3 u2} CategoryTheory.types.{max u3 u2}))) (CategoryTheory.Functor.toPrefunctor.{max u3 u2, max u3 u2, succ (max u3 u2), succ (max u3 u2)} (CategoryTheory.SheafOfTypes.{max u3 u2, u2, u3} C _inst_1 J) (CategoryTheory.SheafOfTypes.instCategorySheafOfTypes.{u2, u3, max u3 u2} C _inst_1 J) (CategoryTheory.Functor.{u2, max u3 u2, u3, succ (max u3 u2)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u3 u2} CategoryTheory.types.{max u3 u2}) (CategoryTheory.Functor.category.{u2, max u3 u2, u3, succ (max u3 u2)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u3 u2} CategoryTheory.types.{max u3 u2}) (CategoryTheory.sheafOfTypesToPresheaf.{max u3 u2, u2, u3} C _inst_1 J)) Y)) (CategoryTheory.Functor.comp.{u2, max u3 u2, max u3 u2, u3, u1, max (succ u3) (succ u2)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2 Type.{max u3 u2} CategoryTheory.types.{max u3 u2} (CategoryTheory.GrothendieckTopology.sheafify.{u1, u2, u3} C _inst_1 J D _inst_2 (fun (P : CategoryTheory.Functor.{u2, max u3 u2, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2) (X : C) (S : CategoryTheory.GrothendieckTopology.Cover.{u2, u3} C _inst_1 J X) => _inst_7 P X S) (fun (X : C) => _inst_8 X) (Prefunctor.obj.{succ (max u3 u2), succ (max u3 u2), max (max (max (succ u3) (succ u2)) u2) u3, max (max (max (max u3 u2) u1) u2) u3} (CategoryTheory.Functor.{u2, max u3 u2, u3, max (succ u3) (succ u2)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u3 u2}) (CategoryTheory.CategoryStruct.toQuiver.{max u3 u2, max (max (max (succ u3) (succ u2)) u2) u3} (CategoryTheory.Functor.{u2, max u3 u2, u3, max (succ u3) (succ u2)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u3 u2}) (CategoryTheory.Category.toCategoryStruct.{max u3 u2, max (max (max (succ u3) (succ u2)) u2) u3} (CategoryTheory.Functor.{u2, max u3 u2, u3, max (succ u3) (succ u2)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u3 u2}) (CategoryTheory.Functor.category.{u2, max u3 u2, u3, max (succ u3) (succ u2)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u3 u2}))) (CategoryTheory.Functor.{u2, max u3 u2, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2) (CategoryTheory.CategoryStruct.toQuiver.{max u3 u2, max (max (max (max u3 u2) u1) u2) u3} (CategoryTheory.Functor.{u2, max u3 u2, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2) (CategoryTheory.Category.toCategoryStruct.{max u3 u2, max (max (max (max u3 u2) u1) u2) u3} (CategoryTheory.Functor.{u2, max u3 u2, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2) (CategoryTheory.Functor.category.{u2, max u3 u2, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2))) (CategoryTheory.Functor.toPrefunctor.{max u3 u2, max u3 u2, max (max (max (succ u3) (succ u2)) u2) u3, max (max (max (max u3 u2) u1) u2) u3} (CategoryTheory.Functor.{u2, max u3 u2, u3, max (succ u3) (succ u2)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u3 u2}) (CategoryTheory.Functor.category.{u2, max u3 u2, u3, max (succ u3) (succ u2)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u3 u2}) (CategoryTheory.Functor.{u2, max u3 u2, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2) (CategoryTheory.Functor.category.{u2, max u3 u2, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2) (Prefunctor.obj.{max (succ (max (succ u3) (succ u2))) (succ (max u3 u2)), max (max (max (succ u3) (succ (max (succ u3) (succ u2)))) (succ u2)) (succ (max u3 u2)), max (max (max (succ u3) (succ u2)) u1) u3 u2, max (max (max (max u3 (succ u3) (succ u2)) u1) u2) u3 u2} (CategoryTheory.Functor.{max u3 u2, max u3 u2, max (succ u3) (succ u2), u1} Type.{max u2 u3} CategoryTheory.types.{max u3 u2} D _inst_2) (CategoryTheory.CategoryStruct.toQuiver.{max (max (succ u3) (succ u2)) u3 u2, max (max (max (succ u3) (succ u2)) u1) u3 u2} (CategoryTheory.Functor.{max u3 u2, max u3 u2, max (succ u3) (succ u2), u1} Type.{max u2 u3} CategoryTheory.types.{max u3 u2} D _inst_2) (CategoryTheory.Category.toCategoryStruct.{max (max (succ u3) (succ u2)) u3 u2, max (max (max (succ u3) (succ u2)) u1) u3 u2} (CategoryTheory.Functor.{max u3 u2, max u3 u2, max (succ u3) (succ u2), u1} Type.{max u2 u3} CategoryTheory.types.{max u3 u2} D _inst_2) (CategoryTheory.Functor.category.{max u3 u2, max u3 u2, max (succ u3) (succ u2), u1} Type.{max u2 u3} CategoryTheory.types.{max u3 u2} D _inst_2))) (CategoryTheory.Functor.{max u3 u2, max u3 u2, max (max (max (max (succ u3) (succ u2)) u3) u3 u2) u2, max (max (max u1 u3) u3 u2) u2} (CategoryTheory.Functor.{u2, max u3 u2, u3, max (succ u3) (succ u2)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u3 u2}) (CategoryTheory.Functor.category.{u2, max u3 u2, u3, max (succ u3) (succ u2)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u3 u2}) (CategoryTheory.Functor.{u2, max u3 u2, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2) (CategoryTheory.Functor.category.{u2, max u3 u2, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2)) (CategoryTheory.CategoryStruct.toQuiver.{max (max (max u3 (succ u3) (succ u2)) u2) u3 u2, max (max (max (max u3 (succ u3) (succ u2)) u1) u2) u3 u2} (CategoryTheory.Functor.{max u3 u2, max u3 u2, max (max (max (max (succ u3) (succ u2)) u3) u3 u2) u2, max (max (max u1 u3) u3 u2) u2} (CategoryTheory.Functor.{u2, max u3 u2, u3, max (succ u3) (succ u2)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u3 u2}) (CategoryTheory.Functor.category.{u2, max u3 u2, u3, max (succ u3) (succ u2)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u3 u2}) (CategoryTheory.Functor.{u2, max u3 u2, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2) (CategoryTheory.Functor.category.{u2, max u3 u2, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2)) (CategoryTheory.Category.toCategoryStruct.{max (max (max u3 (succ u3) (succ u2)) u2) u3 u2, max (max (max (max u3 (succ u3) (succ u2)) u1) u2) u3 u2} (CategoryTheory.Functor.{max u3 u2, max u3 u2, max (max (max (max (succ u3) (succ u2)) u3) u3 u2) u2, max (max (max u1 u3) u3 u2) u2} (CategoryTheory.Functor.{u2, max u3 u2, u3, max (succ u3) (succ u2)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u3 u2}) (CategoryTheory.Functor.category.{u2, max u3 u2, u3, max (succ u3) (succ u2)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u3 u2}) (CategoryTheory.Functor.{u2, max u3 u2, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2) (CategoryTheory.Functor.category.{u2, max u3 u2, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2)) (CategoryTheory.Functor.category.{max u3 u2, max u3 u2, max (max (max u3 (succ u3) (succ u2)) u2) u3 u2, max (max (max u3 u1) u2) u3 u2} (CategoryTheory.Functor.{u2, max u3 u2, u3, max (succ u3) (succ u2)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u3 u2}) (CategoryTheory.Functor.category.{u2, max u3 u2, u3, max (succ u3) (succ u2)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u3 u2}) (CategoryTheory.Functor.{u2, max u3 u2, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2) (CategoryTheory.Functor.category.{u2, max u3 u2, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2)))) (CategoryTheory.Functor.toPrefunctor.{max (max (succ u3) (succ u2)) u3 u2, max (max (max u3 (succ u3) (succ u2)) u2) u3 u2, max (max (max (succ u3) (succ u2)) u1) u3 u2, max (max (max (max u3 (succ u3) (succ u2)) u1) u2) u3 u2} (CategoryTheory.Functor.{max u3 u2, max u3 u2, max (succ u3) (succ u2), u1} Type.{max u2 u3} CategoryTheory.types.{max u3 u2} D _inst_2) (CategoryTheory.Functor.category.{max u3 u2, max u3 u2, max (succ u3) (succ u2), u1} Type.{max u2 u3} CategoryTheory.types.{max u3 u2} D _inst_2) (CategoryTheory.Functor.{max u3 u2, max u3 u2, max (max (max (max (succ u3) (succ u2)) u3) u3 u2) u2, max (max (max u1 u3) u3 u2) u2} (CategoryTheory.Functor.{u2, max u3 u2, u3, max (succ u3) (succ u2)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u3 u2}) (CategoryTheory.Functor.category.{u2, max u3 u2, u3, max (succ u3) (succ u2)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u3 u2}) (CategoryTheory.Functor.{u2, max u3 u2, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2) (CategoryTheory.Functor.category.{u2, max u3 u2, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2)) (CategoryTheory.Functor.category.{max u3 u2, max u3 u2, max (max (max u3 (succ u3) (succ u2)) u2) u3 u2, max (max (max u3 u1) u2) u3 u2} (CategoryTheory.Functor.{u2, max u3 u2, u3, max (succ u3) (succ u2)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u3 u2}) (CategoryTheory.Functor.category.{u2, max u3 u2, u3, max (succ u3) (succ u2)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u3 u2}) (CategoryTheory.Functor.{u2, max u3 u2, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2) (CategoryTheory.Functor.category.{u2, max u3 u2, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2)) (CategoryTheory.whiskeringRight.{u3, u2, max (succ u3) (succ u2), max u3 u2, u1, max u3 u2} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u3 u2} D _inst_2)) G)) (Prefunctor.obj.{max (succ u3) (succ (max u3 u2)), max (succ u3) (succ (max u3 u2)), succ (max u3 u2), succ (max u3 u2)} (CategoryTheory.SheafOfTypes.{max u3 u2, u2, u3} C _inst_1 J) (CategoryTheory.CategoryStruct.toQuiver.{max u3 u2, succ (max u3 u2)} (CategoryTheory.SheafOfTypes.{max u3 u2, u2, u3} C _inst_1 J) (CategoryTheory.Category.toCategoryStruct.{max u3 u2, succ (max u3 u2)} (CategoryTheory.SheafOfTypes.{max u3 u2, u2, u3} C _inst_1 J) (CategoryTheory.SheafOfTypes.instCategorySheafOfTypes.{u2, u3, max u3 u2} C _inst_1 J))) (CategoryTheory.Functor.{u2, max u3 u2, u3, succ (max u3 u2)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u3 u2} CategoryTheory.types.{max u3 u2}) (CategoryTheory.CategoryStruct.toQuiver.{max u3 u2, succ (max u3 u2)} (CategoryTheory.Functor.{u2, max u3 u2, u3, succ (max u3 u2)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u3 u2} CategoryTheory.types.{max u3 u2}) (CategoryTheory.Category.toCategoryStruct.{max u3 u2, succ (max u3 u2)} (CategoryTheory.Functor.{u2, max u3 u2, u3, succ (max u3 u2)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u3 u2} CategoryTheory.types.{max u3 u2}) (CategoryTheory.Functor.category.{u2, max u3 u2, u3, succ (max u3 u2)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u3 u2} CategoryTheory.types.{max u3 u2}))) (CategoryTheory.Functor.toPrefunctor.{max u3 u2, max u3 u2, succ (max u3 u2), succ (max u3 u2)} (CategoryTheory.SheafOfTypes.{max u3 u2, u2, u3} C _inst_1 J) (CategoryTheory.SheafOfTypes.instCategorySheafOfTypes.{u2, u3, max u3 u2} C _inst_1 J) (CategoryTheory.Functor.{u2, max u3 u2, u3, succ (max u3 u2)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u3 u2} CategoryTheory.types.{max u3 u2}) (CategoryTheory.Functor.category.{u2, max u3 u2, u3, succ (max u3 u2)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u3 u2} CategoryTheory.types.{max u3 u2}) (CategoryTheory.sheafOfTypesToPresheaf.{max u3 u2, u2, u3} C _inst_1 J)) Y))) (CategoryTheory.forget.{u1, max u3 u2, max u3 u2} D _inst_2 _inst_5)) (CategoryTheory.NatTrans.app.{max u3 u2, max u3 u2, max (max (max (succ u3) (succ u2)) u2) u3, max (max (max (succ u3) (succ u2)) u2) u3} (CategoryTheory.Functor.{u2, max u3 u2, u3, max (succ u3) (succ u2)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u3 u2}) (CategoryTheory.Functor.category.{u2, max u3 u2, u3, max (succ u3) (succ u2)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u3 u2}) (CategoryTheory.Functor.{u2, max u3 u2, u3, max (succ u3) (succ u2)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u3 u2}) (CategoryTheory.Functor.category.{u2, max u3 u2, u3, max (succ u3) (succ u2)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u3 u2}) (CategoryTheory.Functor.id.{max u3 u2, max (max (max (succ u3) (succ u2)) u2) u3} (CategoryTheory.Functor.{u2, max u3 u2, u3, max (succ u3) (succ u2)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u3 u2}) (CategoryTheory.Functor.category.{u2, max u3 u2, u3, max (succ u3) (succ u2)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u3 u2})) (CategoryTheory.Functor.comp.{max u3 u2, max u3 u2, max u3 u2, max (max (max (succ u3) (succ u2)) u2) u3, max (max (max (max u3 u2) u1) u2) u3, max (max (max (succ u3) (succ u2)) u2) u3} (CategoryTheory.Functor.{u2, max u3 u2, u3, max (succ u3) (succ u2)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u3 u2}) (CategoryTheory.Functor.category.{u2, max u3 u2, u3, max (succ u3) (succ u2)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u3 u2}) (CategoryTheory.Functor.{u2, max u3 u2, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2) (CategoryTheory.Functor.category.{u2, max u3 u2, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2) (CategoryTheory.Functor.{u2, max u3 u2, u3, max (succ u3) (succ u2)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u3 u2}) (CategoryTheory.Functor.category.{u2, max u3 u2, u3, max (succ u3) (succ u2)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u3 u2}) (Prefunctor.obj.{max (succ (max (succ u3) (succ u2))) (succ (max u3 u2)), max (max (max (succ u3) (succ (max (succ u3) (succ u2)))) (succ u2)) (succ (max u3 u2)), max (max (max (succ u3) (succ u2)) u1) u3 u2, max (max (max (max u3 (succ u3) (succ u2)) u1) u2) u3 u2} (CategoryTheory.Functor.{max u3 u2, max u3 u2, max (succ u3) (succ u2), u1} Type.{max u2 u3} CategoryTheory.types.{max u3 u2} D _inst_2) (CategoryTheory.CategoryStruct.toQuiver.{max (max (succ u3) (succ u2)) u3 u2, max (max (max (succ u3) (succ u2)) u1) u3 u2} (CategoryTheory.Functor.{max u3 u2, max u3 u2, max (succ u3) (succ u2), u1} Type.{max u2 u3} CategoryTheory.types.{max u3 u2} D _inst_2) (CategoryTheory.Category.toCategoryStruct.{max (max (succ u3) (succ u2)) u3 u2, max (max (max (succ u3) (succ u2)) u1) u3 u2} (CategoryTheory.Functor.{max u3 u2, max u3 u2, max (succ u3) (succ u2), u1} Type.{max u2 u3} CategoryTheory.types.{max u3 u2} D _inst_2) (CategoryTheory.Functor.category.{max u3 u2, max u3 u2, max (succ u3) (succ u2), u1} Type.{max u2 u3} CategoryTheory.types.{max u3 u2} D _inst_2))) (CategoryTheory.Functor.{max u3 u2, max u3 u2, max (max (max (max (succ u3) (succ u2)) u3) u3 u2) u2, max (max (max u1 u3) u3 u2) u2} (CategoryTheory.Functor.{u2, max u3 u2, u3, max (succ u3) (succ u2)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u3 u2}) (CategoryTheory.Functor.category.{u2, max u3 u2, u3, max (succ u3) (succ u2)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u3 u2}) (CategoryTheory.Functor.{u2, max u3 u2, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2) (CategoryTheory.Functor.category.{u2, max u3 u2, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2)) (CategoryTheory.CategoryStruct.toQuiver.{max (max (max u3 (succ u3) (succ u2)) u2) u3 u2, max (max (max (max u3 (succ u3) (succ u2)) u1) u2) u3 u2} (CategoryTheory.Functor.{max u3 u2, max u3 u2, max (max (max (max (succ u3) (succ u2)) u3) u3 u2) u2, max (max (max u1 u3) u3 u2) u2} (CategoryTheory.Functor.{u2, max u3 u2, u3, max (succ u3) (succ u2)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u3 u2}) (CategoryTheory.Functor.category.{u2, max u3 u2, u3, max (succ u3) (succ u2)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u3 u2}) (CategoryTheory.Functor.{u2, max u3 u2, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2) (CategoryTheory.Functor.category.{u2, max u3 u2, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2)) (CategoryTheory.Category.toCategoryStruct.{max (max (max u3 (succ u3) (succ u2)) u2) u3 u2, max (max (max (max u3 (succ u3) (succ u2)) u1) u2) u3 u2} (CategoryTheory.Functor.{max u3 u2, max u3 u2, max (max (max (max (succ u3) (succ u2)) u3) u3 u2) u2, max (max (max u1 u3) u3 u2) u2} (CategoryTheory.Functor.{u2, max u3 u2, u3, max (succ u3) (succ u2)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u3 u2}) (CategoryTheory.Functor.category.{u2, max u3 u2, u3, max (succ u3) (succ u2)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u3 u2}) (CategoryTheory.Functor.{u2, max u3 u2, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2) (CategoryTheory.Functor.category.{u2, max u3 u2, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2)) (CategoryTheory.Functor.category.{max u3 u2, max u3 u2, max (max (max u3 (succ u3) (succ u2)) u2) u3 u2, max (max (max u3 u1) u2) u3 u2} (CategoryTheory.Functor.{u2, max u3 u2, u3, max (succ u3) (succ u2)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u3 u2}) (CategoryTheory.Functor.category.{u2, max u3 u2, u3, max (succ u3) (succ u2)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u3 u2}) (CategoryTheory.Functor.{u2, max u3 u2, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2) (CategoryTheory.Functor.category.{u2, max u3 u2, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2)))) (CategoryTheory.Functor.toPrefunctor.{max (max (succ u3) (succ u2)) u3 u2, max (max (max u3 (succ u3) (succ u2)) u2) u3 u2, max (max (max (succ u3) (succ u2)) u1) u3 u2, max (max (max (max u3 (succ u3) (succ u2)) u1) u2) u3 u2} (CategoryTheory.Functor.{max u3 u2, max u3 u2, max (succ u3) (succ u2), u1} Type.{max u2 u3} CategoryTheory.types.{max u3 u2} D _inst_2) (CategoryTheory.Functor.category.{max u3 u2, max u3 u2, max (succ u3) (succ u2), u1} Type.{max u2 u3} CategoryTheory.types.{max u3 u2} D _inst_2) (CategoryTheory.Functor.{max u3 u2, max u3 u2, max (max (max (max (succ u3) (succ u2)) u3) u3 u2) u2, max (max (max u1 u3) u3 u2) u2} (CategoryTheory.Functor.{u2, max u3 u2, u3, max (succ u3) (succ u2)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u3 u2}) (CategoryTheory.Functor.category.{u2, max u3 u2, u3, max (succ u3) (succ u2)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u3 u2}) (CategoryTheory.Functor.{u2, max u3 u2, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2) (CategoryTheory.Functor.category.{u2, max u3 u2, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2)) (CategoryTheory.Functor.category.{max u3 u2, max u3 u2, max (max (max u3 (succ u3) (succ u2)) u2) u3 u2, max (max (max u3 u1) u2) u3 u2} (CategoryTheory.Functor.{u2, max u3 u2, u3, max (succ u3) (succ u2)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u3 u2}) (CategoryTheory.Functor.category.{u2, max u3 u2, u3, max (succ u3) (succ u2)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u3 u2}) (CategoryTheory.Functor.{u2, max u3 u2, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2) (CategoryTheory.Functor.category.{u2, max u3 u2, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2)) (CategoryTheory.whiskeringRight.{u3, u2, max (succ u3) (succ u2), max u3 u2, u1, max u3 u2} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u3 u2} D _inst_2)) G) (Prefunctor.obj.{max (succ u1) (succ (max u3 u2)), max (max (max (succ u3) (succ u1)) (succ u2)) (succ (max u3 u2)), max (max (max (succ u3) (succ u2)) u1) u3 u2, max (max (max (max u3 (succ u3) (succ u2)) u1) u2) u3 u2} (CategoryTheory.Functor.{max u3 u2, max u3 u2, u1, max (succ u3) (succ u2)} D _inst_2 Type.{max u2 u3} CategoryTheory.types.{max u3 u2}) (CategoryTheory.CategoryStruct.toQuiver.{max u1 u3 u2, max (max (max (succ u3) (succ u2)) u1) u3 u2} (CategoryTheory.Functor.{max u3 u2, max u3 u2, u1, max (succ u3) (succ u2)} D _inst_2 Type.{max u2 u3} CategoryTheory.types.{max u3 u2}) (CategoryTheory.Category.toCategoryStruct.{max u1 u3 u2, max (max (max (succ u3) (succ u2)) u1) u3 u2} (CategoryTheory.Functor.{max u3 u2, max u3 u2, u1, max (succ u3) (succ u2)} D _inst_2 Type.{max u2 u3} CategoryTheory.types.{max u3 u2}) (CategoryTheory.Functor.category.{max u3 u2, max u3 u2, u1, max (succ u3) (succ u2)} D _inst_2 Type.{max u2 u3} CategoryTheory.types.{max u3 u2}))) (CategoryTheory.Functor.{max u3 u2, max u3 u2, max (max (max u1 u3) u3 u2) u2, max (max (max (max (succ u3) (succ u2)) u3) u3 u2) u2} (CategoryTheory.Functor.{u2, max u3 u2, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2) (CategoryTheory.Functor.category.{u2, max u3 u2, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2) (CategoryTheory.Functor.{u2, max u3 u2, u3, max (succ u3) (succ u2)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u3 u2}) (CategoryTheory.Functor.category.{u2, max u3 u2, u3, max (succ u3) (succ u2)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u3 u2})) (CategoryTheory.CategoryStruct.toQuiver.{max (max (max u3 u1) u2) u3 u2, max (max (max (max u3 (succ u3) (succ u2)) u1) u2) u3 u2} (CategoryTheory.Functor.{max u3 u2, max u3 u2, max (max (max u1 u3) u3 u2) u2, max (max (max (max (succ u3) (succ u2)) u3) u3 u2) u2} (CategoryTheory.Functor.{u2, max u3 u2, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2) (CategoryTheory.Functor.category.{u2, max u3 u2, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2) (CategoryTheory.Functor.{u2, max u3 u2, u3, max (succ u3) (succ u2)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u3 u2}) (CategoryTheory.Functor.category.{u2, max u3 u2, u3, max (succ u3) (succ u2)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u3 u2})) (CategoryTheory.Category.toCategoryStruct.{max (max (max u3 u1) u2) u3 u2, max (max (max (max u3 (succ u3) (succ u2)) u1) u2) u3 u2} (CategoryTheory.Functor.{max u3 u2, max u3 u2, max (max (max u1 u3) u3 u2) u2, max (max (max (max (succ u3) (succ u2)) u3) u3 u2) u2} (CategoryTheory.Functor.{u2, max u3 u2, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2) (CategoryTheory.Functor.category.{u2, max u3 u2, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2) (CategoryTheory.Functor.{u2, max u3 u2, u3, max (succ u3) (succ u2)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u3 u2}) (CategoryTheory.Functor.category.{u2, max u3 u2, u3, max (succ u3) (succ u2)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u3 u2})) (CategoryTheory.Functor.category.{max u3 u2, max u3 u2, max (max (max u3 u1) u2) u3 u2, max (max (max u3 (succ u3) (succ u2)) u2) u3 u2} (CategoryTheory.Functor.{u2, max u3 u2, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2) (CategoryTheory.Functor.category.{u2, max u3 u2, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2) (CategoryTheory.Functor.{u2, max u3 u2, u3, max (succ u3) (succ u2)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u3 u2}) (CategoryTheory.Functor.category.{u2, max u3 u2, u3, max (succ u3) (succ u2)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u3 u2})))) (CategoryTheory.Functor.toPrefunctor.{max u1 u3 u2, max (max (max u3 u1) u2) u3 u2, max (max (max (succ u3) (succ u2)) u1) u3 u2, max (max (max (max u3 (succ u3) (succ u2)) u1) u2) u3 u2} (CategoryTheory.Functor.{max u3 u2, max u3 u2, u1, max (succ u3) (succ u2)} D _inst_2 Type.{max u2 u3} CategoryTheory.types.{max u3 u2}) (CategoryTheory.Functor.category.{max u3 u2, max u3 u2, u1, max (succ u3) (succ u2)} D _inst_2 Type.{max u2 u3} CategoryTheory.types.{max u3 u2}) (CategoryTheory.Functor.{max u3 u2, max u3 u2, max (max (max u1 u3) u3 u2) u2, max (max (max (max (succ u3) (succ u2)) u3) u3 u2) u2} (CategoryTheory.Functor.{u2, max u3 u2, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2) (CategoryTheory.Functor.category.{u2, max u3 u2, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2) (CategoryTheory.Functor.{u2, max u3 u2, u3, max (succ u3) (succ u2)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u3 u2}) (CategoryTheory.Functor.category.{u2, max u3 u2, u3, max (succ u3) (succ u2)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u3 u2})) (CategoryTheory.Functor.category.{max u3 u2, max u3 u2, max (max (max u3 u1) u2) u3 u2, max (max (max u3 (succ u3) (succ u2)) u2) u3 u2} (CategoryTheory.Functor.{u2, max u3 u2, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2) (CategoryTheory.Functor.category.{u2, max u3 u2, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2) (CategoryTheory.Functor.{u2, max u3 u2, u3, max (succ u3) (succ u2)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u3 u2}) (CategoryTheory.Functor.category.{u2, max u3 u2, u3, max (succ u3) (succ u2)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u3 u2})) (CategoryTheory.whiskeringRight.{u3, u2, u1, max u3 u2, max (succ u3) (succ u2), max u3 u2} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2 Type.{max u2 u3} CategoryTheory.types.{max u3 u2})) (CategoryTheory.forget.{u1, max u3 u2, max u3 u2} D _inst_2 _inst_5))) (CategoryTheory.Adjunction.unit.{max u3 u2, max u3 u2, max (max (max (succ u3) (succ u2)) u2) u3, max (max (max (max u3 u2) u1) u2) u3} (CategoryTheory.Functor.{u2, max u3 u2, u3, max (succ u3) (succ u2)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u3 u2}) (CategoryTheory.Functor.category.{u2, max u3 u2, u3, max (succ u3) (succ u2)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u3 u2}) (CategoryTheory.Functor.{u2, max u3 u2, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2) (CategoryTheory.Functor.category.{u2, max u3 u2, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2) (Prefunctor.obj.{max (succ (max (succ u3) (succ u2))) (succ (max u3 u2)), max (max (max (succ u3) (succ (max (succ u3) (succ u2)))) (succ u2)) (succ (max u3 u2)), max (max (max (succ u3) (succ u2)) u1) u3 u2, max (max (max (max u3 (succ u3) (succ u2)) u1) u2) u3 u2} (CategoryTheory.Functor.{max u3 u2, max u3 u2, max (succ u3) (succ u2), u1} Type.{max u2 u3} CategoryTheory.types.{max u3 u2} D _inst_2) (CategoryTheory.CategoryStruct.toQuiver.{max (max (succ u3) (succ u2)) u3 u2, max (max (max (succ u3) (succ u2)) u1) u3 u2} (CategoryTheory.Functor.{max u3 u2, max u3 u2, max (succ u3) (succ u2), u1} Type.{max u2 u3} CategoryTheory.types.{max u3 u2} D _inst_2) (CategoryTheory.Category.toCategoryStruct.{max (max (succ u3) (succ u2)) u3 u2, max (max (max (succ u3) (succ u2)) u1) u3 u2} (CategoryTheory.Functor.{max u3 u2, max u3 u2, max (succ u3) (succ u2), u1} Type.{max u2 u3} CategoryTheory.types.{max u3 u2} D _inst_2) (CategoryTheory.Functor.category.{max u3 u2, max u3 u2, max (succ u3) (succ u2), u1} Type.{max u2 u3} CategoryTheory.types.{max u3 u2} D _inst_2))) (CategoryTheory.Functor.{max u3 u2, max u3 u2, max (max (max (max (succ u3) (succ u2)) u3) u3 u2) u2, max (max (max u1 u3) u3 u2) u2} (CategoryTheory.Functor.{u2, max u3 u2, u3, max (succ u3) (succ u2)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u3 u2}) (CategoryTheory.Functor.category.{u2, max u3 u2, u3, max (succ u3) (succ u2)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u3 u2}) (CategoryTheory.Functor.{u2, max u3 u2, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2) (CategoryTheory.Functor.category.{u2, max u3 u2, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2)) (CategoryTheory.CategoryStruct.toQuiver.{max (max (max u3 (succ u3) (succ u2)) u2) u3 u2, max (max (max (max u3 (succ u3) (succ u2)) u1) u2) u3 u2} (CategoryTheory.Functor.{max u3 u2, max u3 u2, max (max (max (max (succ u3) (succ u2)) u3) u3 u2) u2, max (max (max u1 u3) u3 u2) u2} (CategoryTheory.Functor.{u2, max u3 u2, u3, max (succ u3) (succ u2)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u3 u2}) (CategoryTheory.Functor.category.{u2, max u3 u2, u3, max (succ u3) (succ u2)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u3 u2}) (CategoryTheory.Functor.{u2, max u3 u2, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2) (CategoryTheory.Functor.category.{u2, max u3 u2, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2)) (CategoryTheory.Category.toCategoryStruct.{max (max (max u3 (succ u3) (succ u2)) u2) u3 u2, max (max (max (max u3 (succ u3) (succ u2)) u1) u2) u3 u2} (CategoryTheory.Functor.{max u3 u2, max u3 u2, max (max (max (max (succ u3) (succ u2)) u3) u3 u2) u2, max (max (max u1 u3) u3 u2) u2} (CategoryTheory.Functor.{u2, max u3 u2, u3, max (succ u3) (succ u2)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u3 u2}) (CategoryTheory.Functor.category.{u2, max u3 u2, u3, max (succ u3) (succ u2)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u3 u2}) (CategoryTheory.Functor.{u2, max u3 u2, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2) (CategoryTheory.Functor.category.{u2, max u3 u2, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2)) (CategoryTheory.Functor.category.{max u3 u2, max u3 u2, max (max (max u3 (succ u3) (succ u2)) u2) u3 u2, max (max (max u3 u1) u2) u3 u2} (CategoryTheory.Functor.{u2, max u3 u2, u3, max (succ u3) (succ u2)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u3 u2}) (CategoryTheory.Functor.category.{u2, max u3 u2, u3, max (succ u3) (succ u2)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u3 u2}) (CategoryTheory.Functor.{u2, max u3 u2, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2) (CategoryTheory.Functor.category.{u2, max u3 u2, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2)))) (CategoryTheory.Functor.toPrefunctor.{max (max (succ u3) (succ u2)) u3 u2, max (max (max u3 (succ u3) (succ u2)) u2) u3 u2, max (max (max (succ u3) (succ u2)) u1) u3 u2, max (max (max (max u3 (succ u3) (succ u2)) u1) u2) u3 u2} (CategoryTheory.Functor.{max u3 u2, max u3 u2, max (succ u3) (succ u2), u1} Type.{max u2 u3} CategoryTheory.types.{max u3 u2} D _inst_2) (CategoryTheory.Functor.category.{max u3 u2, max u3 u2, max (succ u3) (succ u2), u1} Type.{max u2 u3} CategoryTheory.types.{max u3 u2} D _inst_2) (CategoryTheory.Functor.{max u3 u2, max u3 u2, max (max (max (max (succ u3) (succ u2)) u3) u3 u2) u2, max (max (max u1 u3) u3 u2) u2} (CategoryTheory.Functor.{u2, max u3 u2, u3, max (succ u3) (succ u2)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u3 u2}) (CategoryTheory.Functor.category.{u2, max u3 u2, u3, max (succ u3) (succ u2)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u3 u2}) (CategoryTheory.Functor.{u2, max u3 u2, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2) (CategoryTheory.Functor.category.{u2, max u3 u2, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2)) (CategoryTheory.Functor.category.{max u3 u2, max u3 u2, max (max (max u3 (succ u3) (succ u2)) u2) u3 u2, max (max (max u3 u1) u2) u3 u2} (CategoryTheory.Functor.{u2, max u3 u2, u3, max (succ u3) (succ u2)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u3 u2}) (CategoryTheory.Functor.category.{u2, max u3 u2, u3, max (succ u3) (succ u2)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u3 u2}) (CategoryTheory.Functor.{u2, max u3 u2, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2) (CategoryTheory.Functor.category.{u2, max u3 u2, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2)) (CategoryTheory.whiskeringRight.{u3, u2, max (succ u3) (succ u2), max u3 u2, u1, max u3 u2} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u3 u2} D _inst_2)) G) (Prefunctor.obj.{max (succ u1) (succ (max u3 u2)), max (max (max (succ u3) (succ u1)) (succ u2)) (succ (max u3 u2)), max (max (max (succ u3) (succ u2)) u1) u3 u2, max (max (max (max u3 (succ u3) (succ u2)) u1) u2) u3 u2} (CategoryTheory.Functor.{max u3 u2, max u3 u2, u1, max (succ u3) (succ u2)} D _inst_2 Type.{max u2 u3} CategoryTheory.types.{max u3 u2}) (CategoryTheory.CategoryStruct.toQuiver.{max u1 u3 u2, max (max (max (succ u3) (succ u2)) u1) u3 u2} (CategoryTheory.Functor.{max u3 u2, max u3 u2, u1, max (succ u3) (succ u2)} D _inst_2 Type.{max u2 u3} CategoryTheory.types.{max u3 u2}) (CategoryTheory.Category.toCategoryStruct.{max u1 u3 u2, max (max (max (succ u3) (succ u2)) u1) u3 u2} (CategoryTheory.Functor.{max u3 u2, max u3 u2, u1, max (succ u3) (succ u2)} D _inst_2 Type.{max u2 u3} CategoryTheory.types.{max u3 u2}) (CategoryTheory.Functor.category.{max u3 u2, max u3 u2, u1, max (succ u3) (succ u2)} D _inst_2 Type.{max u2 u3} CategoryTheory.types.{max u3 u2}))) (CategoryTheory.Functor.{max u3 u2, max u3 u2, max (max (max u1 u3) u3 u2) u2, max (max (max (max (succ u3) (succ u2)) u3) u3 u2) u2} (CategoryTheory.Functor.{u2, max u3 u2, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2) (CategoryTheory.Functor.category.{u2, max u3 u2, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2) (CategoryTheory.Functor.{u2, max u3 u2, u3, max (succ u3) (succ u2)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u3 u2}) (CategoryTheory.Functor.category.{u2, max u3 u2, u3, max (succ u3) (succ u2)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u3 u2})) (CategoryTheory.CategoryStruct.toQuiver.{max (max (max u3 u1) u2) u3 u2, max (max (max (max u3 (succ u3) (succ u2)) u1) u2) u3 u2} (CategoryTheory.Functor.{max u3 u2, max u3 u2, max (max (max u1 u3) u3 u2) u2, max (max (max (max (succ u3) (succ u2)) u3) u3 u2) u2} (CategoryTheory.Functor.{u2, max u3 u2, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2) (CategoryTheory.Functor.category.{u2, max u3 u2, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2) (CategoryTheory.Functor.{u2, max u3 u2, u3, max (succ u3) (succ u2)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u3 u2}) (CategoryTheory.Functor.category.{u2, max u3 u2, u3, max (succ u3) (succ u2)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u3 u2})) (CategoryTheory.Category.toCategoryStruct.{max (max (max u3 u1) u2) u3 u2, max (max (max (max u3 (succ u3) (succ u2)) u1) u2) u3 u2} (CategoryTheory.Functor.{max u3 u2, max u3 u2, max (max (max u1 u3) u3 u2) u2, max (max (max (max (succ u3) (succ u2)) u3) u3 u2) u2} (CategoryTheory.Functor.{u2, max u3 u2, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2) (CategoryTheory.Functor.category.{u2, max u3 u2, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2) (CategoryTheory.Functor.{u2, max u3 u2, u3, max (succ u3) (succ u2)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u3 u2}) (CategoryTheory.Functor.category.{u2, max u3 u2, u3, max (succ u3) (succ u2)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u3 u2})) (CategoryTheory.Functor.category.{max u3 u2, max u3 u2, max (max (max u3 u1) u2) u3 u2, max (max (max u3 (succ u3) (succ u2)) u2) u3 u2} (CategoryTheory.Functor.{u2, max u3 u2, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2) (CategoryTheory.Functor.category.{u2, max u3 u2, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2) (CategoryTheory.Functor.{u2, max u3 u2, u3, max (succ u3) (succ u2)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u3 u2}) (CategoryTheory.Functor.category.{u2, max u3 u2, u3, max (succ u3) (succ u2)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u3 u2})))) (CategoryTheory.Functor.toPrefunctor.{max u1 u3 u2, max (max (max u3 u1) u2) u3 u2, max (max (max (succ u3) (succ u2)) u1) u3 u2, max (max (max (max u3 (succ u3) (succ u2)) u1) u2) u3 u2} (CategoryTheory.Functor.{max u3 u2, max u3 u2, u1, max (succ u3) (succ u2)} D _inst_2 Type.{max u2 u3} CategoryTheory.types.{max u3 u2}) (CategoryTheory.Functor.category.{max u3 u2, max u3 u2, u1, max (succ u3) (succ u2)} D _inst_2 Type.{max u2 u3} CategoryTheory.types.{max u3 u2}) (CategoryTheory.Functor.{max u3 u2, max u3 u2, max (max (max u1 u3) u3 u2) u2, max (max (max (max (succ u3) (succ u2)) u3) u3 u2) u2} (CategoryTheory.Functor.{u2, max u3 u2, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2) (CategoryTheory.Functor.category.{u2, max u3 u2, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2) (CategoryTheory.Functor.{u2, max u3 u2, u3, max (succ u3) (succ u2)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u3 u2}) (CategoryTheory.Functor.category.{u2, max u3 u2, u3, max (succ u3) (succ u2)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u3 u2})) (CategoryTheory.Functor.category.{max u3 u2, max u3 u2, max (max (max u3 u1) u2) u3 u2, max (max (max u3 (succ u3) (succ u2)) u2) u3 u2} (CategoryTheory.Functor.{u2, max u3 u2, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2) (CategoryTheory.Functor.category.{u2, max u3 u2, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2) (CategoryTheory.Functor.{u2, max u3 u2, u3, max (succ u3) (succ u2)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u3 u2}) (CategoryTheory.Functor.category.{u2, max u3 u2, u3, max (succ u3) (succ u2)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u3 u2})) (CategoryTheory.whiskeringRight.{u3, u2, u1, max u3 u2, max (succ u3) (succ u2), max u3 u2} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2 Type.{max u2 u3} CategoryTheory.types.{max u3 u2})) (CategoryTheory.forget.{u1, max u3 u2, max u3 u2} D _inst_2 _inst_5)) (CategoryTheory.Adjunction.whiskerRight.{u3, max (succ u3) (succ u2), u1, u2, max u3 u2, max u3 u2} (Opposite.{succ u3} C) Type.{max u2 u3} D (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) CategoryTheory.types.{max u3 u2} _inst_2 G (CategoryTheory.forget.{u1, max u3 u2, max u3 u2} D _inst_2 _inst_5) adj)) (Prefunctor.obj.{max (succ u3) (succ (max u3 u2)), max (succ u3) (succ (max u3 u2)), succ (max u3 u2), succ (max u3 u2)} (CategoryTheory.SheafOfTypes.{max u3 u2, u2, u3} C _inst_1 J) (CategoryTheory.CategoryStruct.toQuiver.{max u3 u2, succ (max u3 u2)} (CategoryTheory.SheafOfTypes.{max u3 u2, u2, u3} C _inst_1 J) (CategoryTheory.Category.toCategoryStruct.{max u3 u2, succ (max u3 u2)} (CategoryTheory.SheafOfTypes.{max u3 u2, u2, u3} C _inst_1 J) (CategoryTheory.SheafOfTypes.instCategorySheafOfTypes.{u2, u3, max u3 u2} C _inst_1 J))) (CategoryTheory.Functor.{u2, max u3 u2, u3, succ (max u3 u2)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u3 u2} CategoryTheory.types.{max u3 u2}) (CategoryTheory.CategoryStruct.toQuiver.{max u3 u2, succ (max u3 u2)} (CategoryTheory.Functor.{u2, max u3 u2, u3, succ (max u3 u2)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u3 u2} CategoryTheory.types.{max u3 u2}) (CategoryTheory.Category.toCategoryStruct.{max u3 u2, succ (max u3 u2)} (CategoryTheory.Functor.{u2, max u3 u2, u3, succ (max u3 u2)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u3 u2} CategoryTheory.types.{max u3 u2}) (CategoryTheory.Functor.category.{u2, max u3 u2, u3, succ (max u3 u2)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u3 u2} CategoryTheory.types.{max u3 u2}))) (CategoryTheory.Functor.toPrefunctor.{max u3 u2, max u3 u2, succ (max u3 u2), succ (max u3 u2)} (CategoryTheory.SheafOfTypes.{max u3 u2, u2, u3} C _inst_1 J) (CategoryTheory.SheafOfTypes.instCategorySheafOfTypes.{u2, u3, max u3 u2} C _inst_1 J) (CategoryTheory.Functor.{u2, max u3 u2, u3, succ (max u3 u2)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u3 u2} CategoryTheory.types.{max u3 u2}) (CategoryTheory.Functor.category.{u2, max u3 u2, u3, succ (max u3 u2)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u3 u2} CategoryTheory.types.{max u3 u2}) (CategoryTheory.sheafOfTypesToPresheaf.{max u3 u2, u2, u3} C _inst_1 J)) Y)) (CategoryTheory.whiskerRight.{u3, u2, u1, max u3 u2, max (succ u3) (succ u2), max u3 u2} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2 Type.{max u3 u2} CategoryTheory.types.{max u3 u2} (Prefunctor.obj.{succ (max u3 u2), succ (max u3 u2), max (max (max (succ u3) (succ u2)) u2) u3, max (max (max (max u3 u2) u1) u2) u3} (CategoryTheory.Functor.{u2, max u3 u2, u3, max (succ u3) (succ u2)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u3 u2}) (CategoryTheory.CategoryStruct.toQuiver.{max u3 u2, max (max (max (succ u3) (succ u2)) u2) u3} (CategoryTheory.Functor.{u2, max u3 u2, u3, max (succ u3) (succ u2)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u3 u2}) (CategoryTheory.Category.toCategoryStruct.{max u3 u2, max (max (max (succ u3) (succ u2)) u2) u3} (CategoryTheory.Functor.{u2, max u3 u2, u3, max (succ u3) (succ u2)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u3 u2}) (CategoryTheory.Functor.category.{u2, max u3 u2, u3, max (succ u3) (succ u2)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u3 u2}))) (CategoryTheory.Functor.{u2, max u3 u2, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2) (CategoryTheory.CategoryStruct.toQuiver.{max u3 u2, max (max (max (max u3 u2) u1) u2) u3} (CategoryTheory.Functor.{u2, max u3 u2, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2) (CategoryTheory.Category.toCategoryStruct.{max u3 u2, max (max (max (max u3 u2) u1) u2) u3} (CategoryTheory.Functor.{u2, max u3 u2, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2) (CategoryTheory.Functor.category.{u2, max u3 u2, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2))) (CategoryTheory.Functor.toPrefunctor.{max u3 u2, max u3 u2, max (max (max (succ u3) (succ u2)) u2) u3, max (max (max (max u3 u2) u1) u2) u3} (CategoryTheory.Functor.{u2, max u3 u2, u3, max (succ u3) (succ u2)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u3 u2}) (CategoryTheory.Functor.category.{u2, max u3 u2, u3, max (succ u3) (succ u2)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u3 u2}) (CategoryTheory.Functor.{u2, max u3 u2, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2) (CategoryTheory.Functor.category.{u2, max u3 u2, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2) (Prefunctor.obj.{max (succ (max (succ u3) (succ u2))) (succ (max u3 u2)), max (max (max (succ u3) (succ (max (succ u3) (succ u2)))) (succ u2)) (succ (max u3 u2)), max (max (max (succ u3) (succ u2)) u1) u3 u2, max (max (max (max u3 (succ u3) (succ u2)) u1) u2) u3 u2} (CategoryTheory.Functor.{max u3 u2, max u3 u2, max (succ u3) (succ u2), u1} Type.{max u2 u3} CategoryTheory.types.{max u3 u2} D _inst_2) (CategoryTheory.CategoryStruct.toQuiver.{max (max (succ u3) (succ u2)) u3 u2, max (max (max (succ u3) (succ u2)) u1) u3 u2} (CategoryTheory.Functor.{max u3 u2, max u3 u2, max (succ u3) (succ u2), u1} Type.{max u2 u3} CategoryTheory.types.{max u3 u2} D _inst_2) (CategoryTheory.Category.toCategoryStruct.{max (max (succ u3) (succ u2)) u3 u2, max (max (max (succ u3) (succ u2)) u1) u3 u2} (CategoryTheory.Functor.{max u3 u2, max u3 u2, max (succ u3) (succ u2), u1} Type.{max u2 u3} CategoryTheory.types.{max u3 u2} D _inst_2) (CategoryTheory.Functor.category.{max u3 u2, max u3 u2, max (succ u3) (succ u2), u1} Type.{max u2 u3} CategoryTheory.types.{max u3 u2} D _inst_2))) (CategoryTheory.Functor.{max u3 u2, max u3 u2, max (max (max (max (succ u3) (succ u2)) u3) u3 u2) u2, max (max (max u1 u3) u3 u2) u2} (CategoryTheory.Functor.{u2, max u3 u2, u3, max (succ u3) (succ u2)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u3 u2}) (CategoryTheory.Functor.category.{u2, max u3 u2, u3, max (succ u3) (succ u2)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u3 u2}) (CategoryTheory.Functor.{u2, max u3 u2, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2) (CategoryTheory.Functor.category.{u2, max u3 u2, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2)) (CategoryTheory.CategoryStruct.toQuiver.{max (max (max u3 (succ u3) (succ u2)) u2) u3 u2, max (max (max (max u3 (succ u3) (succ u2)) u1) u2) u3 u2} (CategoryTheory.Functor.{max u3 u2, max u3 u2, max (max (max (max (succ u3) (succ u2)) u3) u3 u2) u2, max (max (max u1 u3) u3 u2) u2} (CategoryTheory.Functor.{u2, max u3 u2, u3, max (succ u3) (succ u2)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u3 u2}) (CategoryTheory.Functor.category.{u2, max u3 u2, u3, max (succ u3) (succ u2)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u3 u2}) (CategoryTheory.Functor.{u2, max u3 u2, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2) (CategoryTheory.Functor.category.{u2, max u3 u2, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2)) (CategoryTheory.Category.toCategoryStruct.{max (max (max u3 (succ u3) (succ u2)) u2) u3 u2, max (max (max (max u3 (succ u3) (succ u2)) u1) u2) u3 u2} (CategoryTheory.Functor.{max u3 u2, max u3 u2, max (max (max (max (succ u3) (succ u2)) u3) u3 u2) u2, max (max (max u1 u3) u3 u2) u2} (CategoryTheory.Functor.{u2, max u3 u2, u3, max (succ u3) (succ u2)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u3 u2}) (CategoryTheory.Functor.category.{u2, max u3 u2, u3, max (succ u3) (succ u2)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u3 u2}) (CategoryTheory.Functor.{u2, max u3 u2, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2) (CategoryTheory.Functor.category.{u2, max u3 u2, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2)) (CategoryTheory.Functor.category.{max u3 u2, max u3 u2, max (max (max u3 (succ u3) (succ u2)) u2) u3 u2, max (max (max u3 u1) u2) u3 u2} (CategoryTheory.Functor.{u2, max u3 u2, u3, max (succ u3) (succ u2)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u3 u2}) (CategoryTheory.Functor.category.{u2, max u3 u2, u3, max (succ u3) (succ u2)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u3 u2}) (CategoryTheory.Functor.{u2, max u3 u2, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2) (CategoryTheory.Functor.category.{u2, max u3 u2, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2)))) (CategoryTheory.Functor.toPrefunctor.{max (max (succ u3) (succ u2)) u3 u2, max (max (max u3 (succ u3) (succ u2)) u2) u3 u2, max (max (max (succ u3) (succ u2)) u1) u3 u2, max (max (max (max u3 (succ u3) (succ u2)) u1) u2) u3 u2} (CategoryTheory.Functor.{max u3 u2, max u3 u2, max (succ u3) (succ u2), u1} Type.{max u2 u3} CategoryTheory.types.{max u3 u2} D _inst_2) (CategoryTheory.Functor.category.{max u3 u2, max u3 u2, max (succ u3) (succ u2), u1} Type.{max u2 u3} CategoryTheory.types.{max u3 u2} D _inst_2) (CategoryTheory.Functor.{max u3 u2, max u3 u2, max (max (max (max (succ u3) (succ u2)) u3) u3 u2) u2, max (max (max u1 u3) u3 u2) u2} (CategoryTheory.Functor.{u2, max u3 u2, u3, max (succ u3) (succ u2)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u3 u2}) (CategoryTheory.Functor.category.{u2, max u3 u2, u3, max (succ u3) (succ u2)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u3 u2}) (CategoryTheory.Functor.{u2, max u3 u2, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2) (CategoryTheory.Functor.category.{u2, max u3 u2, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2)) (CategoryTheory.Functor.category.{max u3 u2, max u3 u2, max (max (max u3 (succ u3) (succ u2)) u2) u3 u2, max (max (max u3 u1) u2) u3 u2} (CategoryTheory.Functor.{u2, max u3 u2, u3, max (succ u3) (succ u2)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u3 u2}) (CategoryTheory.Functor.category.{u2, max u3 u2, u3, max (succ u3) (succ u2)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u3 u2}) (CategoryTheory.Functor.{u2, max u3 u2, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2) (CategoryTheory.Functor.category.{u2, max u3 u2, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2)) (CategoryTheory.whiskeringRight.{u3, u2, max (succ u3) (succ u2), max u3 u2, u1, max u3 u2} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u3 u2} D _inst_2)) G)) (Prefunctor.obj.{max (succ u3) (succ (max u3 u2)), max (succ u3) (succ (max u3 u2)), succ (max u3 u2), succ (max u3 u2)} (CategoryTheory.SheafOfTypes.{max u3 u2, u2, u3} C _inst_1 J) (CategoryTheory.CategoryStruct.toQuiver.{max u3 u2, succ (max u3 u2)} (CategoryTheory.SheafOfTypes.{max u3 u2, u2, u3} C _inst_1 J) (CategoryTheory.Category.toCategoryStruct.{max u3 u2, succ (max u3 u2)} (CategoryTheory.SheafOfTypes.{max u3 u2, u2, u3} C _inst_1 J) (CategoryTheory.SheafOfTypes.instCategorySheafOfTypes.{u2, u3, max u3 u2} C _inst_1 J))) (CategoryTheory.Functor.{u2, max u3 u2, u3, succ (max u3 u2)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u3 u2} CategoryTheory.types.{max u3 u2}) (CategoryTheory.CategoryStruct.toQuiver.{max u3 u2, succ (max u3 u2)} (CategoryTheory.Functor.{u2, max u3 u2, u3, succ (max u3 u2)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u3 u2} CategoryTheory.types.{max u3 u2}) (CategoryTheory.Category.toCategoryStruct.{max u3 u2, succ (max u3 u2)} (CategoryTheory.Functor.{u2, max u3 u2, u3, succ (max u3 u2)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u3 u2} CategoryTheory.types.{max u3 u2}) (CategoryTheory.Functor.category.{u2, max u3 u2, u3, succ (max u3 u2)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u3 u2} CategoryTheory.types.{max u3 u2}))) (CategoryTheory.Functor.toPrefunctor.{max u3 u2, max u3 u2, succ (max u3 u2), succ (max u3 u2)} (CategoryTheory.SheafOfTypes.{max u3 u2, u2, u3} C _inst_1 J) (CategoryTheory.SheafOfTypes.instCategorySheafOfTypes.{u2, u3, max u3 u2} C _inst_1 J) (CategoryTheory.Functor.{u2, max u3 u2, u3, succ (max u3 u2)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u3 u2} CategoryTheory.types.{max u3 u2}) (CategoryTheory.Functor.category.{u2, max u3 u2, u3, succ (max u3 u2)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u3 u2} CategoryTheory.types.{max u3 u2}) (CategoryTheory.sheafOfTypesToPresheaf.{max u3 u2, u2, u3} C _inst_1 J)) Y)) (CategoryTheory.GrothendieckTopology.sheafify.{u1, u2, u3} C _inst_1 J D _inst_2 (fun (P : CategoryTheory.Functor.{u2, max u3 u2, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2) (X : C) (S : CategoryTheory.GrothendieckTopology.Cover.{u2, u3} C _inst_1 J X) => _inst_7 P X S) (fun (X : C) => _inst_8 X) (Prefunctor.obj.{succ (max u3 u2), succ (max u3 u2), max (max (max (succ u3) (succ u2)) u2) u3, max (max (max (max u3 u2) u1) u2) u3} (CategoryTheory.Functor.{u2, max u3 u2, u3, max (succ u3) (succ u2)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u3 u2}) (CategoryTheory.CategoryStruct.toQuiver.{max u3 u2, max (max (max (succ u3) (succ u2)) u2) u3} (CategoryTheory.Functor.{u2, max u3 u2, u3, max (succ u3) (succ u2)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u3 u2}) (CategoryTheory.Category.toCategoryStruct.{max u3 u2, max (max (max (succ u3) (succ u2)) u2) u3} (CategoryTheory.Functor.{u2, max u3 u2, u3, max (succ u3) (succ u2)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u3 u2}) (CategoryTheory.Functor.category.{u2, max u3 u2, u3, max (succ u3) (succ u2)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u3 u2}))) (CategoryTheory.Functor.{u2, max u3 u2, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2) (CategoryTheory.CategoryStruct.toQuiver.{max u3 u2, max (max (max (max u3 u2) u1) u2) u3} (CategoryTheory.Functor.{u2, max u3 u2, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2) (CategoryTheory.Category.toCategoryStruct.{max u3 u2, max (max (max (max u3 u2) u1) u2) u3} (CategoryTheory.Functor.{u2, max u3 u2, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2) (CategoryTheory.Functor.category.{u2, max u3 u2, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2))) (CategoryTheory.Functor.toPrefunctor.{max u3 u2, max u3 u2, max (max (max (succ u3) (succ u2)) u2) u3, max (max (max (max u3 u2) u1) u2) u3} (CategoryTheory.Functor.{u2, max u3 u2, u3, max (succ u3) (succ u2)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u3 u2}) (CategoryTheory.Functor.category.{u2, max u3 u2, u3, max (succ u3) (succ u2)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u3 u2}) (CategoryTheory.Functor.{u2, max u3 u2, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2) (CategoryTheory.Functor.category.{u2, max u3 u2, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2) (Prefunctor.obj.{max (succ (max (succ u3) (succ u2))) (succ (max u3 u2)), max (max (max (succ u3) (succ (max (succ u3) (succ u2)))) (succ u2)) (succ (max u3 u2)), max (max (max (succ u3) (succ u2)) u1) u3 u2, max (max (max (max u3 (succ u3) (succ u2)) u1) u2) u3 u2} (CategoryTheory.Functor.{max u3 u2, max u3 u2, max (succ u3) (succ u2), u1} Type.{max u2 u3} CategoryTheory.types.{max u3 u2} D _inst_2) (CategoryTheory.CategoryStruct.toQuiver.{max (max (succ u3) (succ u2)) u3 u2, max (max (max (succ u3) (succ u2)) u1) u3 u2} (CategoryTheory.Functor.{max u3 u2, max u3 u2, max (succ u3) (succ u2), u1} Type.{max u2 u3} CategoryTheory.types.{max u3 u2} D _inst_2) (CategoryTheory.Category.toCategoryStruct.{max (max (succ u3) (succ u2)) u3 u2, max (max (max (succ u3) (succ u2)) u1) u3 u2} (CategoryTheory.Functor.{max u3 u2, max u3 u2, max (succ u3) (succ u2), u1} Type.{max u2 u3} CategoryTheory.types.{max u3 u2} D _inst_2) (CategoryTheory.Functor.category.{max u3 u2, max u3 u2, max (succ u3) (succ u2), u1} Type.{max u2 u3} CategoryTheory.types.{max u3 u2} D _inst_2))) (CategoryTheory.Functor.{max u3 u2, max u3 u2, max (max (max (max (succ u3) (succ u2)) u3) u3 u2) u2, max (max (max u1 u3) u3 u2) u2} (CategoryTheory.Functor.{u2, max u3 u2, u3, max (succ u3) (succ u2)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u3 u2}) (CategoryTheory.Functor.category.{u2, max u3 u2, u3, max (succ u3) (succ u2)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u3 u2}) (CategoryTheory.Functor.{u2, max u3 u2, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2) (CategoryTheory.Functor.category.{u2, max u3 u2, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2)) (CategoryTheory.CategoryStruct.toQuiver.{max (max (max u3 (succ u3) (succ u2)) u2) u3 u2, max (max (max (max u3 (succ u3) (succ u2)) u1) u2) u3 u2} (CategoryTheory.Functor.{max u3 u2, max u3 u2, max (max (max (max (succ u3) (succ u2)) u3) u3 u2) u2, max (max (max u1 u3) u3 u2) u2} (CategoryTheory.Functor.{u2, max u3 u2, u3, max (succ u3) (succ u2)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u3 u2}) (CategoryTheory.Functor.category.{u2, max u3 u2, u3, max (succ u3) (succ u2)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u3 u2}) (CategoryTheory.Functor.{u2, max u3 u2, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2) (CategoryTheory.Functor.category.{u2, max u3 u2, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2)) (CategoryTheory.Category.toCategoryStruct.{max (max (max u3 (succ u3) (succ u2)) u2) u3 u2, max (max (max (max u3 (succ u3) (succ u2)) u1) u2) u3 u2} (CategoryTheory.Functor.{max u3 u2, max u3 u2, max (max (max (max (succ u3) (succ u2)) u3) u3 u2) u2, max (max (max u1 u3) u3 u2) u2} (CategoryTheory.Functor.{u2, max u3 u2, u3, max (succ u3) (succ u2)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u3 u2}) (CategoryTheory.Functor.category.{u2, max u3 u2, u3, max (succ u3) (succ u2)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u3 u2}) (CategoryTheory.Functor.{u2, max u3 u2, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2) (CategoryTheory.Functor.category.{u2, max u3 u2, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2)) (CategoryTheory.Functor.category.{max u3 u2, max u3 u2, max (max (max u3 (succ u3) (succ u2)) u2) u3 u2, max (max (max u3 u1) u2) u3 u2} (CategoryTheory.Functor.{u2, max u3 u2, u3, max (succ u3) (succ u2)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u3 u2}) (CategoryTheory.Functor.category.{u2, max u3 u2, u3, max (succ u3) (succ u2)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u3 u2}) (CategoryTheory.Functor.{u2, max u3 u2, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2) (CategoryTheory.Functor.category.{u2, max u3 u2, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2)))) (CategoryTheory.Functor.toPrefunctor.{max (max (succ u3) (succ u2)) u3 u2, max (max (max u3 (succ u3) (succ u2)) u2) u3 u2, max (max (max (succ u3) (succ u2)) u1) u3 u2, max (max (max (max u3 (succ u3) (succ u2)) u1) u2) u3 u2} (CategoryTheory.Functor.{max u3 u2, max u3 u2, max (succ u3) (succ u2), u1} Type.{max u2 u3} CategoryTheory.types.{max u3 u2} D _inst_2) (CategoryTheory.Functor.category.{max u3 u2, max u3 u2, max (succ u3) (succ u2), u1} Type.{max u2 u3} CategoryTheory.types.{max u3 u2} D _inst_2) (CategoryTheory.Functor.{max u3 u2, max u3 u2, max (max (max (max (succ u3) (succ u2)) u3) u3 u2) u2, max (max (max u1 u3) u3 u2) u2} (CategoryTheory.Functor.{u2, max u3 u2, u3, max (succ u3) (succ u2)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u3 u2}) (CategoryTheory.Functor.category.{u2, max u3 u2, u3, max (succ u3) (succ u2)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u3 u2}) (CategoryTheory.Functor.{u2, max u3 u2, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2) (CategoryTheory.Functor.category.{u2, max u3 u2, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2)) (CategoryTheory.Functor.category.{max u3 u2, max u3 u2, max (max (max u3 (succ u3) (succ u2)) u2) u3 u2, max (max (max u3 u1) u2) u3 u2} (CategoryTheory.Functor.{u2, max u3 u2, u3, max (succ u3) (succ u2)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u3 u2}) (CategoryTheory.Functor.category.{u2, max u3 u2, u3, max (succ u3) (succ u2)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u3 u2}) (CategoryTheory.Functor.{u2, max u3 u2, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2) (CategoryTheory.Functor.category.{u2, max u3 u2, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2)) (CategoryTheory.whiskeringRight.{u3, u2, max (succ u3) (succ u2), max u3 u2, u1, max u3 u2} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u3 u2} D _inst_2)) G)) (Prefunctor.obj.{max (succ u3) (succ (max u3 u2)), max (succ u3) (succ (max u3 u2)), succ (max u3 u2), succ (max u3 u2)} (CategoryTheory.SheafOfTypes.{max u3 u2, u2, u3} C _inst_1 J) (CategoryTheory.CategoryStruct.toQuiver.{max u3 u2, succ (max u3 u2)} (CategoryTheory.SheafOfTypes.{max u3 u2, u2, u3} C _inst_1 J) (CategoryTheory.Category.toCategoryStruct.{max u3 u2, succ (max u3 u2)} (CategoryTheory.SheafOfTypes.{max u3 u2, u2, u3} C _inst_1 J) (CategoryTheory.SheafOfTypes.instCategorySheafOfTypes.{u2, u3, max u3 u2} C _inst_1 J))) (CategoryTheory.Functor.{u2, max u3 u2, u3, succ (max u3 u2)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u3 u2} CategoryTheory.types.{max u3 u2}) (CategoryTheory.CategoryStruct.toQuiver.{max u3 u2, succ (max u3 u2)} (CategoryTheory.Functor.{u2, max u3 u2, u3, succ (max u3 u2)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u3 u2} CategoryTheory.types.{max u3 u2}) (CategoryTheory.Category.toCategoryStruct.{max u3 u2, succ (max u3 u2)} (CategoryTheory.Functor.{u2, max u3 u2, u3, succ (max u3 u2)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u3 u2} CategoryTheory.types.{max u3 u2}) (CategoryTheory.Functor.category.{u2, max u3 u2, u3, succ (max u3 u2)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u3 u2} CategoryTheory.types.{max u3 u2}))) (CategoryTheory.Functor.toPrefunctor.{max u3 u2, max u3 u2, succ (max u3 u2), succ (max u3 u2)} (CategoryTheory.SheafOfTypes.{max u3 u2, u2, u3} C _inst_1 J) (CategoryTheory.SheafOfTypes.instCategorySheafOfTypes.{u2, u3, max u3 u2} C _inst_1 J) (CategoryTheory.Functor.{u2, max u3 u2, u3, succ (max u3 u2)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u3 u2} CategoryTheory.types.{max u3 u2}) (CategoryTheory.Functor.category.{u2, max u3 u2, u3, succ (max u3 u2)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u3 u2} CategoryTheory.types.{max u3 u2}) (CategoryTheory.sheafOfTypesToPresheaf.{max u3 u2, u2, u3} C _inst_1 J)) Y))) (CategoryTheory.GrothendieckTopology.toSheafify.{u1, u2, u3} C _inst_1 J D _inst_2 (fun (P : CategoryTheory.Functor.{u2, max u3 u2, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2) (X : C) (S : CategoryTheory.GrothendieckTopology.Cover.{u2, u3} C _inst_1 J X) => _inst_7 P X S) (fun (X : C) => _inst_8 X) (Prefunctor.obj.{succ (max u3 u2), succ (max u3 u2), max (max (max (succ u3) (succ u2)) u2) u3, max (max (max (max u3 u2) u1) u2) u3} (CategoryTheory.Functor.{u2, max u3 u2, u3, max (succ u3) (succ u2)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u3 u2}) (CategoryTheory.CategoryStruct.toQuiver.{max u3 u2, max (max (max (succ u3) (succ u2)) u2) u3} (CategoryTheory.Functor.{u2, max u3 u2, u3, max (succ u3) (succ u2)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u3 u2}) (CategoryTheory.Category.toCategoryStruct.{max u3 u2, max (max (max (succ u3) (succ u2)) u2) u3} (CategoryTheory.Functor.{u2, max u3 u2, u3, max (succ u3) (succ u2)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u3 u2}) (CategoryTheory.Functor.category.{u2, max u3 u2, u3, max (succ u3) (succ u2)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u3 u2}))) (CategoryTheory.Functor.{u2, max u3 u2, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2) (CategoryTheory.CategoryStruct.toQuiver.{max u3 u2, max (max (max (max u3 u2) u1) u2) u3} (CategoryTheory.Functor.{u2, max u3 u2, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2) (CategoryTheory.Category.toCategoryStruct.{max u3 u2, max (max (max (max u3 u2) u1) u2) u3} (CategoryTheory.Functor.{u2, max u3 u2, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2) (CategoryTheory.Functor.category.{u2, max u3 u2, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2))) (CategoryTheory.Functor.toPrefunctor.{max u3 u2, max u3 u2, max (max (max (succ u3) (succ u2)) u2) u3, max (max (max (max u3 u2) u1) u2) u3} (CategoryTheory.Functor.{u2, max u3 u2, u3, max (succ u3) (succ u2)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u3 u2}) (CategoryTheory.Functor.category.{u2, max u3 u2, u3, max (succ u3) (succ u2)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u3 u2}) (CategoryTheory.Functor.{u2, max u3 u2, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2) (CategoryTheory.Functor.category.{u2, max u3 u2, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2) (Prefunctor.obj.{max (succ (max (succ u3) (succ u2))) (succ (max u3 u2)), max (max (max (succ u3) (succ (max (succ u3) (succ u2)))) (succ u2)) (succ (max u3 u2)), max (max (max (succ u3) (succ u2)) u1) u3 u2, max (max (max (max u3 (succ u3) (succ u2)) u1) u2) u3 u2} (CategoryTheory.Functor.{max u3 u2, max u3 u2, max (succ u3) (succ u2), u1} Type.{max u2 u3} CategoryTheory.types.{max u3 u2} D _inst_2) (CategoryTheory.CategoryStruct.toQuiver.{max (max (succ u3) (succ u2)) u3 u2, max (max (max (succ u3) (succ u2)) u1) u3 u2} (CategoryTheory.Functor.{max u3 u2, max u3 u2, max (succ u3) (succ u2), u1} Type.{max u2 u3} CategoryTheory.types.{max u3 u2} D _inst_2) (CategoryTheory.Category.toCategoryStruct.{max (max (succ u3) (succ u2)) u3 u2, max (max (max (succ u3) (succ u2)) u1) u3 u2} (CategoryTheory.Functor.{max u3 u2, max u3 u2, max (succ u3) (succ u2), u1} Type.{max u2 u3} CategoryTheory.types.{max u3 u2} D _inst_2) (CategoryTheory.Functor.category.{max u3 u2, max u3 u2, max (succ u3) (succ u2), u1} Type.{max u2 u3} CategoryTheory.types.{max u3 u2} D _inst_2))) (CategoryTheory.Functor.{max u3 u2, max u3 u2, max (max (max (max (succ u3) (succ u2)) u3) u3 u2) u2, max (max (max u1 u3) u3 u2) u2} (CategoryTheory.Functor.{u2, max u3 u2, u3, max (succ u3) (succ u2)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u3 u2}) (CategoryTheory.Functor.category.{u2, max u3 u2, u3, max (succ u3) (succ u2)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u3 u2}) (CategoryTheory.Functor.{u2, max u3 u2, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2) (CategoryTheory.Functor.category.{u2, max u3 u2, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2)) (CategoryTheory.CategoryStruct.toQuiver.{max (max (max u3 (succ u3) (succ u2)) u2) u3 u2, max (max (max (max u3 (succ u3) (succ u2)) u1) u2) u3 u2} (CategoryTheory.Functor.{max u3 u2, max u3 u2, max (max (max (max (succ u3) (succ u2)) u3) u3 u2) u2, max (max (max u1 u3) u3 u2) u2} (CategoryTheory.Functor.{u2, max u3 u2, u3, max (succ u3) (succ u2)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u3 u2}) (CategoryTheory.Functor.category.{u2, max u3 u2, u3, max (succ u3) (succ u2)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u3 u2}) (CategoryTheory.Functor.{u2, max u3 u2, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2) (CategoryTheory.Functor.category.{u2, max u3 u2, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2)) (CategoryTheory.Category.toCategoryStruct.{max (max (max u3 (succ u3) (succ u2)) u2) u3 u2, max (max (max (max u3 (succ u3) (succ u2)) u1) u2) u3 u2} (CategoryTheory.Functor.{max u3 u2, max u3 u2, max (max (max (max (succ u3) (succ u2)) u3) u3 u2) u2, max (max (max u1 u3) u3 u2) u2} (CategoryTheory.Functor.{u2, max u3 u2, u3, max (succ u3) (succ u2)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u3 u2}) (CategoryTheory.Functor.category.{u2, max u3 u2, u3, max (succ u3) (succ u2)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u3 u2}) (CategoryTheory.Functor.{u2, max u3 u2, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2) (CategoryTheory.Functor.category.{u2, max u3 u2, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2)) (CategoryTheory.Functor.category.{max u3 u2, max u3 u2, max (max (max u3 (succ u3) (succ u2)) u2) u3 u2, max (max (max u3 u1) u2) u3 u2} (CategoryTheory.Functor.{u2, max u3 u2, u3, max (succ u3) (succ u2)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u3 u2}) (CategoryTheory.Functor.category.{u2, max u3 u2, u3, max (succ u3) (succ u2)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u3 u2}) (CategoryTheory.Functor.{u2, max u3 u2, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2) (CategoryTheory.Functor.category.{u2, max u3 u2, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2)))) (CategoryTheory.Functor.toPrefunctor.{max (max (succ u3) (succ u2)) u3 u2, max (max (max u3 (succ u3) (succ u2)) u2) u3 u2, max (max (max (succ u3) (succ u2)) u1) u3 u2, max (max (max (max u3 (succ u3) (succ u2)) u1) u2) u3 u2} (CategoryTheory.Functor.{max u3 u2, max u3 u2, max (succ u3) (succ u2), u1} Type.{max u2 u3} CategoryTheory.types.{max u3 u2} D _inst_2) (CategoryTheory.Functor.category.{max u3 u2, max u3 u2, max (succ u3) (succ u2), u1} Type.{max u2 u3} CategoryTheory.types.{max u3 u2} D _inst_2) (CategoryTheory.Functor.{max u3 u2, max u3 u2, max (max (max (max (succ u3) (succ u2)) u3) u3 u2) u2, max (max (max u1 u3) u3 u2) u2} (CategoryTheory.Functor.{u2, max u3 u2, u3, max (succ u3) (succ u2)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u3 u2}) (CategoryTheory.Functor.category.{u2, max u3 u2, u3, max (succ u3) (succ u2)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u3 u2}) (CategoryTheory.Functor.{u2, max u3 u2, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2) (CategoryTheory.Functor.category.{u2, max u3 u2, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2)) (CategoryTheory.Functor.category.{max u3 u2, max u3 u2, max (max (max u3 (succ u3) (succ u2)) u2) u3 u2, max (max (max u3 u1) u2) u3 u2} (CategoryTheory.Functor.{u2, max u3 u2, u3, max (succ u3) (succ u2)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u3 u2}) (CategoryTheory.Functor.category.{u2, max u3 u2, u3, max (succ u3) (succ u2)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u3 u2}) (CategoryTheory.Functor.{u2, max u3 u2, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2) (CategoryTheory.Functor.category.{u2, max u3 u2, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2)) (CategoryTheory.whiskeringRight.{u3, u2, max (succ u3) (succ u2), max u3 u2, u1, max u3 u2} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u3 u2} D _inst_2)) G)) (Prefunctor.obj.{max (succ u3) (succ (max u3 u2)), max (succ u3) (succ (max u3 u2)), succ (max u3 u2), succ (max u3 u2)} (CategoryTheory.SheafOfTypes.{max u3 u2, u2, u3} C _inst_1 J) (CategoryTheory.CategoryStruct.toQuiver.{max u3 u2, succ (max u3 u2)} (CategoryTheory.SheafOfTypes.{max u3 u2, u2, u3} C _inst_1 J) (CategoryTheory.Category.toCategoryStruct.{max u3 u2, succ (max u3 u2)} (CategoryTheory.SheafOfTypes.{max u3 u2, u2, u3} C _inst_1 J) (CategoryTheory.SheafOfTypes.instCategorySheafOfTypes.{u2, u3, max u3 u2} C _inst_1 J))) (CategoryTheory.Functor.{u2, max u3 u2, u3, succ (max u3 u2)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u3 u2} CategoryTheory.types.{max u3 u2}) (CategoryTheory.CategoryStruct.toQuiver.{max u3 u2, succ (max u3 u2)} (CategoryTheory.Functor.{u2, max u3 u2, u3, succ (max u3 u2)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u3 u2} CategoryTheory.types.{max u3 u2}) (CategoryTheory.Category.toCategoryStruct.{max u3 u2, succ (max u3 u2)} (CategoryTheory.Functor.{u2, max u3 u2, u3, succ (max u3 u2)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u3 u2} CategoryTheory.types.{max u3 u2}) (CategoryTheory.Functor.category.{u2, max u3 u2, u3, succ (max u3 u2)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u3 u2} CategoryTheory.types.{max u3 u2}))) (CategoryTheory.Functor.toPrefunctor.{max u3 u2, max u3 u2, succ (max u3 u2), succ (max u3 u2)} (CategoryTheory.SheafOfTypes.{max u3 u2, u2, u3} C _inst_1 J) (CategoryTheory.SheafOfTypes.instCategorySheafOfTypes.{u2, u3, max u3 u2} C _inst_1 J) (CategoryTheory.Functor.{u2, max u3 u2, u3, succ (max u3 u2)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u3 u2} CategoryTheory.types.{max u3 u2}) (CategoryTheory.Functor.category.{u2, max u3 u2, u3, succ (max u3 u2)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u3 u2} CategoryTheory.types.{max u3 u2}) (CategoryTheory.sheafOfTypesToPresheaf.{max u3 u2, u2, u3} C _inst_1 J)) Y))) (CategoryTheory.forget.{u1, max u3 u2, max u3 u2} D _inst_2 _inst_5)))
+Case conversion may be inaccurate. Consider using '#align category_theory.Sheaf.adjunction_to_types_unit_app_val CategoryTheory.Sheaf.adjunctionToTypes_unit_app_valₓ'. -/
 @[simp]
 theorem adjunctionToTypes_unit_app_val {G : Type max v u ⥤ D} (adj : G ⊣ forget D)
     (Y : SheafOfTypes J) :
@@ -133,6 +171,12 @@ theorem adjunctionToTypes_unit_app_val {G : Type max v u ⥤ D} (adj : G ⊣ for
   simpa
 #align category_theory.Sheaf.adjunction_to_types_unit_app_val CategoryTheory.Sheaf.adjunctionToTypes_unit_app_val
 
+/- warning: category_theory.Sheaf.adjunction_to_types_counit_app_val -> CategoryTheory.Sheaf.adjunctionToTypes_counit_app_val is a dubious translation:
+lean 3 declaration is
+  forall {C : Type.{u3}} [_inst_1 : CategoryTheory.Category.{u2, u3} C] (J : CategoryTheory.GrothendieckTopology.{u2, u3} C _inst_1) {D : Type.{u1}} [_inst_2 : CategoryTheory.Category.{max u2 u3, u1} D] [_inst_5 : CategoryTheory.ConcreteCategory.{max u2 u3, max u2 u3, u1} D _inst_2] [_inst_6 : CategoryTheory.Limits.PreservesLimits.{max u2 u3, max u2 u3, u1, succ (max u2 u3)} D _inst_2 Type.{max u2 u3} CategoryTheory.types.{max u2 u3} (CategoryTheory.forget.{u1, max u2 u3, max u2 u3} D _inst_2 _inst_5)] [_inst_7 : forall (P : CategoryTheory.Functor.{u2, max u2 u3, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2) (X : C) (S : CategoryTheory.GrothendieckTopology.Cover.{u2, u3} C _inst_1 J X), CategoryTheory.Limits.HasMultiequalizer.{max u2 u3, u1, max u3 u2} D _inst_2 (CategoryTheory.GrothendieckTopology.Cover.index.{u1, u2, u3} C _inst_1 X J D _inst_2 S P)] [_inst_8 : forall (X : C), CategoryTheory.Limits.HasColimitsOfShape.{max u3 u2, max u3 u2, max u2 u3, u1} (Opposite.{succ (max u3 u2)} (CategoryTheory.GrothendieckTopology.Cover.{u2, u3} C _inst_1 J X)) (CategoryTheory.Category.opposite.{max u3 u2, max u3 u2} (CategoryTheory.GrothendieckTopology.Cover.{u2, u3} C _inst_1 J X) (Preorder.smallCategory.{max u3 u2} (CategoryTheory.GrothendieckTopology.Cover.{u2, u3} C _inst_1 J X) (CategoryTheory.GrothendieckTopology.Cover.preorder.{u2, u3} C _inst_1 J X))) D _inst_2] [_inst_9 : forall (X : C), CategoryTheory.Limits.PreservesColimitsOfShape.{max u3 u2, max u3 u2, max u2 u3, max u2 u3, u1, succ (max u2 u3)} D _inst_2 Type.{max u2 u3} CategoryTheory.types.{max u2 u3} (Opposite.{succ (max u3 u2)} (CategoryTheory.GrothendieckTopology.Cover.{u2, u3} C _inst_1 J X)) (CategoryTheory.Category.opposite.{max u3 u2, max u3 u2} (CategoryTheory.GrothendieckTopology.Cover.{u2, u3} C _inst_1 J X) (Preorder.smallCategory.{max u3 u2} (CategoryTheory.GrothendieckTopology.Cover.{u2, u3} C _inst_1 J X) (CategoryTheory.GrothendieckTopology.Cover.preorder.{u2, u3} C _inst_1 J X))) (CategoryTheory.forget.{u1, max u2 u3, max u2 u3} D _inst_2 _inst_5)] [_inst_10 : CategoryTheory.ReflectsIsomorphisms.{max u2 u3, max u2 u3, u1, succ (max u2 u3)} D _inst_2 Type.{max u2 u3} CategoryTheory.types.{max u2 u3} (CategoryTheory.forget.{u1, max u2 u3, max u2 u3} D _inst_2 _inst_5)] {G : CategoryTheory.Functor.{max u2 u3, max u2 u3, succ (max u2 u3), u1} Type.{max u2 u3} CategoryTheory.types.{max u2 u3} D _inst_2} (adj : CategoryTheory.Adjunction.{max u2 u3, max u2 u3, succ (max u2 u3), u1} Type.{max u2 u3} CategoryTheory.types.{max u2 u3} D _inst_2 G (CategoryTheory.forget.{u1, max u2 u3, max u2 u3} D _inst_2 _inst_5)) (X : CategoryTheory.Sheaf.{u2, max u2 u3, u3, u1} C _inst_1 J D _inst_2), Eq.{succ (max u2 u3)} (Quiver.Hom.{succ (max u2 u3), max u2 (max u2 u3) u3 u1} (CategoryTheory.Functor.{u2, max u2 u3, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u3, max u2 (max u2 u3) u3 u1} (CategoryTheory.Functor.{u2, max u2 u3, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2) (CategoryTheory.Category.toCategoryStruct.{max u2 u3, max u2 (max u2 u3) u3 u1} (CategoryTheory.Functor.{u2, max u2 u3, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2) (CategoryTheory.Functor.category.{u2, max u2 u3, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2))) (CategoryTheory.Sheaf.val.{u2, max u2 u3, u3, u1} C _inst_1 J D _inst_2 (CategoryTheory.Functor.obj.{max u2 u3, max u2 u3, max u3 u1 u2 u3, max u3 u1 u2 u3} (CategoryTheory.Sheaf.{u2, max u2 u3, u3, u1} C _inst_1 J D _inst_2) (CategoryTheory.Sheaf.CategoryTheory.category.{u2, max u2 u3, u3, u1} C _inst_1 J D _inst_2) (CategoryTheory.Sheaf.{u2, max u2 u3, u3, u1} C _inst_1 J D _inst_2) (CategoryTheory.Sheaf.CategoryTheory.category.{u2, max u2 u3, u3, u1} C _inst_1 J D _inst_2) (CategoryTheory.Functor.comp.{max u2 u3, max u2 u3, max u2 u3, max u3 u1 u2 u3, max u3 u2 (succ (max u2 u3)), max u3 u1 u2 u3} (CategoryTheory.Sheaf.{u2, max u2 u3, u3, u1} C _inst_1 J D _inst_2) (CategoryTheory.Sheaf.CategoryTheory.category.{u2, max u2 u3, u3, u1} C _inst_1 J D _inst_2) (CategoryTheory.SheafOfTypes.{max u2 u3, u2, u3} C _inst_1 J) (CategoryTheory.SheafOfTypes.CategoryTheory.category.{u2, u3, max u2 u3} C _inst_1 J) (CategoryTheory.Sheaf.{u2, max u2 u3, u3, u1} C _inst_1 J D _inst_2) (CategoryTheory.Sheaf.CategoryTheory.category.{u2, max u2 u3, u3, u1} C _inst_1 J D _inst_2) (CategoryTheory.sheafForget.{u1, u2, u3} C _inst_1 J D _inst_2 _inst_5 _inst_6) (CategoryTheory.Sheaf.composeAndSheafifyFromTypes.{u1, u2, u3} C _inst_1 J D _inst_2 _inst_5 _inst_6 (CategoryTheory.Sheaf.adjunctionToTypes._proof_1.{u3, u2, u1} C _inst_1 J D _inst_2 (fun (P : CategoryTheory.Functor.{u2, max u2 u3, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2) (X : C) (S : CategoryTheory.GrothendieckTopology.Cover.{u2, u3} C _inst_1 J X) => _inst_7 P X S)) (CategoryTheory.Sheaf.adjunctionToTypes._proof_2.{u3, u2, u1} C _inst_1 J D _inst_2 (fun (X : C) => _inst_8 X)) (fun (X : C) => _inst_9 X) _inst_10 G)) X)) (CategoryTheory.Sheaf.val.{u2, max u2 u3, u3, u1} C _inst_1 J D _inst_2 (CategoryTheory.Functor.obj.{max u2 u3, max u2 u3, max u3 u1 u2 u3, max u3 u1 u2 u3} (CategoryTheory.Sheaf.{u2, max u2 u3, u3, u1} C _inst_1 J D _inst_2) (CategoryTheory.Sheaf.CategoryTheory.category.{u2, max u2 u3, u3, u1} C _inst_1 J D _inst_2) (CategoryTheory.Sheaf.{u2, max u2 u3, u3, u1} C _inst_1 J D _inst_2) (CategoryTheory.Sheaf.CategoryTheory.category.{u2, max u2 u3, u3, u1} C _inst_1 J D _inst_2) (CategoryTheory.Functor.id.{max u2 u3, max u3 u1 u2 u3} (CategoryTheory.Sheaf.{u2, max u2 u3, u3, u1} C _inst_1 J D _inst_2) (CategoryTheory.Sheaf.CategoryTheory.category.{u2, max u2 u3, u3, u1} C _inst_1 J D _inst_2)) X))) (CategoryTheory.Sheaf.Hom.val.{u2, max u2 u3, u3, u1} C _inst_1 J D _inst_2 (CategoryTheory.Functor.obj.{max u2 u3, max u2 u3, max u3 u1 u2 u3, max u3 u1 u2 u3} (CategoryTheory.Sheaf.{u2, max u2 u3, u3, u1} C _inst_1 J D _inst_2) (CategoryTheory.Sheaf.CategoryTheory.category.{u2, max u2 u3, u3, u1} C _inst_1 J D _inst_2) (CategoryTheory.Sheaf.{u2, max u2 u3, u3, u1} C _inst_1 J D _inst_2) (CategoryTheory.Sheaf.CategoryTheory.category.{u2, max u2 u3, u3, u1} C _inst_1 J D _inst_2) (CategoryTheory.Functor.comp.{max u2 u3, max u2 u3, max u2 u3, max u3 u1 u2 u3, max u3 u2 (succ (max u2 u3)), max u3 u1 u2 u3} (CategoryTheory.Sheaf.{u2, max u2 u3, u3, u1} C _inst_1 J D _inst_2) (CategoryTheory.Sheaf.CategoryTheory.category.{u2, max u2 u3, u3, u1} C _inst_1 J D _inst_2) (CategoryTheory.SheafOfTypes.{max u2 u3, u2, u3} C _inst_1 J) (CategoryTheory.SheafOfTypes.CategoryTheory.category.{u2, u3, max u2 u3} C _inst_1 J) (CategoryTheory.Sheaf.{u2, max u2 u3, u3, u1} C _inst_1 J D _inst_2) (CategoryTheory.Sheaf.CategoryTheory.category.{u2, max u2 u3, u3, u1} C _inst_1 J D _inst_2) (CategoryTheory.sheafForget.{u1, u2, u3} C _inst_1 J D _inst_2 _inst_5 _inst_6) (CategoryTheory.Sheaf.composeAndSheafifyFromTypes.{u1, u2, u3} C _inst_1 J D _inst_2 _inst_5 _inst_6 (CategoryTheory.Sheaf.adjunctionToTypes._proof_1.{u3, u2, u1} C _inst_1 J D _inst_2 (fun (P : CategoryTheory.Functor.{u2, max u2 u3, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2) (X : C) (S : CategoryTheory.GrothendieckTopology.Cover.{u2, u3} C _inst_1 J X) => _inst_7 P X S)) (CategoryTheory.Sheaf.adjunctionToTypes._proof_2.{u3, u2, u1} C _inst_1 J D _inst_2 (fun (X : C) => _inst_8 X)) (fun (X : C) => _inst_9 X) _inst_10 G)) X) (CategoryTheory.Functor.obj.{max u2 u3, max u2 u3, max u3 u1 u2 u3, max u3 u1 u2 u3} (CategoryTheory.Sheaf.{u2, max u2 u3, u3, u1} C _inst_1 J D _inst_2) (CategoryTheory.Sheaf.CategoryTheory.category.{u2, max u2 u3, u3, u1} C _inst_1 J D _inst_2) (CategoryTheory.Sheaf.{u2, max u2 u3, u3, u1} C _inst_1 J D _inst_2) (CategoryTheory.Sheaf.CategoryTheory.category.{u2, max u2 u3, u3, u1} C _inst_1 J D _inst_2) (CategoryTheory.Functor.id.{max u2 u3, max u3 u1 u2 u3} (CategoryTheory.Sheaf.{u2, max u2 u3, u3, u1} C _inst_1 J D _inst_2) (CategoryTheory.Sheaf.CategoryTheory.category.{u2, max u2 u3, u3, u1} C _inst_1 J D _inst_2)) X) (CategoryTheory.NatTrans.app.{max u2 u3, max u2 u3, max u3 u1 u2 u3, max u3 u1 u2 u3} (CategoryTheory.Sheaf.{u2, max u2 u3, u3, u1} C _inst_1 J D _inst_2) (CategoryTheory.Sheaf.CategoryTheory.category.{u2, max u2 u3, u3, u1} C _inst_1 J D _inst_2) (CategoryTheory.Sheaf.{u2, max u2 u3, u3, u1} C _inst_1 J D _inst_2) (CategoryTheory.Sheaf.CategoryTheory.category.{u2, max u2 u3, u3, u1} C _inst_1 J D _inst_2) (CategoryTheory.Functor.comp.{max u2 u3, max u2 u3, max u2 u3, max u3 u1 u2 u3, max u3 u2 (succ (max u2 u3)), max u3 u1 u2 u3} (CategoryTheory.Sheaf.{u2, max u2 u3, u3, u1} C _inst_1 J D _inst_2) (CategoryTheory.Sheaf.CategoryTheory.category.{u2, max u2 u3, u3, u1} C _inst_1 J D _inst_2) (CategoryTheory.SheafOfTypes.{max u2 u3, u2, u3} C _inst_1 J) (CategoryTheory.SheafOfTypes.CategoryTheory.category.{u2, u3, max u2 u3} C _inst_1 J) (CategoryTheory.Sheaf.{u2, max u2 u3, u3, u1} C _inst_1 J D _inst_2) (CategoryTheory.Sheaf.CategoryTheory.category.{u2, max u2 u3, u3, u1} C _inst_1 J D _inst_2) (CategoryTheory.sheafForget.{u1, u2, u3} C _inst_1 J D _inst_2 _inst_5 _inst_6) (CategoryTheory.Sheaf.composeAndSheafifyFromTypes.{u1, u2, u3} C _inst_1 J D _inst_2 _inst_5 _inst_6 (CategoryTheory.Sheaf.adjunctionToTypes._proof_1.{u3, u2, u1} C _inst_1 J D _inst_2 (fun (P : CategoryTheory.Functor.{u2, max u2 u3, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2) (X : C) (S : CategoryTheory.GrothendieckTopology.Cover.{u2, u3} C _inst_1 J X) => _inst_7 P X S)) (CategoryTheory.Sheaf.adjunctionToTypes._proof_2.{u3, u2, u1} C _inst_1 J D _inst_2 (fun (X : C) => _inst_8 X)) (fun (X : C) => _inst_9 X) _inst_10 G)) (CategoryTheory.Functor.id.{max u2 u3, max u3 u1 u2 u3} (CategoryTheory.Sheaf.{u2, max u2 u3, u3, u1} C _inst_1 J D _inst_2) (CategoryTheory.Sheaf.CategoryTheory.category.{u2, max u2 u3, u3, u1} C _inst_1 J D _inst_2)) (CategoryTheory.Adjunction.counit.{max u2 u3, max u2 u3, max u3 u2 (succ (max u2 u3)), max u3 u1 u2 u3} (CategoryTheory.SheafOfTypes.{max u2 u3, u2, u3} C _inst_1 J) (CategoryTheory.SheafOfTypes.CategoryTheory.category.{u2, u3, max u2 u3} C _inst_1 J) (CategoryTheory.Sheaf.{u2, max u2 u3, u3, u1} C _inst_1 J D _inst_2) (CategoryTheory.Sheaf.CategoryTheory.category.{u2, max u2 u3, u3, u1} C _inst_1 J D _inst_2) (CategoryTheory.Sheaf.composeAndSheafifyFromTypes.{u1, u2, u3} C _inst_1 J D _inst_2 _inst_5 _inst_6 (CategoryTheory.Sheaf.adjunctionToTypes._proof_1.{u3, u2, u1} C _inst_1 J D _inst_2 (fun (P : CategoryTheory.Functor.{u2, max u2 u3, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2) (X : C) (S : CategoryTheory.GrothendieckTopology.Cover.{u2, u3} C _inst_1 J X) => _inst_7 P X S)) (CategoryTheory.Sheaf.adjunctionToTypes._proof_2.{u3, u2, u1} C _inst_1 J D _inst_2 (fun (X : C) => _inst_8 X)) (fun (X : C) => _inst_9 X) _inst_10 G) (CategoryTheory.sheafForget.{u1, u2, u3} C _inst_1 J D _inst_2 _inst_5 _inst_6) (CategoryTheory.Sheaf.adjunctionToTypes.{u1, u2, u3} C _inst_1 J D _inst_2 _inst_5 _inst_6 (fun (P : CategoryTheory.Functor.{u2, max u2 u3, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2) (X : C) (S : CategoryTheory.GrothendieckTopology.Cover.{u2, u3} C _inst_1 J X) => _inst_7 P X S) (fun (X : C) => _inst_8 X) (fun (X : C) => _inst_9 X) _inst_10 G adj)) X)) (CategoryTheory.GrothendieckTopology.sheafifyLift.{u1, u2, u3} C _inst_1 J D _inst_2 (fun (P : CategoryTheory.Functor.{u2, max u2 u3, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2) (X : C) (S : CategoryTheory.GrothendieckTopology.Cover.{u2, u3} C _inst_1 J X) => _inst_7 P X S) (fun (X : C) => _inst_8 X) (CategoryTheory.Functor.obj.{max u2 u3, max u2 u3, max u2 (max u2 u3) u3 (succ (max u2 u3)), max u2 (max u2 u3) u3 u1} (CategoryTheory.Functor.{u2, max u2 u3, u3, succ (max u2 u3)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u2 u3}) (CategoryTheory.Functor.category.{u2, max u2 u3, u3, succ (max u2 u3)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u2 u3}) (CategoryTheory.Functor.{u2, max u2 u3, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2) (CategoryTheory.Functor.category.{u2, max u2 u3, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2) (CategoryTheory.Functor.obj.{succ (max u2 u3), max (max u2 (max u2 u3) u3 (succ (max u2 u3))) u2 u3, max (max u2 u3) (succ (max u2 u3)) u1, max (max u2 u3) (max u2 (max u2 u3) u3 (succ (max u2 u3))) u2 (max u2 u3) u3 u1} (CategoryTheory.Functor.{max u2 u3, max u2 u3, succ (max u2 u3), u1} Type.{max u2 u3} CategoryTheory.types.{max u2 u3} D _inst_2) (CategoryTheory.Functor.category.{max u2 u3, max u2 u3, succ (max u2 u3), u1} Type.{max u2 u3} CategoryTheory.types.{max u2 u3} D _inst_2) (CategoryTheory.Functor.{max u2 u3, max u2 u3, max u2 (max u2 u3) u3 (succ (max u2 u3)), max u2 (max u2 u3) u3 u1} (CategoryTheory.Functor.{u2, max u2 u3, u3, succ (max u2 u3)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u2 u3}) (CategoryTheory.Functor.category.{u2, max u2 u3, u3, succ (max u2 u3)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u2 u3}) (CategoryTheory.Functor.{u2, max u2 u3, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2) (CategoryTheory.Functor.category.{u2, max u2 u3, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2)) (CategoryTheory.Functor.category.{max u2 u3, max u2 u3, max u2 (max u2 u3) u3 (succ (max u2 u3)), max u2 (max u2 u3) u3 u1} (CategoryTheory.Functor.{u2, max u2 u3, u3, succ (max u2 u3)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u2 u3}) (CategoryTheory.Functor.category.{u2, max u2 u3, u3, succ (max u2 u3)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u2 u3}) (CategoryTheory.Functor.{u2, max u2 u3, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2) (CategoryTheory.Functor.category.{u2, max u2 u3, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2)) (CategoryTheory.whiskeringRight.{u3, u2, succ (max u2 u3), max u2 u3, u1, max u2 u3} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u2 u3} D _inst_2) G) (CategoryTheory.Functor.obj.{max u2 u3, max u2 u3, max u3 (succ (max u2 u3)), max u2 (max u2 u3) u3 (succ (max u2 u3))} (CategoryTheory.Sheaf.{u2, max u2 u3, u3, succ (max u2 u3)} C _inst_1 J Type.{max u2 u3} CategoryTheory.types.{max u2 u3}) (CategoryTheory.Sheaf.CategoryTheory.category.{u2, max u2 u3, u3, succ (max u2 u3)} C _inst_1 J Type.{max u2 u3} CategoryTheory.types.{max u2 u3}) (CategoryTheory.Functor.{u2, max u2 u3, u3, succ (max u2 u3)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u2 u3}) (CategoryTheory.Functor.category.{u2, max u2 u3, u3, succ (max u2 u3)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u2 u3}) (CategoryTheory.sheafToPresheaf.{u2, max u2 u3, u3, succ (max u2 u3)} C _inst_1 J Type.{max u2 u3} CategoryTheory.types.{max u2 u3}) (CategoryTheory.Functor.obj.{max u2 u3, max u2 u3, max u3 u2 (succ (max u2 u3)), max u3 (succ (max u2 u3))} (CategoryTheory.SheafOfTypes.{max u2 u3, u2, u3} C _inst_1 J) (CategoryTheory.SheafOfTypes.CategoryTheory.category.{u2, u3, max u2 u3} C _inst_1 J) (CategoryTheory.Sheaf.{u2, max u2 u3, u3, succ (max u2 u3)} C _inst_1 J Type.{max u2 u3} CategoryTheory.types.{max u2 u3}) (CategoryTheory.Sheaf.CategoryTheory.category.{u2, max u2 u3, u3, succ (max u2 u3)} C _inst_1 J Type.{max u2 u3} CategoryTheory.types.{max u2 u3}) (CategoryTheory.Equivalence.inverse.{max u2 u3, max u2 u3, max u3 (succ (max u2 u3)), max u3 u2 (succ (max u2 u3))} (CategoryTheory.Sheaf.{u2, max u2 u3, u3, succ (max u2 u3)} C _inst_1 J Type.{max u2 u3} CategoryTheory.types.{max u2 u3}) (CategoryTheory.Sheaf.CategoryTheory.category.{u2, max u2 u3, u3, succ (max u2 u3)} C _inst_1 J Type.{max u2 u3} CategoryTheory.types.{max u2 u3}) (CategoryTheory.SheafOfTypes.{max u2 u3, u2, u3} C _inst_1 J) (CategoryTheory.SheafOfTypes.CategoryTheory.category.{u2, u3, max u2 u3} C _inst_1 J) (CategoryTheory.sheafEquivSheafOfTypes.{max u2 u3, u2, u3} C _inst_1 J)) (CategoryTheory.Functor.obj.{max u2 u3, max u2 u3, max u3 u1 u2 u3, max u3 u2 (succ (max u2 u3))} (CategoryTheory.Sheaf.{u2, max u2 u3, u3, u1} C _inst_1 J D _inst_2) (CategoryTheory.Sheaf.CategoryTheory.category.{u2, max u2 u3, u3, u1} C _inst_1 J D _inst_2) (CategoryTheory.SheafOfTypes.{max u2 u3, u2, u3} C _inst_1 J) (CategoryTheory.SheafOfTypes.CategoryTheory.category.{u2, u3, max u2 u3} C _inst_1 J) (CategoryTheory.sheafForget.{u1, u2, u3} C _inst_1 J D _inst_2 _inst_5 _inst_6) X)))) (CategoryTheory.Sheaf.val.{u2, max u2 u3, u3, u1} C _inst_1 J D _inst_2 (CategoryTheory.Functor.obj.{max u2 u3, max u2 u3, max u3 u1 u2 u3, max u3 u1 u2 u3} (CategoryTheory.Sheaf.{u2, max u2 u3, u3, u1} C _inst_1 J D _inst_2) (CategoryTheory.Sheaf.CategoryTheory.category.{u2, max u2 u3, u3, u1} C _inst_1 J D _inst_2) (CategoryTheory.Sheaf.{u2, max u2 u3, u3, u1} C _inst_1 J D _inst_2) (CategoryTheory.Sheaf.CategoryTheory.category.{u2, max u2 u3, u3, u1} C _inst_1 J D _inst_2) (CategoryTheory.Functor.id.{max u2 u3, max u3 u1 u2 u3} (CategoryTheory.Sheaf.{u2, max u2 u3, u3, u1} C _inst_1 J D _inst_2) (CategoryTheory.Sheaf.CategoryTheory.category.{u2, max u2 u3, u3, u1} C _inst_1 J D _inst_2)) X)) (CategoryTheory.CategoryStruct.comp.{max u2 u3, max u2 (max u2 u3) u3 u1} (CategoryTheory.Functor.{u2, max u2 u3, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2) (CategoryTheory.Category.toCategoryStruct.{max u2 u3, max u2 (max u2 u3) u3 u1} (CategoryTheory.Functor.{u2, max u2 u3, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2) (CategoryTheory.Functor.category.{u2, max u2 u3, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2)) (CategoryTheory.Functor.obj.{max u2 u3, max u2 u3, max u2 (max u2 u3) u3 (succ (max u2 u3)), max u2 (max u2 u3) u3 u1} (CategoryTheory.Functor.{u2, max u2 u3, u3, succ (max u2 u3)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u2 u3}) (CategoryTheory.Functor.category.{u2, max u2 u3, u3, succ (max u2 u3)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u2 u3}) (CategoryTheory.Functor.{u2, max u2 u3, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2) (CategoryTheory.Functor.category.{u2, max u2 u3, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2) (CategoryTheory.Functor.obj.{succ (max u2 u3), max (max u2 (max u2 u3) u3 (succ (max u2 u3))) u2 u3, max (max u2 u3) (succ (max u2 u3)) u1, max (max u2 u3) (max u2 (max u2 u3) u3 (succ (max u2 u3))) u2 (max u2 u3) u3 u1} (CategoryTheory.Functor.{max u2 u3, max u2 u3, succ (max u2 u3), u1} Type.{max u2 u3} CategoryTheory.types.{max u2 u3} D _inst_2) (CategoryTheory.Functor.category.{max u2 u3, max u2 u3, succ (max u2 u3), u1} Type.{max u2 u3} CategoryTheory.types.{max u2 u3} D _inst_2) (CategoryTheory.Functor.{max u2 u3, max u2 u3, max u2 (max u2 u3) u3 (succ (max u2 u3)), max u2 (max u2 u3) u3 u1} (CategoryTheory.Functor.{u2, max u2 u3, u3, succ (max u2 u3)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u2 u3}) (CategoryTheory.Functor.category.{u2, max u2 u3, u3, succ (max u2 u3)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u2 u3}) (CategoryTheory.Functor.{u2, max u2 u3, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2) (CategoryTheory.Functor.category.{u2, max u2 u3, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2)) (CategoryTheory.Functor.category.{max u2 u3, max u2 u3, max u2 (max u2 u3) u3 (succ (max u2 u3)), max u2 (max u2 u3) u3 u1} (CategoryTheory.Functor.{u2, max u2 u3, u3, succ (max u2 u3)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u2 u3}) (CategoryTheory.Functor.category.{u2, max u2 u3, u3, succ (max u2 u3)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u2 u3}) (CategoryTheory.Functor.{u2, max u2 u3, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2) (CategoryTheory.Functor.category.{u2, max u2 u3, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2)) (CategoryTheory.whiskeringRight.{u3, u2, succ (max u2 u3), max u2 u3, u1, max u2 u3} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u2 u3} D _inst_2) G) (CategoryTheory.Functor.obj.{max u2 u3, max u2 u3, max u3 (succ (max u2 u3)), max u2 (max u2 u3) u3 (succ (max u2 u3))} (CategoryTheory.Sheaf.{u2, max u2 u3, u3, succ (max u2 u3)} C _inst_1 J Type.{max u2 u3} CategoryTheory.types.{max u2 u3}) (CategoryTheory.Sheaf.CategoryTheory.category.{u2, max u2 u3, u3, succ (max u2 u3)} C _inst_1 J Type.{max u2 u3} CategoryTheory.types.{max u2 u3}) (CategoryTheory.Functor.{u2, max u2 u3, u3, succ (max u2 u3)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u2 u3}) (CategoryTheory.Functor.category.{u2, max u2 u3, u3, succ (max u2 u3)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u2 u3}) (CategoryTheory.sheafToPresheaf.{u2, max u2 u3, u3, succ (max u2 u3)} C _inst_1 J Type.{max u2 u3} CategoryTheory.types.{max u2 u3}) (CategoryTheory.Functor.obj.{max u2 u3, max u2 u3, max u3 u2 (succ (max u2 u3)), max u3 (succ (max u2 u3))} (CategoryTheory.SheafOfTypes.{max u2 u3, u2, u3} C _inst_1 J) (CategoryTheory.SheafOfTypes.CategoryTheory.category.{u2, u3, max u2 u3} C _inst_1 J) (CategoryTheory.Sheaf.{u2, max u2 u3, u3, succ (max u2 u3)} C _inst_1 J Type.{max u2 u3} CategoryTheory.types.{max u2 u3}) (CategoryTheory.Sheaf.CategoryTheory.category.{u2, max u2 u3, u3, succ (max u2 u3)} C _inst_1 J Type.{max u2 u3} CategoryTheory.types.{max u2 u3}) (CategoryTheory.Equivalence.inverse.{max u2 u3, max u2 u3, max u3 (succ (max u2 u3)), max u3 u2 (succ (max u2 u3))} (CategoryTheory.Sheaf.{u2, max u2 u3, u3, succ (max u2 u3)} C _inst_1 J Type.{max u2 u3} CategoryTheory.types.{max u2 u3}) (CategoryTheory.Sheaf.CategoryTheory.category.{u2, max u2 u3, u3, succ (max u2 u3)} C _inst_1 J Type.{max u2 u3} CategoryTheory.types.{max u2 u3}) (CategoryTheory.SheafOfTypes.{max u2 u3, u2, u3} C _inst_1 J) (CategoryTheory.SheafOfTypes.CategoryTheory.category.{u2, u3, max u2 u3} C _inst_1 J) (CategoryTheory.sheafEquivSheafOfTypes.{max u2 u3, u2, u3} C _inst_1 J)) (CategoryTheory.Functor.obj.{max u2 u3, max u2 u3, max u3 u1 u2 u3, max u3 u2 (succ (max u2 u3))} (CategoryTheory.Sheaf.{u2, max u2 u3, u3, u1} C _inst_1 J D _inst_2) (CategoryTheory.Sheaf.CategoryTheory.category.{u2, max u2 u3, u3, u1} C _inst_1 J D _inst_2) (CategoryTheory.SheafOfTypes.{max u2 u3, u2, u3} C _inst_1 J) (CategoryTheory.SheafOfTypes.CategoryTheory.category.{u2, u3, max u2 u3} C _inst_1 J) (CategoryTheory.sheafForget.{u1, u2, u3} C _inst_1 J D _inst_2 _inst_5 _inst_6) X)))) (CategoryTheory.Functor.comp.{u2, max u2 u3, max u2 u3, u3, u1, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2 D _inst_2 (CategoryTheory.Sheaf.val.{u2, max u2 u3, u3, u1} C _inst_1 J D _inst_2 X) (CategoryTheory.Functor.comp.{max u2 u3, max u2 u3, max u2 u3, u1, succ (max u2 u3), u1} D _inst_2 Type.{max u2 u3} CategoryTheory.types.{max u2 u3} D _inst_2 (CategoryTheory.forget.{u1, max u2 u3, max u2 u3} D _inst_2 _inst_5) G)) (CategoryTheory.Sheaf.val.{u2, max u2 u3, u3, u1} C _inst_1 J D _inst_2 (CategoryTheory.Functor.obj.{max u2 u3, max u2 u3, max u3 u1 u2 u3, max u3 u1 u2 u3} (CategoryTheory.Sheaf.{u2, max u2 u3, u3, u1} C _inst_1 J D _inst_2) (CategoryTheory.Sheaf.CategoryTheory.category.{u2, max u2 u3, u3, u1} C _inst_1 J D _inst_2) (CategoryTheory.Sheaf.{u2, max u2 u3, u3, u1} C _inst_1 J D _inst_2) (CategoryTheory.Sheaf.CategoryTheory.category.{u2, max u2 u3, u3, u1} C _inst_1 J D _inst_2) (CategoryTheory.Functor.id.{max u2 u3, max u3 u1 u2 u3} (CategoryTheory.Sheaf.{u2, max u2 u3, u3, u1} C _inst_1 J D _inst_2) (CategoryTheory.Sheaf.CategoryTheory.category.{u2, max u2 u3, u3, u1} C _inst_1 J D _inst_2)) X)) (CategoryTheory.Iso.hom.{max u2 u3, max u2 (max u2 u3) u3 u1} (CategoryTheory.Functor.{u2, max u2 u3, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2) (CategoryTheory.Functor.category.{u2, max u2 u3, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2) (CategoryTheory.Functor.comp.{u2, max u2 u3, max u2 u3, u3, succ (max u2 u3), u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u2 u3} D _inst_2 (CategoryTheory.Functor.comp.{u2, max u2 u3, max u2 u3, u3, u1, succ (max u2 u3)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2 Type.{max u2 u3} CategoryTheory.types.{max u2 u3} (CategoryTheory.Sheaf.val.{u2, max u2 u3, u3, u1} C _inst_1 J D _inst_2 X) (CategoryTheory.forget.{u1, max u2 u3, max u2 u3} D _inst_2 _inst_5)) G) (CategoryTheory.Functor.comp.{u2, max u2 u3, max u2 u3, u3, u1, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2 D _inst_2 (CategoryTheory.Sheaf.val.{u2, max u2 u3, u3, u1} C _inst_1 J D _inst_2 X) (CategoryTheory.Functor.comp.{max u2 u3, max u2 u3, max u2 u3, u1, succ (max u2 u3), u1} D _inst_2 Type.{max u2 u3} CategoryTheory.types.{max u2 u3} D _inst_2 (CategoryTheory.forget.{u1, max u2 u3, max u2 u3} D _inst_2 _inst_5) G)) (CategoryTheory.Functor.associator.{u3, u2, u1, max u2 u3, succ (max u2 u3), max u2 u3, u1, max u2 u3} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2 Type.{max u2 u3} CategoryTheory.types.{max u2 u3} D _inst_2 (CategoryTheory.Sheaf.val.{u2, max u2 u3, u3, u1} C _inst_1 J D _inst_2 X) (CategoryTheory.forget.{u1, max u2 u3, max u2 u3} D _inst_2 _inst_5) G)) (CategoryTheory.NatTrans.app.{max u2 u3, max u2 u3, max u2 (max u2 u3) u3 u1, max u2 (max u2 u3) u3 u1} (CategoryTheory.Functor.{u2, max u2 u3, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2) (CategoryTheory.Functor.category.{u2, max u2 u3, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2) (CategoryTheory.Functor.{u2, max u2 u3, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2) (CategoryTheory.Functor.category.{u2, max u2 u3, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2) (CategoryTheory.Functor.comp.{max u2 u3, max u2 u3, max u2 u3, max u2 (max u2 u3) u3 u1, max u2 (max u2 u3) u3 (succ (max u2 u3)), max u2 (max u2 u3) u3 u1} (CategoryTheory.Functor.{u2, max u2 u3, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2) (CategoryTheory.Functor.category.{u2, max u2 u3, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2) (CategoryTheory.Functor.{u2, max u2 u3, u3, succ (max u2 u3)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u2 u3}) (CategoryTheory.Functor.category.{u2, max u2 u3, u3, succ (max u2 u3)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u2 u3}) (CategoryTheory.Functor.{u2, max u2 u3, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2) (CategoryTheory.Functor.category.{u2, max u2 u3, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2) (CategoryTheory.Functor.obj.{max u1 u2 u3, max (max u2 (max u2 u3) u3 u1) u2 u3, max (max u2 u3) u1 (succ (max u2 u3)), max (max u2 u3) (max u2 (max u2 u3) u3 u1) u2 (max u2 u3) u3 (succ (max u2 u3))} (CategoryTheory.Functor.{max u2 u3, max u2 u3, u1, succ (max u2 u3)} D _inst_2 Type.{max u2 u3} CategoryTheory.types.{max u2 u3}) (CategoryTheory.Functor.category.{max u2 u3, max u2 u3, u1, succ (max u2 u3)} D _inst_2 Type.{max u2 u3} CategoryTheory.types.{max u2 u3}) (CategoryTheory.Functor.{max u2 u3, max u2 u3, max u2 (max u2 u3) u3 u1, max u2 (max u2 u3) u3 (succ (max u2 u3))} (CategoryTheory.Functor.{u2, max u2 u3, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2) (CategoryTheory.Functor.category.{u2, max u2 u3, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2) (CategoryTheory.Functor.{u2, max u2 u3, u3, succ (max u2 u3)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u2 u3}) (CategoryTheory.Functor.category.{u2, max u2 u3, u3, succ (max u2 u3)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u2 u3})) (CategoryTheory.Functor.category.{max u2 u3, max u2 u3, max u2 (max u2 u3) u3 u1, max u2 (max u2 u3) u3 (succ (max u2 u3))} (CategoryTheory.Functor.{u2, max u2 u3, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2) (CategoryTheory.Functor.category.{u2, max u2 u3, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2) (CategoryTheory.Functor.{u2, max u2 u3, u3, succ (max u2 u3)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u2 u3}) (CategoryTheory.Functor.category.{u2, max u2 u3, u3, succ (max u2 u3)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u2 u3})) (CategoryTheory.whiskeringRight.{u3, u2, u1, max u2 u3, succ (max u2 u3), max u2 u3} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2 Type.{max u2 u3} CategoryTheory.types.{max u2 u3}) (CategoryTheory.forget.{u1, max u2 u3, max u2 u3} D _inst_2 _inst_5)) (CategoryTheory.Functor.obj.{succ (max u2 u3), max (max u2 (max u2 u3) u3 (succ (max u2 u3))) u2 u3, max (max u2 u3) (succ (max u2 u3)) u1, max (max u2 u3) (max u2 (max u2 u3) u3 (succ (max u2 u3))) u2 (max u2 u3) u3 u1} (CategoryTheory.Functor.{max u2 u3, max u2 u3, succ (max u2 u3), u1} Type.{max u2 u3} CategoryTheory.types.{max u2 u3} D _inst_2) (CategoryTheory.Functor.category.{max u2 u3, max u2 u3, succ (max u2 u3), u1} Type.{max u2 u3} CategoryTheory.types.{max u2 u3} D _inst_2) (CategoryTheory.Functor.{max u2 u3, max u2 u3, max u2 (max u2 u3) u3 (succ (max u2 u3)), max u2 (max u2 u3) u3 u1} (CategoryTheory.Functor.{u2, max u2 u3, u3, succ (max u2 u3)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u2 u3}) (CategoryTheory.Functor.category.{u2, max u2 u3, u3, succ (max u2 u3)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u2 u3}) (CategoryTheory.Functor.{u2, max u2 u3, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2) (CategoryTheory.Functor.category.{u2, max u2 u3, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2)) (CategoryTheory.Functor.category.{max u2 u3, max u2 u3, max u2 (max u2 u3) u3 (succ (max u2 u3)), max u2 (max u2 u3) u3 u1} (CategoryTheory.Functor.{u2, max u2 u3, u3, succ (max u2 u3)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u2 u3}) (CategoryTheory.Functor.category.{u2, max u2 u3, u3, succ (max u2 u3)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u2 u3}) (CategoryTheory.Functor.{u2, max u2 u3, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2) (CategoryTheory.Functor.category.{u2, max u2 u3, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2)) (CategoryTheory.whiskeringRight.{u3, u2, succ (max u2 u3), max u2 u3, u1, max u2 u3} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u2 u3} D _inst_2) G)) (CategoryTheory.Functor.id.{max u2 u3, max u2 (max u2 u3) u3 u1} (CategoryTheory.Functor.{u2, max u2 u3, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2) (CategoryTheory.Functor.category.{u2, max u2 u3, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2)) (CategoryTheory.Adjunction.counit.{max u2 u3, max u2 u3, max u2 (max u2 u3) u3 (succ (max u2 u3)), max u2 (max u2 u3) u3 u1} (CategoryTheory.Functor.{u2, max u2 u3, u3, succ (max u2 u3)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u2 u3}) (CategoryTheory.Functor.category.{u2, max u2 u3, u3, succ (max u2 u3)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u2 u3}) (CategoryTheory.Functor.{u2, max u2 u3, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2) (CategoryTheory.Functor.category.{u2, max u2 u3, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2) (CategoryTheory.Functor.obj.{succ (max u2 u3), max (max u2 (max u2 u3) u3 (succ (max u2 u3))) u2 u3, max (max u2 u3) (succ (max u2 u3)) u1, max (max u2 u3) (max u2 (max u2 u3) u3 (succ (max u2 u3))) u2 (max u2 u3) u3 u1} (CategoryTheory.Functor.{max u2 u3, max u2 u3, succ (max u2 u3), u1} Type.{max u2 u3} CategoryTheory.types.{max u2 u3} D _inst_2) (CategoryTheory.Functor.category.{max u2 u3, max u2 u3, succ (max u2 u3), u1} Type.{max u2 u3} CategoryTheory.types.{max u2 u3} D _inst_2) (CategoryTheory.Functor.{max u2 u3, max u2 u3, max u2 (max u2 u3) u3 (succ (max u2 u3)), max u2 (max u2 u3) u3 u1} (CategoryTheory.Functor.{u2, max u2 u3, u3, succ (max u2 u3)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u2 u3}) (CategoryTheory.Functor.category.{u2, max u2 u3, u3, succ (max u2 u3)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u2 u3}) (CategoryTheory.Functor.{u2, max u2 u3, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2) (CategoryTheory.Functor.category.{u2, max u2 u3, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2)) (CategoryTheory.Functor.category.{max u2 u3, max u2 u3, max u2 (max u2 u3) u3 (succ (max u2 u3)), max u2 (max u2 u3) u3 u1} (CategoryTheory.Functor.{u2, max u2 u3, u3, succ (max u2 u3)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u2 u3}) (CategoryTheory.Functor.category.{u2, max u2 u3, u3, succ (max u2 u3)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u2 u3}) (CategoryTheory.Functor.{u2, max u2 u3, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2) (CategoryTheory.Functor.category.{u2, max u2 u3, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2)) (CategoryTheory.whiskeringRight.{u3, u2, succ (max u2 u3), max u2 u3, u1, max u2 u3} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u2 u3} D _inst_2) G) (CategoryTheory.Functor.obj.{max u1 u2 u3, max (max u2 (max u2 u3) u3 u1) u2 u3, max (max u2 u3) u1 (succ (max u2 u3)), max (max u2 u3) (max u2 (max u2 u3) u3 u1) u2 (max u2 u3) u3 (succ (max u2 u3))} (CategoryTheory.Functor.{max u2 u3, max u2 u3, u1, succ (max u2 u3)} D _inst_2 Type.{max u2 u3} CategoryTheory.types.{max u2 u3}) (CategoryTheory.Functor.category.{max u2 u3, max u2 u3, u1, succ (max u2 u3)} D _inst_2 Type.{max u2 u3} CategoryTheory.types.{max u2 u3}) (CategoryTheory.Functor.{max u2 u3, max u2 u3, max u2 (max u2 u3) u3 u1, max u2 (max u2 u3) u3 (succ (max u2 u3))} (CategoryTheory.Functor.{u2, max u2 u3, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2) (CategoryTheory.Functor.category.{u2, max u2 u3, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2) (CategoryTheory.Functor.{u2, max u2 u3, u3, succ (max u2 u3)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u2 u3}) (CategoryTheory.Functor.category.{u2, max u2 u3, u3, succ (max u2 u3)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u2 u3})) (CategoryTheory.Functor.category.{max u2 u3, max u2 u3, max u2 (max u2 u3) u3 u1, max u2 (max u2 u3) u3 (succ (max u2 u3))} (CategoryTheory.Functor.{u2, max u2 u3, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2) (CategoryTheory.Functor.category.{u2, max u2 u3, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2) (CategoryTheory.Functor.{u2, max u2 u3, u3, succ (max u2 u3)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u2 u3}) (CategoryTheory.Functor.category.{u2, max u2 u3, u3, succ (max u2 u3)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u2 u3})) (CategoryTheory.whiskeringRight.{u3, u2, u1, max u2 u3, succ (max u2 u3), max u2 u3} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2 Type.{max u2 u3} CategoryTheory.types.{max u2 u3}) (CategoryTheory.forget.{u1, max u2 u3, max u2 u3} D _inst_2 _inst_5)) (CategoryTheory.Adjunction.whiskerRight.{u3, succ (max u2 u3), u1, u2, max u2 u3, max u2 u3} (Opposite.{succ u3} C) Type.{max u2 u3} D (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) CategoryTheory.types.{max u2 u3} _inst_2 G (CategoryTheory.forget.{u1, max u2 u3, max u2 u3} D _inst_2 _inst_5) adj)) (CategoryTheory.Sheaf.val.{u2, max u2 u3, u3, u1} C _inst_1 J D _inst_2 X))) (CategoryTheory.Sheaf.cond.{u2, max u2 u3, u3, u1} C _inst_1 J D _inst_2 X))
+but is expected to have type
+  forall {C : Type.{u3}} [_inst_1 : CategoryTheory.Category.{u2, u3} C] (J : CategoryTheory.GrothendieckTopology.{u2, u3} C _inst_1) {D : Type.{u1}} [_inst_2 : CategoryTheory.Category.{max u2 u3, u1} D] [_inst_5 : CategoryTheory.ConcreteCategory.{max u2 u3, max u3 u2, u1} D _inst_2] [_inst_6 : CategoryTheory.Limits.PreservesLimits.{max u3 u2, max u3 u2, u1, max (succ u3) (succ u2)} D _inst_2 Type.{max u3 u2} CategoryTheory.types.{max u3 u2} (CategoryTheory.forget.{u1, max u3 u2, max u3 u2} D _inst_2 _inst_5)] [_inst_7 : forall (P : CategoryTheory.Functor.{u2, max u3 u2, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2) (X : C) (S : CategoryTheory.GrothendieckTopology.Cover.{u2, u3} C _inst_1 J X), CategoryTheory.Limits.HasMultiequalizer.{max u3 u2, u1, max u3 u2} D _inst_2 (CategoryTheory.GrothendieckTopology.Cover.index.{u1, u2, u3} C _inst_1 X J D _inst_2 S P)] [_inst_8 : forall (X : C), CategoryTheory.Limits.HasColimitsOfShape.{max u3 u2, max u3 u2, max u3 u2, u1} (Opposite.{max (succ u3) (succ u2)} (CategoryTheory.GrothendieckTopology.Cover.{u2, u3} C _inst_1 J X)) (CategoryTheory.Category.opposite.{max u3 u2, max u3 u2} (CategoryTheory.GrothendieckTopology.Cover.{u2, u3} C _inst_1 J X) (Preorder.smallCategory.{max u3 u2} (CategoryTheory.GrothendieckTopology.Cover.{u2, u3} C _inst_1 J X) (CategoryTheory.GrothendieckTopology.instPreorderCover.{u2, u3} C _inst_1 J X))) D _inst_2] [_inst_9 : forall (X : C), CategoryTheory.Limits.PreservesColimitsOfShape.{max u3 u2, max u3 u2, max u3 u2, max u3 u2, u1, max (succ u3) (succ u2)} D _inst_2 Type.{max u3 u2} CategoryTheory.types.{max u3 u2} (Opposite.{max (succ u3) (succ u2)} (CategoryTheory.GrothendieckTopology.Cover.{u2, u3} C _inst_1 J X)) (CategoryTheory.Category.opposite.{max u3 u2, max u3 u2} (CategoryTheory.GrothendieckTopology.Cover.{u2, u3} C _inst_1 J X) (Preorder.smallCategory.{max u3 u2} (CategoryTheory.GrothendieckTopology.Cover.{u2, u3} C _inst_1 J X) (CategoryTheory.GrothendieckTopology.instPreorderCover.{u2, u3} C _inst_1 J X))) (CategoryTheory.forget.{u1, max u3 u2, max u3 u2} D _inst_2 _inst_5)] [_inst_10 : CategoryTheory.ReflectsIsomorphisms.{max u3 u2, max u3 u2, u1, max (succ u3) (succ u2)} D _inst_2 Type.{max u3 u2} CategoryTheory.types.{max u3 u2} (CategoryTheory.forget.{u1, max u3 u2, max u3 u2} D _inst_2 _inst_5)] {G : CategoryTheory.Functor.{max u3 u2, max u3 u2, max (succ u3) (succ u2), u1} Type.{max u2 u3} CategoryTheory.types.{max u3 u2} D _inst_2} (adj : CategoryTheory.Adjunction.{max u3 u2, max u3 u2, max (succ u3) (succ u2), u1} Type.{max u2 u3} CategoryTheory.types.{max u3 u2} D _inst_2 G (CategoryTheory.forget.{u1, max u3 u2, max u3 u2} D _inst_2 _inst_5)) (X : CategoryTheory.Sheaf.{u2, max u3 u2, u3, u1} C _inst_1 J D _inst_2), Eq.{max (succ u3) (succ u2)} (Quiver.Hom.{max (succ u3) (succ (max u3 u2)), max (max (max u3 u1) u2) u3 u2} (CategoryTheory.Functor.{u2, max u3 u2, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2) (CategoryTheory.CategoryStruct.toQuiver.{max u3 u2, max (max (max u3 u1) u2) u3 u2} (CategoryTheory.Functor.{u2, max u3 u2, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2) (CategoryTheory.Category.toCategoryStruct.{max u3 u2, max (max (max u3 u1) u2) u3 u2} (CategoryTheory.Functor.{u2, max u3 u2, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2) (CategoryTheory.Functor.category.{u2, max u3 u2, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2))) (CategoryTheory.Sheaf.val.{u2, max u3 u2, u3, u1} C _inst_1 J D _inst_2 (Prefunctor.obj.{succ (max u3 u2), succ (max u3 u2), max (max u3 u2) u1, max (max u3 u2) u1} (CategoryTheory.Sheaf.{u2, max u3 u2, u3, u1} C _inst_1 J D _inst_2) (CategoryTheory.CategoryStruct.toQuiver.{max u3 u2, max (max u3 u2) u1} (CategoryTheory.Sheaf.{u2, max u3 u2, u3, u1} C _inst_1 J D _inst_2) (CategoryTheory.Category.toCategoryStruct.{max u3 u2, max (max u3 u2) u1} (CategoryTheory.Sheaf.{u2, max u3 u2, u3, u1} C _inst_1 J D _inst_2) (CategoryTheory.Sheaf.instCategorySheaf.{u2, max u3 u2, u3, u1} C _inst_1 J D _inst_2))) (CategoryTheory.Sheaf.{u2, max u3 u2, u3, u1} C _inst_1 J D _inst_2) (CategoryTheory.CategoryStruct.toQuiver.{max u3 u2, max (max u3 u2) u1} (CategoryTheory.Sheaf.{u2, max u3 u2, u3, u1} C _inst_1 J D _inst_2) (CategoryTheory.Category.toCategoryStruct.{max u3 u2, max (max u3 u2) u1} (CategoryTheory.Sheaf.{u2, max u3 u2, u3, u1} C _inst_1 J D _inst_2) (CategoryTheory.Sheaf.instCategorySheaf.{u2, max u3 u2, u3, u1} C _inst_1 J D _inst_2))) (CategoryTheory.Functor.toPrefunctor.{max u3 u2, max u3 u2, max (max u3 u2) u1, max (max u3 u2) u1} (CategoryTheory.Sheaf.{u2, max u3 u2, u3, u1} C _inst_1 J D _inst_2) (CategoryTheory.Sheaf.instCategorySheaf.{u2, max u3 u2, u3, u1} C _inst_1 J D _inst_2) (CategoryTheory.Sheaf.{u2, max u3 u2, u3, u1} C _inst_1 J D _inst_2) (CategoryTheory.Sheaf.instCategorySheaf.{u2, max u3 u2, u3, u1} C _inst_1 J D _inst_2) (CategoryTheory.Functor.comp.{max u3 u2, max u3 u2, max u3 u2, max (max u3 u2) u1, max (succ u3) (succ u2), max (max u3 u2) u1} (CategoryTheory.Sheaf.{u2, max u3 u2, u3, u1} C _inst_1 J D _inst_2) (CategoryTheory.Sheaf.instCategorySheaf.{u2, max u3 u2, u3, u1} C _inst_1 J D _inst_2) (CategoryTheory.SheafOfTypes.{max u3 u2, u2, u3} C _inst_1 J) (CategoryTheory.SheafOfTypes.instCategorySheafOfTypes.{u2, u3, max u3 u2} C _inst_1 J) (CategoryTheory.Sheaf.{u2, max u3 u2, u3, u1} C _inst_1 J D _inst_2) (CategoryTheory.Sheaf.instCategorySheaf.{u2, max u3 u2, u3, u1} C _inst_1 J D _inst_2) (CategoryTheory.sheafForget.{u1, u2, u3} C _inst_1 J D _inst_2 _inst_5 _inst_6) (CategoryTheory.Sheaf.composeAndSheafifyFromTypes.{u1, u2, u3} C _inst_1 J D _inst_2 _inst_5 _inst_6 (fun (P : CategoryTheory.Functor.{u2, max u3 u2, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2) (X : C) (S : CategoryTheory.GrothendieckTopology.Cover.{u2, u3} C _inst_1 J X) => _inst_7 P X S) (fun (X : C) => _inst_8 X) (fun (X : C) => _inst_9 X) _inst_10 G))) X)) (CategoryTheory.Sheaf.val.{u2, max u3 u2, u3, u1} C _inst_1 J D _inst_2 (Prefunctor.obj.{succ (max u3 u2), succ (max u3 u2), max (max u3 u2) u1, max (max u3 u2) u1} (CategoryTheory.Sheaf.{u2, max u3 u2, u3, u1} C _inst_1 J D _inst_2) (CategoryTheory.CategoryStruct.toQuiver.{max u3 u2, max (max u3 u2) u1} (CategoryTheory.Sheaf.{u2, max u3 u2, u3, u1} C _inst_1 J D _inst_2) (CategoryTheory.Category.toCategoryStruct.{max u3 u2, max (max u3 u2) u1} (CategoryTheory.Sheaf.{u2, max u3 u2, u3, u1} C _inst_1 J D _inst_2) (CategoryTheory.Sheaf.instCategorySheaf.{u2, max u3 u2, u3, u1} C _inst_1 J D _inst_2))) (CategoryTheory.Sheaf.{u2, max u3 u2, u3, u1} C _inst_1 J D _inst_2) (CategoryTheory.CategoryStruct.toQuiver.{max u3 u2, max (max u3 u2) u1} (CategoryTheory.Sheaf.{u2, max u3 u2, u3, u1} C _inst_1 J D _inst_2) (CategoryTheory.Category.toCategoryStruct.{max u3 u2, max (max u3 u2) u1} (CategoryTheory.Sheaf.{u2, max u3 u2, u3, u1} C _inst_1 J D _inst_2) (CategoryTheory.Sheaf.instCategorySheaf.{u2, max u3 u2, u3, u1} C _inst_1 J D _inst_2))) (CategoryTheory.Functor.toPrefunctor.{max u3 u2, max u3 u2, max (max u3 u2) u1, max (max u3 u2) u1} (CategoryTheory.Sheaf.{u2, max u3 u2, u3, u1} C _inst_1 J D _inst_2) (CategoryTheory.Sheaf.instCategorySheaf.{u2, max u3 u2, u3, u1} C _inst_1 J D _inst_2) (CategoryTheory.Sheaf.{u2, max u3 u2, u3, u1} C _inst_1 J D _inst_2) (CategoryTheory.Sheaf.instCategorySheaf.{u2, max u3 u2, u3, u1} C _inst_1 J D _inst_2) (CategoryTheory.Functor.id.{max u3 u2, max (max u3 u2) u1} (CategoryTheory.Sheaf.{u2, max u3 u2, u3, u1} C _inst_1 J D _inst_2) (CategoryTheory.Sheaf.instCategorySheaf.{u2, max u3 u2, u3, u1} C _inst_1 J D _inst_2))) X))) (CategoryTheory.Sheaf.Hom.val.{u2, max u3 u2, u3, u1} C _inst_1 J D _inst_2 (Prefunctor.obj.{succ (max u3 u2), succ (max u3 u2), max (max u3 u2) u1, max (max u3 u2) u1} (CategoryTheory.Sheaf.{u2, max u3 u2, u3, u1} C _inst_1 J D _inst_2) (CategoryTheory.CategoryStruct.toQuiver.{max u3 u2, max (max u3 u2) u1} (CategoryTheory.Sheaf.{u2, max u3 u2, u3, u1} C _inst_1 J D _inst_2) (CategoryTheory.Category.toCategoryStruct.{max u3 u2, max (max u3 u2) u1} (CategoryTheory.Sheaf.{u2, max u3 u2, u3, u1} C _inst_1 J D _inst_2) (CategoryTheory.Sheaf.instCategorySheaf.{u2, max u3 u2, u3, u1} C _inst_1 J D _inst_2))) (CategoryTheory.Sheaf.{u2, max u3 u2, u3, u1} C _inst_1 J D _inst_2) (CategoryTheory.CategoryStruct.toQuiver.{max u3 u2, max (max u3 u2) u1} (CategoryTheory.Sheaf.{u2, max u3 u2, u3, u1} C _inst_1 J D _inst_2) (CategoryTheory.Category.toCategoryStruct.{max u3 u2, max (max u3 u2) u1} (CategoryTheory.Sheaf.{u2, max u3 u2, u3, u1} C _inst_1 J D _inst_2) (CategoryTheory.Sheaf.instCategorySheaf.{u2, max u3 u2, u3, u1} C _inst_1 J D _inst_2))) (CategoryTheory.Functor.toPrefunctor.{max u3 u2, max u3 u2, max (max u3 u2) u1, max (max u3 u2) u1} (CategoryTheory.Sheaf.{u2, max u3 u2, u3, u1} C _inst_1 J D _inst_2) (CategoryTheory.Sheaf.instCategorySheaf.{u2, max u3 u2, u3, u1} C _inst_1 J D _inst_2) (CategoryTheory.Sheaf.{u2, max u3 u2, u3, u1} C _inst_1 J D _inst_2) (CategoryTheory.Sheaf.instCategorySheaf.{u2, max u3 u2, u3, u1} C _inst_1 J D _inst_2) (CategoryTheory.Functor.comp.{max u3 u2, max u3 u2, max u3 u2, max (max u3 u2) u1, max (succ u3) (succ u2), max (max u3 u2) u1} (CategoryTheory.Sheaf.{u2, max u3 u2, u3, u1} C _inst_1 J D _inst_2) (CategoryTheory.Sheaf.instCategorySheaf.{u2, max u3 u2, u3, u1} C _inst_1 J D _inst_2) (CategoryTheory.SheafOfTypes.{max u3 u2, u2, u3} C _inst_1 J) (CategoryTheory.SheafOfTypes.instCategorySheafOfTypes.{u2, u3, max u3 u2} C _inst_1 J) (CategoryTheory.Sheaf.{u2, max u3 u2, u3, u1} C _inst_1 J D _inst_2) (CategoryTheory.Sheaf.instCategorySheaf.{u2, max u3 u2, u3, u1} C _inst_1 J D _inst_2) (CategoryTheory.sheafForget.{u1, u2, u3} C _inst_1 J D _inst_2 _inst_5 _inst_6) (CategoryTheory.Sheaf.composeAndSheafifyFromTypes.{u1, u2, u3} C _inst_1 J D _inst_2 _inst_5 _inst_6 (fun (P : CategoryTheory.Functor.{u2, max u3 u2, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2) (X : C) (S : CategoryTheory.GrothendieckTopology.Cover.{u2, u3} C _inst_1 J X) => _inst_7 P X S) (fun (X : C) => _inst_8 X) (fun (X : C) => _inst_9 X) _inst_10 G))) X) (Prefunctor.obj.{succ (max u3 u2), succ (max u3 u2), max (max u3 u2) u1, max (max u3 u2) u1} (CategoryTheory.Sheaf.{u2, max u3 u2, u3, u1} C _inst_1 J D _inst_2) (CategoryTheory.CategoryStruct.toQuiver.{max u3 u2, max (max u3 u2) u1} (CategoryTheory.Sheaf.{u2, max u3 u2, u3, u1} C _inst_1 J D _inst_2) (CategoryTheory.Category.toCategoryStruct.{max u3 u2, max (max u3 u2) u1} (CategoryTheory.Sheaf.{u2, max u3 u2, u3, u1} C _inst_1 J D _inst_2) (CategoryTheory.Sheaf.instCategorySheaf.{u2, max u3 u2, u3, u1} C _inst_1 J D _inst_2))) (CategoryTheory.Sheaf.{u2, max u3 u2, u3, u1} C _inst_1 J D _inst_2) (CategoryTheory.CategoryStruct.toQuiver.{max u3 u2, max (max u3 u2) u1} (CategoryTheory.Sheaf.{u2, max u3 u2, u3, u1} C _inst_1 J D _inst_2) (CategoryTheory.Category.toCategoryStruct.{max u3 u2, max (max u3 u2) u1} (CategoryTheory.Sheaf.{u2, max u3 u2, u3, u1} C _inst_1 J D _inst_2) (CategoryTheory.Sheaf.instCategorySheaf.{u2, max u3 u2, u3, u1} C _inst_1 J D _inst_2))) (CategoryTheory.Functor.toPrefunctor.{max u3 u2, max u3 u2, max (max u3 u2) u1, max (max u3 u2) u1} (CategoryTheory.Sheaf.{u2, max u3 u2, u3, u1} C _inst_1 J D _inst_2) (CategoryTheory.Sheaf.instCategorySheaf.{u2, max u3 u2, u3, u1} C _inst_1 J D _inst_2) (CategoryTheory.Sheaf.{u2, max u3 u2, u3, u1} C _inst_1 J D _inst_2) (CategoryTheory.Sheaf.instCategorySheaf.{u2, max u3 u2, u3, u1} C _inst_1 J D _inst_2) (CategoryTheory.Functor.id.{max u3 u2, max (max u3 u2) u1} (CategoryTheory.Sheaf.{u2, max u3 u2, u3, u1} C _inst_1 J D _inst_2) (CategoryTheory.Sheaf.instCategorySheaf.{u2, max u3 u2, u3, u1} C _inst_1 J D _inst_2))) X) (CategoryTheory.NatTrans.app.{max u3 u2, max u3 u2, max (max u3 u2) u1, max (max u3 u2) u1} (CategoryTheory.Sheaf.{u2, max u3 u2, u3, u1} C _inst_1 J D _inst_2) (CategoryTheory.Sheaf.instCategorySheaf.{u2, max u3 u2, u3, u1} C _inst_1 J D _inst_2) (CategoryTheory.Sheaf.{u2, max u3 u2, u3, u1} C _inst_1 J D _inst_2) (CategoryTheory.Sheaf.instCategorySheaf.{u2, max u3 u2, u3, u1} C _inst_1 J D _inst_2) (CategoryTheory.Functor.comp.{max u3 u2, max u3 u2, max u3 u2, max (max u3 u2) u1, max (succ u3) (succ u2), max (max u3 u2) u1} (CategoryTheory.Sheaf.{u2, max u3 u2, u3, u1} C _inst_1 J D _inst_2) (CategoryTheory.Sheaf.instCategorySheaf.{u2, max u3 u2, u3, u1} C _inst_1 J D _inst_2) (CategoryTheory.SheafOfTypes.{max u3 u2, u2, u3} C _inst_1 J) (CategoryTheory.SheafOfTypes.instCategorySheafOfTypes.{u2, u3, max u3 u2} C _inst_1 J) (CategoryTheory.Sheaf.{u2, max u3 u2, u3, u1} C _inst_1 J D _inst_2) (CategoryTheory.Sheaf.instCategorySheaf.{u2, max u3 u2, u3, u1} C _inst_1 J D _inst_2) (CategoryTheory.sheafForget.{u1, u2, u3} C _inst_1 J D _inst_2 _inst_5 _inst_6) (CategoryTheory.Sheaf.composeAndSheafifyFromTypes.{u1, u2, u3} C _inst_1 J D _inst_2 _inst_5 _inst_6 (fun (P : CategoryTheory.Functor.{u2, max u3 u2, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2) (X : C) (S : CategoryTheory.GrothendieckTopology.Cover.{u2, u3} C _inst_1 J X) => _inst_7 P X S) (fun (X : C) => _inst_8 X) (fun (X : C) => _inst_9 X) _inst_10 G)) (CategoryTheory.Functor.id.{max u3 u2, max (max u3 u2) u1} (CategoryTheory.Sheaf.{u2, max u3 u2, u3, u1} C _inst_1 J D _inst_2) (CategoryTheory.Sheaf.instCategorySheaf.{u2, max u3 u2, u3, u1} C _inst_1 J D _inst_2)) (CategoryTheory.Adjunction.counit.{max u3 u2, max u3 u2, max (succ u3) (succ u2), max (max u3 u2) u1} (CategoryTheory.SheafOfTypes.{max u3 u2, u2, u3} C _inst_1 J) (CategoryTheory.SheafOfTypes.instCategorySheafOfTypes.{u2, u3, max u3 u2} C _inst_1 J) (CategoryTheory.Sheaf.{u2, max u3 u2, u3, u1} C _inst_1 J D _inst_2) (CategoryTheory.Sheaf.instCategorySheaf.{u2, max u3 u2, u3, u1} C _inst_1 J D _inst_2) (CategoryTheory.Sheaf.composeAndSheafifyFromTypes.{u1, u2, u3} C _inst_1 J D _inst_2 _inst_5 _inst_6 (fun (P : CategoryTheory.Functor.{u2, max u3 u2, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2) (X : C) (S : CategoryTheory.GrothendieckTopology.Cover.{u2, u3} C _inst_1 J X) => _inst_7 P X S) (fun (X : C) => _inst_8 X) (fun (X : C) => _inst_9 X) _inst_10 G) (CategoryTheory.sheafForget.{u1, u2, u3} C _inst_1 J D _inst_2 _inst_5 _inst_6) (CategoryTheory.Sheaf.adjunctionToTypes.{u1, u2, u3} C _inst_1 J D _inst_2 _inst_5 _inst_6 (fun (P : CategoryTheory.Functor.{u2, max u3 u2, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2) (X : C) (S : CategoryTheory.GrothendieckTopology.Cover.{u2, u3} C _inst_1 J X) => _inst_7 P X S) (fun (X : C) => _inst_8 X) (fun (X : C) => _inst_9 X) _inst_10 G adj)) X)) (CategoryTheory.GrothendieckTopology.sheafifyLift.{u1, u2, u3} C _inst_1 J D _inst_2 (fun (P : CategoryTheory.Functor.{u2, max u3 u2, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2) (X : C) (S : CategoryTheory.GrothendieckTopology.Cover.{u2, u3} C _inst_1 J X) => _inst_7 P X S) (fun (X : C) => _inst_8 X) (CategoryTheory.Functor.comp.{u2, max u3 u2, max u3 u2, u3, max (succ u3) (succ u2), u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u3 u2} D _inst_2 (CategoryTheory.Functor.comp.{u2, max u3 u2, max u3 u2, u3, u1, max (succ u3) (succ u2)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2 Type.{max u2 u3} CategoryTheory.types.{max u3 u2} X.0 (CategoryTheory.forget.{u1, max u3 u2, max u3 u2} D _inst_2 _inst_5)) G) (Prefunctor.obj.{succ (max u3 u2), succ (max u3 u2), max (max (max (max u3 u2) u1) u2) u3, max (max (max (max u3 u2) u1) u2) u3} (CategoryTheory.Functor.{u2, max u3 u2, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2) (CategoryTheory.CategoryStruct.toQuiver.{max u3 u2, max (max (max (max u3 u2) u1) u2) u3} (CategoryTheory.Functor.{u2, max u3 u2, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2) (CategoryTheory.Category.toCategoryStruct.{max u3 u2, max (max (max (max u3 u2) u1) u2) u3} (CategoryTheory.Functor.{u2, max u3 u2, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2) (CategoryTheory.Functor.category.{u2, max u3 u2, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2))) (CategoryTheory.Functor.{u2, max u3 u2, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2) (CategoryTheory.CategoryStruct.toQuiver.{max u3 u2, max (max (max (max u3 u2) u1) u2) u3} (CategoryTheory.Functor.{u2, max u3 u2, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2) (CategoryTheory.Category.toCategoryStruct.{max u3 u2, max (max (max (max u3 u2) u1) u2) u3} (CategoryTheory.Functor.{u2, max u3 u2, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2) (CategoryTheory.Functor.category.{u2, max u3 u2, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2))) (CategoryTheory.Functor.toPrefunctor.{max u3 u2, max u3 u2, max (max (max (max u3 u2) u1) u2) u3, max (max (max (max u3 u2) u1) u2) u3} (CategoryTheory.Functor.{u2, max u3 u2, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2) (CategoryTheory.Functor.category.{u2, max u3 u2, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2) (CategoryTheory.Functor.{u2, max u3 u2, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2) (CategoryTheory.Functor.category.{u2, max u3 u2, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2) (CategoryTheory.Functor.id.{max u3 u2, max (max (max (max u3 u2) u1) u2) u3} (CategoryTheory.Functor.{u2, max u3 u2, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2) (CategoryTheory.Functor.category.{u2, max u3 u2, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2))) X.0) (CategoryTheory.CategoryStruct.comp.{max u3 u2, max (max u3 u2) u1} (CategoryTheory.Functor.{u2, max u3 u2, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2) (CategoryTheory.Category.toCategoryStruct.{max u3 u2, max (max u3 u2) u1} (CategoryTheory.Functor.{u2, max u3 u2, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2) (CategoryTheory.Functor.category.{u2, max u3 u2, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2)) (CategoryTheory.Functor.comp.{u2, max u3 u2, max u3 u2, u3, max (succ u3) (succ u2), u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u3 u2} D _inst_2 (CategoryTheory.Functor.comp.{u2, max u3 u2, max u3 u2, u3, u1, max (succ u3) (succ u2)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2 Type.{max u2 u3} CategoryTheory.types.{max u3 u2} X.0 (CategoryTheory.forget.{u1, max u3 u2, max u3 u2} D _inst_2 _inst_5)) G) (CategoryTheory.Functor.comp.{u2, max u3 u2, max u3 u2, u3, u1, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2 D _inst_2 X.0 (CategoryTheory.Functor.comp.{max u3 u2, max u3 u2, max u3 u2, u1, max (succ u3) (succ u2), u1} D _inst_2 Type.{max u2 u3} CategoryTheory.types.{max u3 u2} D _inst_2 (CategoryTheory.forget.{u1, max u3 u2, max u3 u2} D _inst_2 _inst_5) G)) (Prefunctor.obj.{succ (max u3 u2), succ (max u3 u2), max (max (max (max u3 u2) u1) u2) u3, max (max (max (max u3 u2) u1) u2) u3} (CategoryTheory.Functor.{u2, max u3 u2, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2) (CategoryTheory.CategoryStruct.toQuiver.{max u3 u2, max (max (max (max u3 u2) u1) u2) u3} (CategoryTheory.Functor.{u2, max u3 u2, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2) (CategoryTheory.Category.toCategoryStruct.{max u3 u2, max (max (max (max u3 u2) u1) u2) u3} (CategoryTheory.Functor.{u2, max u3 u2, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2) (CategoryTheory.Functor.category.{u2, max u3 u2, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2))) (CategoryTheory.Functor.{u2, max u3 u2, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2) (CategoryTheory.CategoryStruct.toQuiver.{max u3 u2, max (max (max (max u3 u2) u1) u2) u3} (CategoryTheory.Functor.{u2, max u3 u2, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2) (CategoryTheory.Category.toCategoryStruct.{max u3 u2, max (max (max (max u3 u2) u1) u2) u3} (CategoryTheory.Functor.{u2, max u3 u2, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2) (CategoryTheory.Functor.category.{u2, max u3 u2, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2))) (CategoryTheory.Functor.toPrefunctor.{max u3 u2, max u3 u2, max (max (max (max u3 u2) u1) u2) u3, max (max (max (max u3 u2) u1) u2) u3} (CategoryTheory.Functor.{u2, max u3 u2, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2) (CategoryTheory.Functor.category.{u2, max u3 u2, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2) (CategoryTheory.Functor.{u2, max u3 u2, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2) (CategoryTheory.Functor.category.{u2, max u3 u2, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2) (CategoryTheory.Functor.id.{max u3 u2, max (max (max (max u3 u2) u1) u2) u3} (CategoryTheory.Functor.{u2, max u3 u2, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2) (CategoryTheory.Functor.category.{u2, max u3 u2, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2))) X.0) (CategoryTheory.Iso.hom.{max u3 u2, max (max (max (max u3 u2) u1) u2) u3} (CategoryTheory.Functor.{u2, max u3 u2, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2) (CategoryTheory.Functor.category.{u2, max u3 u2, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2) (CategoryTheory.Functor.comp.{u2, max u3 u2, max u3 u2, u3, max (succ u3) (succ u2), u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u3 u2} D _inst_2 (CategoryTheory.Functor.comp.{u2, max u3 u2, max u3 u2, u3, u1, max (succ u3) (succ u2)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2 Type.{max u2 u3} CategoryTheory.types.{max u3 u2} X.0 (CategoryTheory.forget.{u1, max u3 u2, max u3 u2} D _inst_2 _inst_5)) G) (CategoryTheory.Functor.comp.{u2, max u3 u2, max u3 u2, u3, u1, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2 D _inst_2 X.0 (CategoryTheory.Functor.comp.{max u3 u2, max u3 u2, max u3 u2, u1, max (succ u3) (succ u2), u1} D _inst_2 Type.{max u2 u3} CategoryTheory.types.{max u3 u2} D _inst_2 (CategoryTheory.forget.{u1, max u3 u2, max u3 u2} D _inst_2 _inst_5) G)) (CategoryTheory.Functor.associator.{u3, u2, u1, max u3 u2, max (succ u3) (succ u2), max u3 u2, u1, max u3 u2} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2 Type.{max u2 u3} CategoryTheory.types.{max u3 u2} D _inst_2 X.0 (CategoryTheory.forget.{u1, max u3 u2, max u3 u2} D _inst_2 _inst_5) G)) (CategoryTheory.NatTrans.app.{max u3 u2, max u3 u2, max (max (max (max u3 u2) u1) u2) u3, max (max (max (max u3 u2) u1) u2) u3} (CategoryTheory.Functor.{u2, max u3 u2, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2) (CategoryTheory.Functor.category.{u2, max u3 u2, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2) (CategoryTheory.Functor.{u2, max u3 u2, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2) (CategoryTheory.Functor.category.{u2, max u3 u2, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2) (CategoryTheory.Functor.comp.{max u3 u2, max u3 u2, max u3 u2, max (max (max (max u3 u2) u1) u2) u3, max (max (max (succ u3) (succ u2)) u2) u3, max (max (max (max u3 u2) u1) u2) u3} (CategoryTheory.Functor.{u2, max u3 u2, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2) (CategoryTheory.Functor.category.{u2, max u3 u2, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2) (CategoryTheory.Functor.{u2, max u3 u2, u3, max (succ u3) (succ u2)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u3 u2}) (CategoryTheory.Functor.category.{u2, max u3 u2, u3, max (succ u3) (succ u2)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u3 u2}) (CategoryTheory.Functor.{u2, max u3 u2, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2) (CategoryTheory.Functor.category.{u2, max u3 u2, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2) (Prefunctor.obj.{max (succ u1) (succ (max u3 u2)), max (max (max (succ u3) (succ u1)) (succ u2)) (succ (max u3 u2)), max (max (max (succ u3) (succ u2)) u1) u3 u2, max (max (max (max u3 (succ u3) (succ u2)) u1) u2) u3 u2} (CategoryTheory.Functor.{max u3 u2, max u3 u2, u1, max (succ u3) (succ u2)} D _inst_2 Type.{max u2 u3} CategoryTheory.types.{max u3 u2}) (CategoryTheory.CategoryStruct.toQuiver.{max u1 u3 u2, max (max (max (succ u3) (succ u2)) u1) u3 u2} (CategoryTheory.Functor.{max u3 u2, max u3 u2, u1, max (succ u3) (succ u2)} D _inst_2 Type.{max u2 u3} CategoryTheory.types.{max u3 u2}) (CategoryTheory.Category.toCategoryStruct.{max u1 u3 u2, max (max (max (succ u3) (succ u2)) u1) u3 u2} (CategoryTheory.Functor.{max u3 u2, max u3 u2, u1, max (succ u3) (succ u2)} D _inst_2 Type.{max u2 u3} CategoryTheory.types.{max u3 u2}) (CategoryTheory.Functor.category.{max u3 u2, max u3 u2, u1, max (succ u3) (succ u2)} D _inst_2 Type.{max u2 u3} CategoryTheory.types.{max u3 u2}))) (CategoryTheory.Functor.{max u3 u2, max u3 u2, max (max (max u1 u3) u3 u2) u2, max (max (max (max (succ u3) (succ u2)) u3) u3 u2) u2} (CategoryTheory.Functor.{u2, max u3 u2, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2) (CategoryTheory.Functor.category.{u2, max u3 u2, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2) (CategoryTheory.Functor.{u2, max u3 u2, u3, max (succ u3) (succ u2)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u3 u2}) (CategoryTheory.Functor.category.{u2, max u3 u2, u3, max (succ u3) (succ u2)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u3 u2})) (CategoryTheory.CategoryStruct.toQuiver.{max (max (max u3 u1) u2) u3 u2, max (max (max (max u3 (succ u3) (succ u2)) u1) u2) u3 u2} (CategoryTheory.Functor.{max u3 u2, max u3 u2, max (max (max u1 u3) u3 u2) u2, max (max (max (max (succ u3) (succ u2)) u3) u3 u2) u2} (CategoryTheory.Functor.{u2, max u3 u2, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2) (CategoryTheory.Functor.category.{u2, max u3 u2, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2) (CategoryTheory.Functor.{u2, max u3 u2, u3, max (succ u3) (succ u2)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u3 u2}) (CategoryTheory.Functor.category.{u2, max u3 u2, u3, max (succ u3) (succ u2)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u3 u2})) (CategoryTheory.Category.toCategoryStruct.{max (max (max u3 u1) u2) u3 u2, max (max (max (max u3 (succ u3) (succ u2)) u1) u2) u3 u2} (CategoryTheory.Functor.{max u3 u2, max u3 u2, max (max (max u1 u3) u3 u2) u2, max (max (max (max (succ u3) (succ u2)) u3) u3 u2) u2} (CategoryTheory.Functor.{u2, max u3 u2, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2) (CategoryTheory.Functor.category.{u2, max u3 u2, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2) (CategoryTheory.Functor.{u2, max u3 u2, u3, max (succ u3) (succ u2)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u3 u2}) (CategoryTheory.Functor.category.{u2, max u3 u2, u3, max (succ u3) (succ u2)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u3 u2})) (CategoryTheory.Functor.category.{max u3 u2, max u3 u2, max (max (max u3 u1) u2) u3 u2, max (max (max u3 (succ u3) (succ u2)) u2) u3 u2} (CategoryTheory.Functor.{u2, max u3 u2, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2) (CategoryTheory.Functor.category.{u2, max u3 u2, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2) (CategoryTheory.Functor.{u2, max u3 u2, u3, max (succ u3) (succ u2)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u3 u2}) (CategoryTheory.Functor.category.{u2, max u3 u2, u3, max (succ u3) (succ u2)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u3 u2})))) (CategoryTheory.Functor.toPrefunctor.{max u1 u3 u2, max (max (max u3 u1) u2) u3 u2, max (max (max (succ u3) (succ u2)) u1) u3 u2, max (max (max (max u3 (succ u3) (succ u2)) u1) u2) u3 u2} (CategoryTheory.Functor.{max u3 u2, max u3 u2, u1, max (succ u3) (succ u2)} D _inst_2 Type.{max u2 u3} CategoryTheory.types.{max u3 u2}) (CategoryTheory.Functor.category.{max u3 u2, max u3 u2, u1, max (succ u3) (succ u2)} D _inst_2 Type.{max u2 u3} CategoryTheory.types.{max u3 u2}) (CategoryTheory.Functor.{max u3 u2, max u3 u2, max (max (max u1 u3) u3 u2) u2, max (max (max (max (succ u3) (succ u2)) u3) u3 u2) u2} (CategoryTheory.Functor.{u2, max u3 u2, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2) (CategoryTheory.Functor.category.{u2, max u3 u2, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2) (CategoryTheory.Functor.{u2, max u3 u2, u3, max (succ u3) (succ u2)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u3 u2}) (CategoryTheory.Functor.category.{u2, max u3 u2, u3, max (succ u3) (succ u2)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u3 u2})) (CategoryTheory.Functor.category.{max u3 u2, max u3 u2, max (max (max u3 u1) u2) u3 u2, max (max (max u3 (succ u3) (succ u2)) u2) u3 u2} (CategoryTheory.Functor.{u2, max u3 u2, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2) (CategoryTheory.Functor.category.{u2, max u3 u2, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2) (CategoryTheory.Functor.{u2, max u3 u2, u3, max (succ u3) (succ u2)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u3 u2}) (CategoryTheory.Functor.category.{u2, max u3 u2, u3, max (succ u3) (succ u2)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u3 u2})) (CategoryTheory.whiskeringRight.{u3, u2, u1, max u3 u2, max (succ u3) (succ u2), max u3 u2} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2 Type.{max u2 u3} CategoryTheory.types.{max u3 u2})) (CategoryTheory.forget.{u1, max u3 u2, max u3 u2} D _inst_2 _inst_5)) (Prefunctor.obj.{max (succ (max (succ u3) (succ u2))) (succ (max u3 u2)), max (max (max (succ u3) (succ (max (succ u3) (succ u2)))) (succ u2)) (succ (max u3 u2)), max (max (max (succ u3) (succ u2)) u1) u3 u2, max (max (max (max u3 (succ u3) (succ u2)) u1) u2) u3 u2} (CategoryTheory.Functor.{max u3 u2, max u3 u2, max (succ u3) (succ u2), u1} Type.{max u2 u3} CategoryTheory.types.{max u3 u2} D _inst_2) (CategoryTheory.CategoryStruct.toQuiver.{max (max (succ u3) (succ u2)) u3 u2, max (max (max (succ u3) (succ u2)) u1) u3 u2} (CategoryTheory.Functor.{max u3 u2, max u3 u2, max (succ u3) (succ u2), u1} Type.{max u2 u3} CategoryTheory.types.{max u3 u2} D _inst_2) (CategoryTheory.Category.toCategoryStruct.{max (max (succ u3) (succ u2)) u3 u2, max (max (max (succ u3) (succ u2)) u1) u3 u2} (CategoryTheory.Functor.{max u3 u2, max u3 u2, max (succ u3) (succ u2), u1} Type.{max u2 u3} CategoryTheory.types.{max u3 u2} D _inst_2) (CategoryTheory.Functor.category.{max u3 u2, max u3 u2, max (succ u3) (succ u2), u1} Type.{max u2 u3} CategoryTheory.types.{max u3 u2} D _inst_2))) (CategoryTheory.Functor.{max u3 u2, max u3 u2, max (max (max (max (succ u3) (succ u2)) u3) u3 u2) u2, max (max (max u1 u3) u3 u2) u2} (CategoryTheory.Functor.{u2, max u3 u2, u3, max (succ u3) (succ u2)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u3 u2}) (CategoryTheory.Functor.category.{u2, max u3 u2, u3, max (succ u3) (succ u2)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u3 u2}) (CategoryTheory.Functor.{u2, max u3 u2, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2) (CategoryTheory.Functor.category.{u2, max u3 u2, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2)) (CategoryTheory.CategoryStruct.toQuiver.{max (max (max u3 (succ u3) (succ u2)) u2) u3 u2, max (max (max (max u3 (succ u3) (succ u2)) u1) u2) u3 u2} (CategoryTheory.Functor.{max u3 u2, max u3 u2, max (max (max (max (succ u3) (succ u2)) u3) u3 u2) u2, max (max (max u1 u3) u3 u2) u2} (CategoryTheory.Functor.{u2, max u3 u2, u3, max (succ u3) (succ u2)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u3 u2}) (CategoryTheory.Functor.category.{u2, max u3 u2, u3, max (succ u3) (succ u2)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u3 u2}) (CategoryTheory.Functor.{u2, max u3 u2, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2) (CategoryTheory.Functor.category.{u2, max u3 u2, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2)) (CategoryTheory.Category.toCategoryStruct.{max (max (max u3 (succ u3) (succ u2)) u2) u3 u2, max (max (max (max u3 (succ u3) (succ u2)) u1) u2) u3 u2} (CategoryTheory.Functor.{max u3 u2, max u3 u2, max (max (max (max (succ u3) (succ u2)) u3) u3 u2) u2, max (max (max u1 u3) u3 u2) u2} (CategoryTheory.Functor.{u2, max u3 u2, u3, max (succ u3) (succ u2)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u3 u2}) (CategoryTheory.Functor.category.{u2, max u3 u2, u3, max (succ u3) (succ u2)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u3 u2}) (CategoryTheory.Functor.{u2, max u3 u2, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2) (CategoryTheory.Functor.category.{u2, max u3 u2, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2)) (CategoryTheory.Functor.category.{max u3 u2, max u3 u2, max (max (max u3 (succ u3) (succ u2)) u2) u3 u2, max (max (max u3 u1) u2) u3 u2} (CategoryTheory.Functor.{u2, max u3 u2, u3, max (succ u3) (succ u2)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u3 u2}) (CategoryTheory.Functor.category.{u2, max u3 u2, u3, max (succ u3) (succ u2)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u3 u2}) (CategoryTheory.Functor.{u2, max u3 u2, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2) (CategoryTheory.Functor.category.{u2, max u3 u2, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2)))) (CategoryTheory.Functor.toPrefunctor.{max (max (succ u3) (succ u2)) u3 u2, max (max (max u3 (succ u3) (succ u2)) u2) u3 u2, max (max (max (succ u3) (succ u2)) u1) u3 u2, max (max (max (max u3 (succ u3) (succ u2)) u1) u2) u3 u2} (CategoryTheory.Functor.{max u3 u2, max u3 u2, max (succ u3) (succ u2), u1} Type.{max u2 u3} CategoryTheory.types.{max u3 u2} D _inst_2) (CategoryTheory.Functor.category.{max u3 u2, max u3 u2, max (succ u3) (succ u2), u1} Type.{max u2 u3} CategoryTheory.types.{max u3 u2} D _inst_2) (CategoryTheory.Functor.{max u3 u2, max u3 u2, max (max (max (max (succ u3) (succ u2)) u3) u3 u2) u2, max (max (max u1 u3) u3 u2) u2} (CategoryTheory.Functor.{u2, max u3 u2, u3, max (succ u3) (succ u2)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u3 u2}) (CategoryTheory.Functor.category.{u2, max u3 u2, u3, max (succ u3) (succ u2)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u3 u2}) (CategoryTheory.Functor.{u2, max u3 u2, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2) (CategoryTheory.Functor.category.{u2, max u3 u2, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2)) (CategoryTheory.Functor.category.{max u3 u2, max u3 u2, max (max (max u3 (succ u3) (succ u2)) u2) u3 u2, max (max (max u3 u1) u2) u3 u2} (CategoryTheory.Functor.{u2, max u3 u2, u3, max (succ u3) (succ u2)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u3 u2}) (CategoryTheory.Functor.category.{u2, max u3 u2, u3, max (succ u3) (succ u2)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u3 u2}) (CategoryTheory.Functor.{u2, max u3 u2, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2) (CategoryTheory.Functor.category.{u2, max u3 u2, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2)) (CategoryTheory.whiskeringRight.{u3, u2, max (succ u3) (succ u2), max u3 u2, u1, max u3 u2} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u3 u2} D _inst_2)) G)) (CategoryTheory.Functor.id.{max u3 u2, max (max (max (max u3 u2) u1) u2) u3} (CategoryTheory.Functor.{u2, max u3 u2, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2) (CategoryTheory.Functor.category.{u2, max u3 u2, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2)) (CategoryTheory.Adjunction.counit.{max u3 u2, max u3 u2, max (max (max (succ u3) (succ u2)) u2) u3, max (max (max (max u3 u2) u1) u2) u3} (CategoryTheory.Functor.{u2, max u3 u2, u3, max (succ u3) (succ u2)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u3 u2}) (CategoryTheory.Functor.category.{u2, max u3 u2, u3, max (succ u3) (succ u2)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u3 u2}) (CategoryTheory.Functor.{u2, max u3 u2, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2) (CategoryTheory.Functor.category.{u2, max u3 u2, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2) (Prefunctor.obj.{max (succ (max (succ u3) (succ u2))) (succ (max u3 u2)), max (max (max (succ u3) (succ (max (succ u3) (succ u2)))) (succ u2)) (succ (max u3 u2)), max (max (max (succ u3) (succ u2)) u1) u3 u2, max (max (max (max u3 (succ u3) (succ u2)) u1) u2) u3 u2} (CategoryTheory.Functor.{max u3 u2, max u3 u2, max (succ u3) (succ u2), u1} Type.{max u2 u3} CategoryTheory.types.{max u3 u2} D _inst_2) (CategoryTheory.CategoryStruct.toQuiver.{max (max (succ u3) (succ u2)) u3 u2, max (max (max (succ u3) (succ u2)) u1) u3 u2} (CategoryTheory.Functor.{max u3 u2, max u3 u2, max (succ u3) (succ u2), u1} Type.{max u2 u3} CategoryTheory.types.{max u3 u2} D _inst_2) (CategoryTheory.Category.toCategoryStruct.{max (max (succ u3) (succ u2)) u3 u2, max (max (max (succ u3) (succ u2)) u1) u3 u2} (CategoryTheory.Functor.{max u3 u2, max u3 u2, max (succ u3) (succ u2), u1} Type.{max u2 u3} CategoryTheory.types.{max u3 u2} D _inst_2) (CategoryTheory.Functor.category.{max u3 u2, max u3 u2, max (succ u3) (succ u2), u1} Type.{max u2 u3} CategoryTheory.types.{max u3 u2} D _inst_2))) (CategoryTheory.Functor.{max u3 u2, max u3 u2, max (max (max (max (succ u3) (succ u2)) u3) u3 u2) u2, max (max (max u1 u3) u3 u2) u2} (CategoryTheory.Functor.{u2, max u3 u2, u3, max (succ u3) (succ u2)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u3 u2}) (CategoryTheory.Functor.category.{u2, max u3 u2, u3, max (succ u3) (succ u2)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u3 u2}) (CategoryTheory.Functor.{u2, max u3 u2, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2) (CategoryTheory.Functor.category.{u2, max u3 u2, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2)) (CategoryTheory.CategoryStruct.toQuiver.{max (max (max u3 (succ u3) (succ u2)) u2) u3 u2, max (max (max (max u3 (succ u3) (succ u2)) u1) u2) u3 u2} (CategoryTheory.Functor.{max u3 u2, max u3 u2, max (max (max (max (succ u3) (succ u2)) u3) u3 u2) u2, max (max (max u1 u3) u3 u2) u2} (CategoryTheory.Functor.{u2, max u3 u2, u3, max (succ u3) (succ u2)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u3 u2}) (CategoryTheory.Functor.category.{u2, max u3 u2, u3, max (succ u3) (succ u2)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u3 u2}) (CategoryTheory.Functor.{u2, max u3 u2, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2) (CategoryTheory.Functor.category.{u2, max u3 u2, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2)) (CategoryTheory.Category.toCategoryStruct.{max (max (max u3 (succ u3) (succ u2)) u2) u3 u2, max (max (max (max u3 (succ u3) (succ u2)) u1) u2) u3 u2} (CategoryTheory.Functor.{max u3 u2, max u3 u2, max (max (max (max (succ u3) (succ u2)) u3) u3 u2) u2, max (max (max u1 u3) u3 u2) u2} (CategoryTheory.Functor.{u2, max u3 u2, u3, max (succ u3) (succ u2)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u3 u2}) (CategoryTheory.Functor.category.{u2, max u3 u2, u3, max (succ u3) (succ u2)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u3 u2}) (CategoryTheory.Functor.{u2, max u3 u2, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2) (CategoryTheory.Functor.category.{u2, max u3 u2, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2)) (CategoryTheory.Functor.category.{max u3 u2, max u3 u2, max (max (max u3 (succ u3) (succ u2)) u2) u3 u2, max (max (max u3 u1) u2) u3 u2} (CategoryTheory.Functor.{u2, max u3 u2, u3, max (succ u3) (succ u2)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u3 u2}) (CategoryTheory.Functor.category.{u2, max u3 u2, u3, max (succ u3) (succ u2)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u3 u2}) (CategoryTheory.Functor.{u2, max u3 u2, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2) (CategoryTheory.Functor.category.{u2, max u3 u2, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2)))) (CategoryTheory.Functor.toPrefunctor.{max (max (succ u3) (succ u2)) u3 u2, max (max (max u3 (succ u3) (succ u2)) u2) u3 u2, max (max (max (succ u3) (succ u2)) u1) u3 u2, max (max (max (max u3 (succ u3) (succ u2)) u1) u2) u3 u2} (CategoryTheory.Functor.{max u3 u2, max u3 u2, max (succ u3) (succ u2), u1} Type.{max u2 u3} CategoryTheory.types.{max u3 u2} D _inst_2) (CategoryTheory.Functor.category.{max u3 u2, max u3 u2, max (succ u3) (succ u2), u1} Type.{max u2 u3} CategoryTheory.types.{max u3 u2} D _inst_2) (CategoryTheory.Functor.{max u3 u2, max u3 u2, max (max (max (max (succ u3) (succ u2)) u3) u3 u2) u2, max (max (max u1 u3) u3 u2) u2} (CategoryTheory.Functor.{u2, max u3 u2, u3, max (succ u3) (succ u2)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u3 u2}) (CategoryTheory.Functor.category.{u2, max u3 u2, u3, max (succ u3) (succ u2)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u3 u2}) (CategoryTheory.Functor.{u2, max u3 u2, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2) (CategoryTheory.Functor.category.{u2, max u3 u2, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2)) (CategoryTheory.Functor.category.{max u3 u2, max u3 u2, max (max (max u3 (succ u3) (succ u2)) u2) u3 u2, max (max (max u3 u1) u2) u3 u2} (CategoryTheory.Functor.{u2, max u3 u2, u3, max (succ u3) (succ u2)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u3 u2}) (CategoryTheory.Functor.category.{u2, max u3 u2, u3, max (succ u3) (succ u2)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u3 u2}) (CategoryTheory.Functor.{u2, max u3 u2, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2) (CategoryTheory.Functor.category.{u2, max u3 u2, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2)) (CategoryTheory.whiskeringRight.{u3, u2, max (succ u3) (succ u2), max u3 u2, u1, max u3 u2} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u3 u2} D _inst_2)) G) (Prefunctor.obj.{max (succ u1) (succ (max u3 u2)), max (max (max (succ u3) (succ u1)) (succ u2)) (succ (max u3 u2)), max (max (max (succ u3) (succ u2)) u1) u3 u2, max (max (max (max u3 (succ u3) (succ u2)) u1) u2) u3 u2} (CategoryTheory.Functor.{max u3 u2, max u3 u2, u1, max (succ u3) (succ u2)} D _inst_2 Type.{max u2 u3} CategoryTheory.types.{max u3 u2}) (CategoryTheory.CategoryStruct.toQuiver.{max u1 u3 u2, max (max (max (succ u3) (succ u2)) u1) u3 u2} (CategoryTheory.Functor.{max u3 u2, max u3 u2, u1, max (succ u3) (succ u2)} D _inst_2 Type.{max u2 u3} CategoryTheory.types.{max u3 u2}) (CategoryTheory.Category.toCategoryStruct.{max u1 u3 u2, max (max (max (succ u3) (succ u2)) u1) u3 u2} (CategoryTheory.Functor.{max u3 u2, max u3 u2, u1, max (succ u3) (succ u2)} D _inst_2 Type.{max u2 u3} CategoryTheory.types.{max u3 u2}) (CategoryTheory.Functor.category.{max u3 u2, max u3 u2, u1, max (succ u3) (succ u2)} D _inst_2 Type.{max u2 u3} CategoryTheory.types.{max u3 u2}))) (CategoryTheory.Functor.{max u3 u2, max u3 u2, max (max (max u1 u3) u3 u2) u2, max (max (max (max (succ u3) (succ u2)) u3) u3 u2) u2} (CategoryTheory.Functor.{u2, max u3 u2, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2) (CategoryTheory.Functor.category.{u2, max u3 u2, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2) (CategoryTheory.Functor.{u2, max u3 u2, u3, max (succ u3) (succ u2)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u3 u2}) (CategoryTheory.Functor.category.{u2, max u3 u2, u3, max (succ u3) (succ u2)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u3 u2})) (CategoryTheory.CategoryStruct.toQuiver.{max (max (max u3 u1) u2) u3 u2, max (max (max (max u3 (succ u3) (succ u2)) u1) u2) u3 u2} (CategoryTheory.Functor.{max u3 u2, max u3 u2, max (max (max u1 u3) u3 u2) u2, max (max (max (max (succ u3) (succ u2)) u3) u3 u2) u2} (CategoryTheory.Functor.{u2, max u3 u2, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2) (CategoryTheory.Functor.category.{u2, max u3 u2, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2) (CategoryTheory.Functor.{u2, max u3 u2, u3, max (succ u3) (succ u2)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u3 u2}) (CategoryTheory.Functor.category.{u2, max u3 u2, u3, max (succ u3) (succ u2)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u3 u2})) (CategoryTheory.Category.toCategoryStruct.{max (max (max u3 u1) u2) u3 u2, max (max (max (max u3 (succ u3) (succ u2)) u1) u2) u3 u2} (CategoryTheory.Functor.{max u3 u2, max u3 u2, max (max (max u1 u3) u3 u2) u2, max (max (max (max (succ u3) (succ u2)) u3) u3 u2) u2} (CategoryTheory.Functor.{u2, max u3 u2, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2) (CategoryTheory.Functor.category.{u2, max u3 u2, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2) (CategoryTheory.Functor.{u2, max u3 u2, u3, max (succ u3) (succ u2)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u3 u2}) (CategoryTheory.Functor.category.{u2, max u3 u2, u3, max (succ u3) (succ u2)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u3 u2})) (CategoryTheory.Functor.category.{max u3 u2, max u3 u2, max (max (max u3 u1) u2) u3 u2, max (max (max u3 (succ u3) (succ u2)) u2) u3 u2} (CategoryTheory.Functor.{u2, max u3 u2, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2) (CategoryTheory.Functor.category.{u2, max u3 u2, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2) (CategoryTheory.Functor.{u2, max u3 u2, u3, max (succ u3) (succ u2)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u3 u2}) (CategoryTheory.Functor.category.{u2, max u3 u2, u3, max (succ u3) (succ u2)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u3 u2})))) (CategoryTheory.Functor.toPrefunctor.{max u1 u3 u2, max (max (max u3 u1) u2) u3 u2, max (max (max (succ u3) (succ u2)) u1) u3 u2, max (max (max (max u3 (succ u3) (succ u2)) u1) u2) u3 u2} (CategoryTheory.Functor.{max u3 u2, max u3 u2, u1, max (succ u3) (succ u2)} D _inst_2 Type.{max u2 u3} CategoryTheory.types.{max u3 u2}) (CategoryTheory.Functor.category.{max u3 u2, max u3 u2, u1, max (succ u3) (succ u2)} D _inst_2 Type.{max u2 u3} CategoryTheory.types.{max u3 u2}) (CategoryTheory.Functor.{max u3 u2, max u3 u2, max (max (max u1 u3) u3 u2) u2, max (max (max (max (succ u3) (succ u2)) u3) u3 u2) u2} (CategoryTheory.Functor.{u2, max u3 u2, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2) (CategoryTheory.Functor.category.{u2, max u3 u2, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2) (CategoryTheory.Functor.{u2, max u3 u2, u3, max (succ u3) (succ u2)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u3 u2}) (CategoryTheory.Functor.category.{u2, max u3 u2, u3, max (succ u3) (succ u2)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u3 u2})) (CategoryTheory.Functor.category.{max u3 u2, max u3 u2, max (max (max u3 u1) u2) u3 u2, max (max (max u3 (succ u3) (succ u2)) u2) u3 u2} (CategoryTheory.Functor.{u2, max u3 u2, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2) (CategoryTheory.Functor.category.{u2, max u3 u2, u3, u1} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2) (CategoryTheory.Functor.{u2, max u3 u2, u3, max (succ u3) (succ u2)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u3 u2}) (CategoryTheory.Functor.category.{u2, max u3 u2, u3, max (succ u3) (succ u2)} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) Type.{max u2 u3} CategoryTheory.types.{max u3 u2})) (CategoryTheory.whiskeringRight.{u3, u2, u1, max u3 u2, max (succ u3) (succ u2), max u3 u2} (Opposite.{succ u3} C) (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) D _inst_2 Type.{max u2 u3} CategoryTheory.types.{max u3 u2})) (CategoryTheory.forget.{u1, max u3 u2, max u3 u2} D _inst_2 _inst_5)) (CategoryTheory.Adjunction.whiskerRight.{u3, max (succ u3) (succ u2), u1, u2, max u3 u2, max u3 u2} (Opposite.{succ u3} C) Type.{max u2 u3} D (CategoryTheory.Category.opposite.{u2, u3} C _inst_1) CategoryTheory.types.{max u3 u2} _inst_2 G (CategoryTheory.forget.{u1, max u3 u2, max u3 u2} D _inst_2 _inst_5) adj)) X.0)) (CategoryTheory.Sheaf.cond.{u2, max u3 u2, u3, u1} C _inst_1 J D _inst_2 X))
+Case conversion may be inaccurate. Consider using '#align category_theory.Sheaf.adjunction_to_types_counit_app_val CategoryTheory.Sheaf.adjunctionToTypes_counit_app_valₓ'. -/
 @[simp]
 theorem adjunctionToTypes_counit_app_val {G : Type max v u ⥤ D} (adj : G ⊣ forget D)
     (X : Sheaf J D) :

Changes in mathlib4

mathlib3
mathlib4
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
@@ -24,13 +24,9 @@ open GrothendieckTopology CategoryTheory Limits Opposite
 universe v u
 
 variable {C : Type u} [Category.{v} C] (J : GrothendieckTopology C)
-
 variable {D : Type*} [Category D]
-
 variable {E : Type*} [Category E]
-
 variable {F : D ⥤ E} {G : E ⥤ D}
-
 variable [HasWeakSheafify J D] [HasSheafCompose J F]
 
 /-- The forgetful functor from `Sheaf J D` to sheaves of types, for a concrete category `D`
chore: reduce imports (#9830)

This uses the improved shake script from #9772 to reduce imports across mathlib. The corresponding noshake.json file has been added to #9772.

Co-authored-by: Mario Carneiro <di.gama@gmail.com>

Diff
@@ -4,8 +4,8 @@ Released under Apache 2.0 license as described in the file LICENSE.
 Authors: Adam Topaz
 -/
 import Mathlib.CategoryTheory.Adjunction.Whiskering
-import Mathlib.CategoryTheory.Sites.ConcreteSheafification
 import Mathlib.CategoryTheory.Sites.Whiskering
+import Mathlib.CategoryTheory.Sites.Sheafification
 
 #align_import category_theory.sites.adjunction from "leanprover-community/mathlib"@"70fd9563a21e7b963887c9360bd29b2393e6225a"
 
refactor(CategoryTheory/Sites): sheafification as an abstract left adjoint (#9012)

We define a typeclass HasSheafify which says that presheaves on a site with values in some category can be sheafified, i.e. that the inclusion functor from sheaves to presheaves has a left exact left adjoint. We redefine presheafToSheaf as an arbitrary choice of such a left adjoint.

Diff
@@ -21,32 +21,26 @@ namespace CategoryTheory
 
 open GrothendieckTopology CategoryTheory Limits Opposite
 
-universe w₁ w₂ v u
+universe v u
 
 variable {C : Type u} [Category.{v} C] (J : GrothendieckTopology C)
 
-variable {D : Type w₁} [Category.{max v u} D]
+variable {D : Type*} [Category D]
 
-variable {E : Type w₂} [Category.{max v u} E]
+variable {E : Type*} [Category E]
 
 variable {F : D ⥤ E} {G : E ⥤ D}
 
-variable [∀ (X : C) (S : J.Cover X) (P : Cᵒᵖ ⥤ D), PreservesLimit (S.index P).multicospan F]
-
-variable [ConcreteCategory.{max v u} D] [PreservesLimits (forget D)]
+variable [HasWeakSheafify J D] [HasSheafCompose J F]
 
 /-- The forgetful functor from `Sheaf J D` to sheaves of types, for a concrete category `D`
 whose forgetful functor preserves the correct limits. -/
-abbrev sheafForget : Sheaf J D ⥤ SheafOfTypes J :=
+abbrev sheafForget [ConcreteCategory D] [HasSheafCompose J (forget D)] :
+    Sheaf J D ⥤ SheafOfTypes J :=
   sheafCompose J (forget D) ⋙ (sheafEquivSheafOfTypes J).functor
 set_option linter.uppercaseLean3 false in
 #align category_theory.Sheaf_forget CategoryTheory.sheafForget
 
--- We need to sheafify...
-variable [∀ (P : Cᵒᵖ ⥤ D) (X : C) (S : J.Cover X), HasMultiequalizer (S.index P)]
-  [∀ X : C, HasColimitsOfShape (J.Cover X)ᵒᵖ D]
-  [∀ X : C, PreservesColimitsOfShape (J.Cover X)ᵒᵖ (forget D)] [ReflectsIsomorphisms (forget D)]
-
 namespace Sheaf
 
 noncomputable section
@@ -63,21 +57,21 @@ set_option linter.uppercaseLean3 false in
 def composeEquiv (adj : G ⊣ F) (X : Sheaf J E) (Y : Sheaf J D) :
     ((composeAndSheafify J G).obj X ⟶ Y) ≃ (X ⟶ (sheafCompose J F).obj Y) :=
   let A := adj.whiskerRight Cᵒᵖ
-  { toFun := fun η => ⟨A.homEquiv _ _ (J.toSheafify _ ≫ η.val)⟩
-    invFun := fun γ => ⟨J.sheafifyLift ((A.homEquiv _ _).symm ((sheafToPresheaf _ _).map γ)) Y.2⟩
+  { toFun := fun η => ⟨A.homEquiv _ _ (toSheafify J _ ≫ η.val)⟩
+    invFun := fun γ => ⟨sheafifyLift J ((A.homEquiv _ _).symm ((sheafToPresheaf _ _).map γ)) Y.2⟩
     left_inv := by
       intro η
       ext1
       dsimp
       symm
-      apply J.sheafifyLift_unique
+      apply sheafifyLift_unique
       rw [Equiv.symm_apply_apply]
     right_inv := by
       intro γ
       ext1
       dsimp
       -- This used to be `rw`, but we need `erw` after leanprover/lean4#2644
-      erw [J.toSheafify_sheafifyLift, Equiv.apply_symm_apply] }
+      erw [toSheafify_sheafifyLift, Equiv.apply_symm_apply] }
 set_option linter.uppercaseLean3 false in
 #align category_theory.Sheaf.compose_equiv CategoryTheory.Sheaf.composeEquiv
 
@@ -113,6 +107,8 @@ instance [IsRightAdjoint F] : IsRightAdjoint (sheafCompose J F) :=
 
 section ForgetToType
 
+variable [ConcreteCategory D] [HasSheafCompose J (forget D)]
+
 /-- This is the functor sending a sheaf of types `X` to the sheafification of `X ⋙ G`. -/
 abbrev composeAndSheafifyFromTypes (G : Type max v u ⥤ D) : SheafOfTypes J ⥤ Sheaf J D :=
   (sheafEquivSheafOfTypes J).inverse ⋙ composeAndSheafify _ G
@@ -132,7 +128,7 @@ theorem adjunctionToTypes_unit_app_val {G : Type max v u ⥤ D} (adj : G ⊣ for
     (Y : SheafOfTypes J) :
     ((adjunctionToTypes J adj).unit.app Y).val =
       (adj.whiskerRight _).unit.app ((sheafOfTypesToPresheaf J).obj Y) ≫
-        whiskerRight (J.toSheafify _) (forget D) := by
+        whiskerRight (toSheafify J _) (forget D) := by
   dsimp [adjunctionToTypes, Adjunction.comp]
   simp
   rfl
@@ -143,12 +139,12 @@ set_option linter.uppercaseLean3 false in
 theorem adjunctionToTypes_counit_app_val {G : Type max v u ⥤ D} (adj : G ⊣ forget D)
     (X : Sheaf J D) :
     ((adjunctionToTypes J adj).counit.app X).val =
-      J.sheafifyLift ((Functor.associator _ _ _).hom ≫ (adj.whiskerRight _).counit.app _) X.2 := by
-  apply J.sheafifyLift_unique
+      sheafifyLift J ((Functor.associator _ _ _).hom ≫ (adj.whiskerRight _).counit.app _) X.2 := by
+  apply sheafifyLift_unique
   dsimp only [adjunctionToTypes, Adjunction.comp, NatTrans.comp_app,
     instCategorySheaf_comp_val, instCategorySheaf_id_val]
   rw [adjunction_counit_app_val]
-  erw [Category.id_comp, J.sheafifyMap_sheafifyLift, J.toSheafify_sheafifyLift]
+  erw [Category.id_comp, sheafifyMap_sheafifyLift, toSheafify_sheafifyLift]
   ext
   dsimp [sheafEquivSheafOfTypes, Equivalence.symm, Equivalence.toAdjunction,
     NatIso.ofComponents, Adjunction.whiskerRight, Adjunction.mkOfUnitCounit]
refactor(CategoryTheory/Sites): rename Sheafification file (#9042)

In preparation for #9012, to make the diff nicer.

Diff
@@ -4,7 +4,7 @@ Released under Apache 2.0 license as described in the file LICENSE.
 Authors: Adam Topaz
 -/
 import Mathlib.CategoryTheory.Adjunction.Whiskering
-import Mathlib.CategoryTheory.Sites.Sheafification
+import Mathlib.CategoryTheory.Sites.ConcreteSheafification
 import Mathlib.CategoryTheory.Sites.Whiskering
 
 #align_import category_theory.sites.adjunction from "leanprover-community/mathlib"@"70fd9563a21e7b963887c9360bd29b2393e6225a"
Revert "chore: revert #7703 (#7710)"

This reverts commit f3695eb2.

Diff
@@ -76,10 +76,15 @@ def composeEquiv (adj : G ⊣ F) (X : Sheaf J E) (Y : Sheaf J D) :
       intro γ
       ext1
       dsimp
-      rw [J.toSheafify_sheafifyLift, Equiv.apply_symm_apply] }
+      -- This used to be `rw`, but we need `erw` after leanprover/lean4#2644
+      erw [J.toSheafify_sheafifyLift, Equiv.apply_symm_apply] }
 set_option linter.uppercaseLean3 false in
 #align category_theory.Sheaf.compose_equiv CategoryTheory.Sheaf.composeEquiv
 
+-- These lemmas have always been bad (#7657), but leanprover/lean4#2644 made `simp` start noticing
+attribute [nolint simpNF] CategoryTheory.Sheaf.composeEquiv_apply_val
+  CategoryTheory.Sheaf.composeEquiv_symm_apply_val
+
 /-- An adjunction `adj : G ⊣ F` with `F : D ⥤ E` and `G : E ⥤ D` induces an adjunction
 between `Sheaf J D` and `Sheaf J E`, in contexts where one can sheafify `D`-valued presheaves,
 and `F` preserves the correct limits. -/
chore: revert #7703 (#7710)

This reverts commit 26eb2b0a.

Diff
@@ -76,15 +76,10 @@ def composeEquiv (adj : G ⊣ F) (X : Sheaf J E) (Y : Sheaf J D) :
       intro γ
       ext1
       dsimp
-      -- This used to be `rw`, but we need `erw` after leanprover/lean4#2644
-      erw [J.toSheafify_sheafifyLift, Equiv.apply_symm_apply] }
+      rw [J.toSheafify_sheafifyLift, Equiv.apply_symm_apply] }
 set_option linter.uppercaseLean3 false in
 #align category_theory.Sheaf.compose_equiv CategoryTheory.Sheaf.composeEquiv
 
--- These lemmas have always been bad (#7657), but leanprover/lean4#2644 made `simp` start noticing
-attribute [nolint simpNF] CategoryTheory.Sheaf.composeEquiv_apply_val
-  CategoryTheory.Sheaf.composeEquiv_symm_apply_val
-
 /-- An adjunction `adj : G ⊣ F` with `F : D ⥤ E` and `G : E ⥤ D` induces an adjunction
 between `Sheaf J D` and `Sheaf J E`, in contexts where one can sheafify `D`-valued presheaves,
 and `F` preserves the correct limits. -/
chore: bump toolchain to v4.2.0-rc2 (#7703)

This includes all the changes from #7606.

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

Diff
@@ -76,10 +76,15 @@ def composeEquiv (adj : G ⊣ F) (X : Sheaf J E) (Y : Sheaf J D) :
       intro γ
       ext1
       dsimp
-      rw [J.toSheafify_sheafifyLift, Equiv.apply_symm_apply] }
+      -- This used to be `rw`, but we need `erw` after leanprover/lean4#2644
+      erw [J.toSheafify_sheafifyLift, Equiv.apply_symm_apply] }
 set_option linter.uppercaseLean3 false in
 #align category_theory.Sheaf.compose_equiv CategoryTheory.Sheaf.composeEquiv
 
+-- These lemmas have always been bad (#7657), but leanprover/lean4#2644 made `simp` start noticing
+attribute [nolint simpNF] CategoryTheory.Sheaf.composeEquiv_apply_val
+  CategoryTheory.Sheaf.composeEquiv_symm_apply_val
+
 /-- An adjunction `adj : G ⊣ F` with `F : D ⥤ E` and `G : E ⥤ D` induces an adjunction
 between `Sheaf J D` and `Sheaf J E`, in contexts where one can sheafify `D`-valued presheaves,
 and `F` preserves the correct limits. -/
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) 2021 Adam Topaz. All rights reserved.
 Released under Apache 2.0 license as described in the file LICENSE.
 Authors: Adam Topaz
-
-! This file was ported from Lean 3 source module category_theory.sites.adjunction
-! leanprover-community/mathlib commit 70fd9563a21e7b963887c9360bd29b2393e6225a
-! Please do not edit these lines, except to modify the commit id
-! if you have ported upstream changes.
 -/
 import Mathlib.CategoryTheory.Adjunction.Whiskering
 import Mathlib.CategoryTheory.Sites.Sheafification
 import Mathlib.CategoryTheory.Sites.Whiskering
 
+#align_import category_theory.sites.adjunction from "leanprover-community/mathlib"@"70fd9563a21e7b963887c9360bd29b2393e6225a"
+
 /-!
 
 In this file, we show that an adjunction `F ⊣ G` induces an adjunction between
chore: reenable eta, bump to nightly 2023-05-16 (#3414)

Now that leanprover/lean4#2210 has been merged, this PR:

  • removes all the set_option synthInstance.etaExperiment true commands (and some etaExperiment% term elaborators)
  • removes many but not quite all set_option maxHeartbeats commands
  • makes various other changes required to cope with leanprover/lean4#2210.

Co-authored-by: Scott Morrison <scott.morrison@anu.edu.au> Co-authored-by: Scott Morrison <scott.morrison@gmail.com> Co-authored-by: Matthew Ballard <matt@mrb.email>

Diff
@@ -83,7 +83,6 @@ def composeEquiv (adj : G ⊣ F) (X : Sheaf J E) (Y : Sheaf J D) :
 set_option linter.uppercaseLean3 false in
 #align category_theory.Sheaf.compose_equiv CategoryTheory.Sheaf.composeEquiv
 
-set_option maxHeartbeats 800000 in
 /-- An adjunction `adj : G ⊣ F` with `F : D ⥤ E` and `G : E ⥤ D` induces an adjunction
 between `Sheaf J D` and `Sheaf J E`, in contexts where one can sheafify `D`-valued presheaves,
 and `F` preserves the correct limits. -/
@@ -138,7 +137,6 @@ theorem adjunctionToTypes_unit_app_val {G : Type max v u ⥤ D} (adj : G ⊣ for
 set_option linter.uppercaseLean3 false in
 #align category_theory.Sheaf.adjunction_to_types_unit_app_val CategoryTheory.Sheaf.adjunctionToTypes_unit_app_val
 
-set_option maxHeartbeats 800000 in
 @[simp]
 theorem adjunctionToTypes_counit_app_val {G : Type max v u ⥤ D} (adj : G ⊣ forget D)
     (X : Sheaf J D) :
feat: port CategoryTheory.Sites.Adjunction (#3663)

Dependencies 3 + 325

326 files ported (99.1%)
133834 lines ported (99.2%)
Show graph

The unported dependencies are