category_theory.limits.kan_extensionMathlib.CategoryTheory.Limits.KanExtension

This file has been ported!

Changes since the initial port

The following section lists changes to this file in mathlib3 and mathlib4 that occured after the initial port. Most recent changes are shown first. Hovering over a commit will show all commits associated with the same mathlib3 commit.

Changes in mathlib3

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(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
@@ -164,8 +164,8 @@ def adjunction [∀ X, HasLimitsOfShape (StructuredArrow X ι) D] :
 -/
 
 #print CategoryTheory.Ran.reflective /-
-theorem reflective [Full ι] [Faithful ι] [∀ X, HasLimitsOfShape (StructuredArrow X ι) D] :
-    IsIso (adjunction D ι).counit :=
+theorem reflective [CategoryTheory.Functor.Full ι] [CategoryTheory.Functor.Faithful ι]
+    [∀ X, HasLimitsOfShape (StructuredArrow X ι) D] : IsIso (adjunction D ι).counit :=
   by
   apply nat_iso.is_iso_of_is_iso_app _
   intro F
@@ -317,8 +317,8 @@ def adjunction [∀ X, HasColimitsOfShape (CostructuredArrow ι X) D] :
 -/
 
 #print CategoryTheory.Lan.coreflective /-
-theorem coreflective [Full ι] [Faithful ι] [∀ X, HasColimitsOfShape (CostructuredArrow ι X) D] :
-    IsIso (adjunction D ι).Unit :=
+theorem coreflective [CategoryTheory.Functor.Full ι] [CategoryTheory.Functor.Faithful ι]
+    [∀ X, HasColimitsOfShape (CostructuredArrow ι X) D] : IsIso (adjunction D ι).Unit :=
   by
   apply nat_iso.is_iso_of_is_iso_app _
   intro F
Diff
@@ -4,8 +4,8 @@ Released under Apache 2.0 license as described in the file LICENSE.
 Authors: Bhavik Mehta, Adam Topaz
 -/
 import CategoryTheory.Limits.Shapes.Terminal
-import CategoryTheory.Punit
-import CategoryTheory.StructuredArrow
+import CategoryTheory.PUnit
+import CategoryTheory.Comma.StructuredArrow
 
 #align_import category_theory.limits.kan_extension from "leanprover-community/mathlib"@"69c6a5a12d8a2b159f20933e60115a4f2de62b58"
 
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: Bhavik Mehta, Adam Topaz
 -/
-import Mathbin.CategoryTheory.Limits.Shapes.Terminal
-import Mathbin.CategoryTheory.Punit
-import Mathbin.CategoryTheory.StructuredArrow
+import CategoryTheory.Limits.Shapes.Terminal
+import CategoryTheory.Punit
+import CategoryTheory.StructuredArrow
 
 #align_import category_theory.limits.kan_extension from "leanprover-community/mathlib"@"69c6a5a12d8a2b159f20933e60115a4f2de62b58"
 
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: Bhavik Mehta, Adam Topaz
-
-! This file was ported from Lean 3 source module category_theory.limits.kan_extension
-! leanprover-community/mathlib commit 69c6a5a12d8a2b159f20933e60115a4f2de62b58
-! Please do not edit these lines, except to modify the commit id
-! if you have ported upstream changes.
 -/
 import Mathbin.CategoryTheory.Limits.Shapes.Terminal
 import Mathbin.CategoryTheory.Punit
 import Mathbin.CategoryTheory.StructuredArrow
 
+#align_import category_theory.limits.kan_extension from "leanprover-community/mathlib"@"69c6a5a12d8a2b159f20933e60115a4f2de62b58"
+
 /-!
 
 # Kan extensions
Diff
@@ -132,7 +132,7 @@ def equiv (F : S ⥤ D) [∀ x, HasLimit (diagram ι F x)] (G : L ⥤ D) :
         tidy }
   left_inv := by
     intro x
-    ext (k j)
+    ext k j
     dsimp only [cone]
     rw [limit.lift_π]
     simp only [nat_trans.naturality_assoc, loc_map]
@@ -283,7 +283,7 @@ def equiv (F : S ⥤ D) [I : ∀ x, HasColimit (diagram ι F x)] (G : L ⥤ D) :
         tidy }
   left_inv := by
     intro x
-    ext (k j)
+    ext k j
     rw [colimit.ι_desc]
     dsimp only [cocone]
     rw [category.assoc, ← x.naturality j.hom, ← category.assoc]
Diff
@@ -106,6 +106,7 @@ def loc (F : S ⥤ D) [∀ x, HasLimit (diagram ι F x)] : L ⥤ D
 #align category_theory.Ran.loc CategoryTheory.Ran.loc
 -/
 
+#print CategoryTheory.Ran.equiv /-
 /-- An auxiliary definition used to define `Ran` and `Ran.adjunction`. -/
 @[simps]
 def equiv (F : S ⥤ D) [∀ x, HasLimit (diagram ι F x)] (G : L ⥤ D) :
@@ -141,6 +142,7 @@ def equiv (F : S ⥤ D) [∀ x, HasLimit (diagram ι F x)] (G : L ⥤ D) :
     tidy
   right_inv := by tidy
 #align category_theory.Ran.equiv CategoryTheory.Ran.equiv
+-/
 
 end Ran
 
@@ -156,12 +158,15 @@ namespace Ran
 
 variable (D)
 
+#print CategoryTheory.Ran.adjunction /-
 /-- The adjunction associated to `Ran`. -/
 def adjunction [∀ X, HasLimitsOfShape (StructuredArrow X ι) D] :
     (whiskeringLeft _ _ D).obj ι ⊣ ran ι :=
   Adjunction.adjunctionOfEquivRight _ _
 #align category_theory.Ran.adjunction CategoryTheory.Ran.adjunction
+-/
 
+#print CategoryTheory.Ran.reflective /-
 theorem reflective [Full ι] [Faithful ι] [∀ X, HasLimitsOfShape (StructuredArrow X ι) D] :
     IsIso (adjunction D ι).counit :=
   by
@@ -176,6 +181,7 @@ theorem reflective [Full ι] [Faithful ι] [∀ X, HasLimitsOfShape (StructuredA
       ((limit.is_limit _).conePointUniqueUpToIso
         (limit_of_diagram_initial structured_arrow.mk_id_initial _))
 #align category_theory.Ran.reflective CategoryTheory.Ran.reflective
+-/
 
 end Ran
 
@@ -241,6 +247,7 @@ def loc (F : S ⥤ D) [I : ∀ x, HasColimit (diagram ι F x)] : L ⥤ D
 #align category_theory.Lan.loc CategoryTheory.Lan.loc
 -/
 
+#print CategoryTheory.Lan.equiv /-
 /-- An auxiliary definition used to define `Lan` and `Lan.adjunction`. -/
 @[simps]
 def equiv (F : S ⥤ D) [I : ∀ x, HasColimit (diagram ι F x)] (G : L ⥤ D) :
@@ -288,6 +295,7 @@ def equiv (F : S ⥤ D) [I : ∀ x, HasColimit (diagram ι F x)] (G : L ⥤ D) :
     tidy
   right_inv := by tidy
 #align category_theory.Lan.equiv CategoryTheory.Lan.equiv
+-/
 
 end Lan
 
@@ -303,12 +311,15 @@ namespace Lan
 
 variable (D)
 
+#print CategoryTheory.Lan.adjunction /-
 /-- The adjunction associated to `Lan`. -/
 def adjunction [∀ X, HasColimitsOfShape (CostructuredArrow ι X) D] :
     lan ι ⊣ (whiskeringLeft _ _ D).obj ι :=
   Adjunction.adjunctionOfEquivLeft _ _
 #align category_theory.Lan.adjunction CategoryTheory.Lan.adjunction
+-/
 
+#print CategoryTheory.Lan.coreflective /-
 theorem coreflective [Full ι] [Faithful ι] [∀ X, HasColimitsOfShape (CostructuredArrow ι X) D] :
     IsIso (adjunction D ι).Unit :=
   by
@@ -323,6 +334,7 @@ theorem coreflective [Full ι] [Faithful ι] [∀ X, HasColimitsOfShape (Costruc
       ((colimit.is_colimit _).coconePointUniqueUpToIso
           (colimit_of_diagram_terminal costructured_arrow.mk_id_terminal _)).symm
 #align category_theory.Lan.coreflective CategoryTheory.Lan.coreflective
+-/
 
 end Lan
 
Diff
@@ -106,9 +106,6 @@ def loc (F : S ⥤ D) [∀ x, HasLimit (diagram ι F x)] : L ⥤ D
 #align category_theory.Ran.loc CategoryTheory.Ran.loc
 -/
 
-/- warning: category_theory.Ran.equiv -> CategoryTheory.Ran.equiv is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align category_theory.Ran.equiv CategoryTheory.Ran.equivₓ'. -/
 /-- An auxiliary definition used to define `Ran` and `Ran.adjunction`. -/
 @[simps]
 def equiv (F : S ⥤ D) [∀ x, HasLimit (diagram ι F x)] (G : L ⥤ D) :
@@ -159,21 +156,12 @@ namespace Ran
 
 variable (D)
 
-/- warning: category_theory.Ran.adjunction -> CategoryTheory.Ran.adjunction is a dubious translation:
-lean 3 declaration is
-  forall {S : Type.{u4}} {L : Type.{u5}} (D : Type.{u6}) [_inst_1 : CategoryTheory.Category.{u1, u4} S] [_inst_2 : CategoryTheory.Category.{u2, u5} L] [_inst_3 : CategoryTheory.Category.{u3, u6} D] (ι : CategoryTheory.Functor.{u1, u2, u4, u5} S _inst_1 L _inst_2) [_inst_4 : forall (X : L), CategoryTheory.Limits.HasLimitsOfShape.{max u2 u1, max u4 u2, u3, u6} (CategoryTheory.StructuredArrow.{u1, u2, u4, u5} S _inst_1 L _inst_2 X ι) (CategoryTheory.StructuredArrow.category.{u2, u5, u4, u1} S _inst_1 L _inst_2 X ι) D _inst_3], CategoryTheory.Adjunction.{max u5 u3, max u4 u3, max u2 u3 u5 u6, max u1 u3 u4 u6} (CategoryTheory.Functor.{u2, u3, u5, u6} L _inst_2 D _inst_3) (CategoryTheory.Functor.category.{u2, u3, u5, u6} L _inst_2 D _inst_3) (CategoryTheory.Functor.{u1, u3, u4, u6} S _inst_1 D _inst_3) (CategoryTheory.Functor.category.{u1, u3, u4, u6} S _inst_1 D _inst_3) (CategoryTheory.Functor.obj.{max u4 u2, max (max u2 u3 u5 u6) u4 u3, max u1 u2 u4 u5, max (max u5 u3) (max u4 u3) (max u2 u3 u5 u6) u1 u3 u4 u6} (CategoryTheory.Functor.{u1, u2, u4, u5} S _inst_1 L _inst_2) (CategoryTheory.Functor.category.{u1, u2, u4, u5} S _inst_1 L _inst_2) (CategoryTheory.Functor.{max u5 u3, max u4 u3, max u2 u3 u5 u6, max u1 u3 u4 u6} (CategoryTheory.Functor.{u2, u3, u5, u6} L _inst_2 D _inst_3) (CategoryTheory.Functor.category.{u2, u3, u5, u6} L _inst_2 D _inst_3) (CategoryTheory.Functor.{u1, u3, u4, u6} S _inst_1 D _inst_3) (CategoryTheory.Functor.category.{u1, u3, u4, u6} S _inst_1 D _inst_3)) (CategoryTheory.Functor.category.{max u5 u3, max u4 u3, max u2 u3 u5 u6, max u1 u3 u4 u6} (CategoryTheory.Functor.{u2, u3, u5, u6} L _inst_2 D _inst_3) (CategoryTheory.Functor.category.{u2, u3, u5, u6} L _inst_2 D _inst_3) (CategoryTheory.Functor.{u1, u3, u4, u6} S _inst_1 D _inst_3) (CategoryTheory.Functor.category.{u1, u3, u4, u6} S _inst_1 D _inst_3)) (CategoryTheory.whiskeringLeft.{u4, u1, u5, u2, u6, u3} S _inst_1 L _inst_2 D _inst_3) ι) (CategoryTheory.ran.{u1, u2, u3, u4, u5, u6} S L D _inst_1 _inst_2 _inst_3 ι (CategoryTheory.Ran.adjunction._proof_1.{u4, u5, u6, u1, u2, u3} S L D _inst_1 _inst_2 _inst_3 ι _inst_4))
-but is expected to have type
-  forall {S : Type.{u4}} {L : Type.{u5}} (D : Type.{u6}) [_inst_1 : CategoryTheory.Category.{u1, u4} S] [_inst_2 : CategoryTheory.Category.{u2, u5} L] [_inst_3 : CategoryTheory.Category.{u3, u6} D] (ι : CategoryTheory.Functor.{u1, u2, u4, u5} S _inst_1 L _inst_2) [_inst_4 : forall (X : L), CategoryTheory.Limits.HasLimitsOfShape.{max u1 u2, max u4 u2, u3, u6} (CategoryTheory.StructuredArrow.{u1, u2, u4, u5} S _inst_1 L _inst_2 X ι) (CategoryTheory.instCategoryStructuredArrow.{u1, u2, u4, u5} S _inst_1 L _inst_2 X ι) D _inst_3], CategoryTheory.Adjunction.{max u3 u5, max u3 u4, max (max (max u6 u3) u2) u5, max (max (max u6 u3) u1) u4} (CategoryTheory.Functor.{u2, u3, u5, u6} L _inst_2 D _inst_3) (CategoryTheory.Functor.category.{u2, u3, u5, u6} L _inst_2 D _inst_3) (CategoryTheory.Functor.{u1, u3, u4, u6} S _inst_1 D _inst_3) (CategoryTheory.Functor.category.{u1, u3, u4, u6} S _inst_1 D _inst_3) (Prefunctor.obj.{max (succ u2) (succ u4), max (max (max (max (succ u6) (succ u3)) (succ u2)) (succ u5)) (succ u4), max (max (max u2 u5) u1) u4, max (max (max (max (max u6 u3) u2) u5) u1) u4} (CategoryTheory.Functor.{u1, u2, u4, u5} S _inst_1 L _inst_2) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u4, max (max (max u2 u5) u1) u4} (CategoryTheory.Functor.{u1, u2, u4, u5} S _inst_1 L _inst_2) (CategoryTheory.Category.toCategoryStruct.{max u2 u4, max (max (max u2 u5) u1) u4} (CategoryTheory.Functor.{u1, u2, u4, u5} S _inst_1 L _inst_2) (CategoryTheory.Functor.category.{u1, u2, u4, u5} S _inst_1 L _inst_2))) (CategoryTheory.Functor.{max u5 u3, max u4 u3, max (max (max u6 u5) u3) u2, max (max (max u6 u4) u3) u1} (CategoryTheory.Functor.{u2, u3, u5, u6} L _inst_2 D _inst_3) (CategoryTheory.Functor.category.{u2, u3, u5, u6} L _inst_2 D _inst_3) (CategoryTheory.Functor.{u1, u3, u4, u6} S _inst_1 D _inst_3) (CategoryTheory.Functor.category.{u1, u3, u4, u6} S _inst_1 D _inst_3)) (CategoryTheory.CategoryStruct.toQuiver.{max (max (max (max u6 u3) u2) u5) u4, max (max (max (max (max u6 u3) u2) u5) u1) u4} (CategoryTheory.Functor.{max u5 u3, max u4 u3, max (max (max u6 u5) u3) u2, max (max (max u6 u4) u3) u1} (CategoryTheory.Functor.{u2, u3, u5, u6} L _inst_2 D _inst_3) (CategoryTheory.Functor.category.{u2, u3, u5, u6} L _inst_2 D _inst_3) (CategoryTheory.Functor.{u1, u3, u4, u6} S _inst_1 D _inst_3) (CategoryTheory.Functor.category.{u1, u3, u4, u6} S _inst_1 D _inst_3)) (CategoryTheory.Category.toCategoryStruct.{max (max (max (max u6 u3) u2) u5) u4, max (max (max (max (max u6 u3) u2) u5) u1) u4} (CategoryTheory.Functor.{max u5 u3, max u4 u3, max (max (max u6 u5) u3) u2, max (max (max u6 u4) u3) u1} (CategoryTheory.Functor.{u2, u3, u5, u6} L _inst_2 D _inst_3) (CategoryTheory.Functor.category.{u2, u3, u5, u6} L _inst_2 D _inst_3) (CategoryTheory.Functor.{u1, u3, u4, u6} S _inst_1 D _inst_3) (CategoryTheory.Functor.category.{u1, u3, u4, u6} S _inst_1 D _inst_3)) (CategoryTheory.Functor.category.{max u5 u3, max u4 u3, max (max (max u5 u6) u2) u3, max (max (max u4 u6) u1) u3} (CategoryTheory.Functor.{u2, u3, u5, u6} L _inst_2 D _inst_3) (CategoryTheory.Functor.category.{u2, u3, u5, u6} L _inst_2 D _inst_3) (CategoryTheory.Functor.{u1, u3, u4, u6} S _inst_1 D _inst_3) (CategoryTheory.Functor.category.{u1, u3, u4, u6} S _inst_1 D _inst_3)))) (CategoryTheory.Functor.toPrefunctor.{max u2 u4, max (max (max (max u6 u3) u2) u5) u4, max (max (max u2 u5) u1) u4, max (max (max (max (max u6 u3) u2) u5) u1) u4} (CategoryTheory.Functor.{u1, u2, u4, u5} S _inst_1 L _inst_2) (CategoryTheory.Functor.category.{u1, u2, u4, u5} S _inst_1 L _inst_2) (CategoryTheory.Functor.{max u5 u3, max u4 u3, max (max (max u6 u5) u3) u2, max (max (max u6 u4) u3) u1} (CategoryTheory.Functor.{u2, u3, u5, u6} L _inst_2 D _inst_3) (CategoryTheory.Functor.category.{u2, u3, u5, u6} L _inst_2 D _inst_3) (CategoryTheory.Functor.{u1, u3, u4, u6} S _inst_1 D _inst_3) (CategoryTheory.Functor.category.{u1, u3, u4, u6} S _inst_1 D _inst_3)) (CategoryTheory.Functor.category.{max u5 u3, max u4 u3, max (max (max u5 u6) u2) u3, max (max (max u4 u6) u1) u3} (CategoryTheory.Functor.{u2, u3, u5, u6} L _inst_2 D _inst_3) (CategoryTheory.Functor.category.{u2, u3, u5, u6} L _inst_2 D _inst_3) (CategoryTheory.Functor.{u1, u3, u4, u6} S _inst_1 D _inst_3) (CategoryTheory.Functor.category.{u1, u3, u4, u6} S _inst_1 D _inst_3)) (CategoryTheory.whiskeringLeft.{u4, u1, u5, u2, u6, u3} S _inst_1 L _inst_2 D _inst_3)) ι) (CategoryTheory.ran.{u1, u2, u3, u4, u5, u6} S L D _inst_1 _inst_2 _inst_3 ι (fun (X : L) => _inst_4 X))
-Case conversion may be inaccurate. Consider using '#align category_theory.Ran.adjunction CategoryTheory.Ran.adjunctionₓ'. -/
 /-- The adjunction associated to `Ran`. -/
 def adjunction [∀ X, HasLimitsOfShape (StructuredArrow X ι) D] :
     (whiskeringLeft _ _ D).obj ι ⊣ ran ι :=
   Adjunction.adjunctionOfEquivRight _ _
 #align category_theory.Ran.adjunction CategoryTheory.Ran.adjunction
 
-/- warning: category_theory.Ran.reflective -> CategoryTheory.Ran.reflective is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align category_theory.Ran.reflective CategoryTheory.Ran.reflectiveₓ'. -/
 theorem reflective [Full ι] [Faithful ι] [∀ X, HasLimitsOfShape (StructuredArrow X ι) D] :
     IsIso (adjunction D ι).counit :=
   by
@@ -253,9 +241,6 @@ def loc (F : S ⥤ D) [I : ∀ x, HasColimit (diagram ι F x)] : L ⥤ D
 #align category_theory.Lan.loc CategoryTheory.Lan.loc
 -/
 
-/- warning: category_theory.Lan.equiv -> CategoryTheory.Lan.equiv is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align category_theory.Lan.equiv CategoryTheory.Lan.equivₓ'. -/
 /-- An auxiliary definition used to define `Lan` and `Lan.adjunction`. -/
 @[simps]
 def equiv (F : S ⥤ D) [I : ∀ x, HasColimit (diagram ι F x)] (G : L ⥤ D) :
@@ -318,21 +303,12 @@ namespace Lan
 
 variable (D)
 
-/- warning: category_theory.Lan.adjunction -> CategoryTheory.Lan.adjunction is a dubious translation:
-lean 3 declaration is
-  forall {S : Type.{u4}} {L : Type.{u5}} (D : Type.{u6}) [_inst_1 : CategoryTheory.Category.{u1, u4} S] [_inst_2 : CategoryTheory.Category.{u2, u5} L] [_inst_3 : CategoryTheory.Category.{u3, u6} D] (ι : CategoryTheory.Functor.{u1, u2, u4, u5} S _inst_1 L _inst_2) [_inst_4 : forall (X : L), CategoryTheory.Limits.HasColimitsOfShape.{max u1 u2, max u4 u2, u3, u6} (CategoryTheory.CostructuredArrow.{u1, u2, u4, u5} S _inst_1 L _inst_2 ι X) (CategoryTheory.CostructuredArrow.category.{u2, u5, u4, u1} S _inst_1 L _inst_2 ι X) D _inst_3], CategoryTheory.Adjunction.{max u4 u3, max u5 u3, max u1 u3 u4 u6, max u2 u3 u5 u6} (CategoryTheory.Functor.{u1, u3, u4, u6} S _inst_1 D _inst_3) (CategoryTheory.Functor.category.{u1, u3, u4, u6} S _inst_1 D _inst_3) (CategoryTheory.Functor.{u2, u3, u5, u6} L _inst_2 D _inst_3) (CategoryTheory.Functor.category.{u2, u3, u5, u6} L _inst_2 D _inst_3) (CategoryTheory.lan.{u1, u2, u3, u4, u5, u6} S L D _inst_1 _inst_2 _inst_3 ι (CategoryTheory.Lan.adjunction._proof_1.{u4, u5, u6, u1, u2, u3} S L D _inst_1 _inst_2 _inst_3 ι _inst_4)) (CategoryTheory.Functor.obj.{max u4 u2, max (max u2 u3 u5 u6) u4 u3, max u1 u2 u4 u5, max (max u5 u3) (max u4 u3) (max u2 u3 u5 u6) u1 u3 u4 u6} (CategoryTheory.Functor.{u1, u2, u4, u5} S _inst_1 L _inst_2) (CategoryTheory.Functor.category.{u1, u2, u4, u5} S _inst_1 L _inst_2) (CategoryTheory.Functor.{max u5 u3, max u4 u3, max u2 u3 u5 u6, max u1 u3 u4 u6} (CategoryTheory.Functor.{u2, u3, u5, u6} L _inst_2 D _inst_3) (CategoryTheory.Functor.category.{u2, u3, u5, u6} L _inst_2 D _inst_3) (CategoryTheory.Functor.{u1, u3, u4, u6} S _inst_1 D _inst_3) (CategoryTheory.Functor.category.{u1, u3, u4, u6} S _inst_1 D _inst_3)) (CategoryTheory.Functor.category.{max u5 u3, max u4 u3, max u2 u3 u5 u6, max u1 u3 u4 u6} (CategoryTheory.Functor.{u2, u3, u5, u6} L _inst_2 D _inst_3) (CategoryTheory.Functor.category.{u2, u3, u5, u6} L _inst_2 D _inst_3) (CategoryTheory.Functor.{u1, u3, u4, u6} S _inst_1 D _inst_3) (CategoryTheory.Functor.category.{u1, u3, u4, u6} S _inst_1 D _inst_3)) (CategoryTheory.whiskeringLeft.{u4, u1, u5, u2, u6, u3} S _inst_1 L _inst_2 D _inst_3) ι)
-but is expected to have type
-  forall {S : Type.{u4}} {L : Type.{u5}} (D : Type.{u6}) [_inst_1 : CategoryTheory.Category.{u1, u4} S] [_inst_2 : CategoryTheory.Category.{u2, u5} L] [_inst_3 : CategoryTheory.Category.{u3, u6} D] (ι : CategoryTheory.Functor.{u1, u2, u4, u5} S _inst_1 L _inst_2) [_inst_4 : forall (X : L), CategoryTheory.Limits.HasColimitsOfShape.{max u1 u2, max u4 u2, u3, u6} (CategoryTheory.CostructuredArrow.{u1, u2, u4, u5} S _inst_1 L _inst_2 ι X) (CategoryTheory.instCategoryCostructuredArrow.{u1, u2, u4, u5} S _inst_1 L _inst_2 ι X) D _inst_3], CategoryTheory.Adjunction.{max u4 u3, max u5 u3, max (max (max u6 u4) u3) u1, max (max (max u6 u5) u3) u2} (CategoryTheory.Functor.{u1, u3, u4, u6} S _inst_1 D _inst_3) (CategoryTheory.Functor.category.{u1, u3, u4, u6} S _inst_1 D _inst_3) (CategoryTheory.Functor.{u2, u3, u5, u6} L _inst_2 D _inst_3) (CategoryTheory.Functor.category.{u2, u3, u5, u6} L _inst_2 D _inst_3) (CategoryTheory.lan.{u1, u2, u3, u4, u5, u6} S L D _inst_1 _inst_2 _inst_3 ι (fun (X : L) => _inst_4 X)) (Prefunctor.obj.{max (succ u2) (succ u4), max (max (max (max (succ u6) (succ u3)) (succ u2)) (succ u5)) (succ u4), max (max (max u2 u5) u1) u4, max (max (max (max (max u6 u3) u2) u5) u1) u4} (CategoryTheory.Functor.{u1, u2, u4, u5} S _inst_1 L _inst_2) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u4, max (max (max u2 u5) u1) u4} (CategoryTheory.Functor.{u1, u2, u4, u5} S _inst_1 L _inst_2) (CategoryTheory.Category.toCategoryStruct.{max u2 u4, max (max (max u2 u5) u1) u4} (CategoryTheory.Functor.{u1, u2, u4, u5} S _inst_1 L _inst_2) (CategoryTheory.Functor.category.{u1, u2, u4, u5} S _inst_1 L _inst_2))) (CategoryTheory.Functor.{max u5 u3, max u4 u3, max (max (max u6 u5) u3) u2, max (max (max u6 u4) u3) u1} (CategoryTheory.Functor.{u2, u3, u5, u6} L _inst_2 D _inst_3) (CategoryTheory.Functor.category.{u2, u3, u5, u6} L _inst_2 D _inst_3) (CategoryTheory.Functor.{u1, u3, u4, u6} S _inst_1 D _inst_3) (CategoryTheory.Functor.category.{u1, u3, u4, u6} S _inst_1 D _inst_3)) (CategoryTheory.CategoryStruct.toQuiver.{max (max (max (max u6 u3) u2) u5) u4, max (max (max (max (max u6 u3) u2) u5) u1) u4} (CategoryTheory.Functor.{max u5 u3, max u4 u3, max (max (max u6 u5) u3) u2, max (max (max u6 u4) u3) u1} (CategoryTheory.Functor.{u2, u3, u5, u6} L _inst_2 D _inst_3) (CategoryTheory.Functor.category.{u2, u3, u5, u6} L _inst_2 D _inst_3) (CategoryTheory.Functor.{u1, u3, u4, u6} S _inst_1 D _inst_3) (CategoryTheory.Functor.category.{u1, u3, u4, u6} S _inst_1 D _inst_3)) (CategoryTheory.Category.toCategoryStruct.{max (max (max (max u6 u3) u2) u5) u4, max (max (max (max (max u6 u3) u2) u5) u1) u4} (CategoryTheory.Functor.{max u5 u3, max u4 u3, max (max (max u6 u5) u3) u2, max (max (max u6 u4) u3) u1} (CategoryTheory.Functor.{u2, u3, u5, u6} L _inst_2 D _inst_3) (CategoryTheory.Functor.category.{u2, u3, u5, u6} L _inst_2 D _inst_3) (CategoryTheory.Functor.{u1, u3, u4, u6} S _inst_1 D _inst_3) (CategoryTheory.Functor.category.{u1, u3, u4, u6} S _inst_1 D _inst_3)) (CategoryTheory.Functor.category.{max u5 u3, max u4 u3, max (max (max u5 u6) u2) u3, max (max (max u4 u6) u1) u3} (CategoryTheory.Functor.{u2, u3, u5, u6} L _inst_2 D _inst_3) (CategoryTheory.Functor.category.{u2, u3, u5, u6} L _inst_2 D _inst_3) (CategoryTheory.Functor.{u1, u3, u4, u6} S _inst_1 D _inst_3) (CategoryTheory.Functor.category.{u1, u3, u4, u6} S _inst_1 D _inst_3)))) (CategoryTheory.Functor.toPrefunctor.{max u2 u4, max (max (max (max u6 u3) u2) u5) u4, max (max (max u2 u5) u1) u4, max (max (max (max (max u6 u3) u2) u5) u1) u4} (CategoryTheory.Functor.{u1, u2, u4, u5} S _inst_1 L _inst_2) (CategoryTheory.Functor.category.{u1, u2, u4, u5} S _inst_1 L _inst_2) (CategoryTheory.Functor.{max u5 u3, max u4 u3, max (max (max u6 u5) u3) u2, max (max (max u6 u4) u3) u1} (CategoryTheory.Functor.{u2, u3, u5, u6} L _inst_2 D _inst_3) (CategoryTheory.Functor.category.{u2, u3, u5, u6} L _inst_2 D _inst_3) (CategoryTheory.Functor.{u1, u3, u4, u6} S _inst_1 D _inst_3) (CategoryTheory.Functor.category.{u1, u3, u4, u6} S _inst_1 D _inst_3)) (CategoryTheory.Functor.category.{max u5 u3, max u4 u3, max (max (max u5 u6) u2) u3, max (max (max u4 u6) u1) u3} (CategoryTheory.Functor.{u2, u3, u5, u6} L _inst_2 D _inst_3) (CategoryTheory.Functor.category.{u2, u3, u5, u6} L _inst_2 D _inst_3) (CategoryTheory.Functor.{u1, u3, u4, u6} S _inst_1 D _inst_3) (CategoryTheory.Functor.category.{u1, u3, u4, u6} S _inst_1 D _inst_3)) (CategoryTheory.whiskeringLeft.{u4, u1, u5, u2, u6, u3} S _inst_1 L _inst_2 D _inst_3)) ι)
-Case conversion may be inaccurate. Consider using '#align category_theory.Lan.adjunction CategoryTheory.Lan.adjunctionₓ'. -/
 /-- The adjunction associated to `Lan`. -/
 def adjunction [∀ X, HasColimitsOfShape (CostructuredArrow ι X) D] :
     lan ι ⊣ (whiskeringLeft _ _ D).obj ι :=
   Adjunction.adjunctionOfEquivLeft _ _
 #align category_theory.Lan.adjunction CategoryTheory.Lan.adjunction
 
-/- warning: category_theory.Lan.coreflective -> CategoryTheory.Lan.coreflective is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align category_theory.Lan.coreflective CategoryTheory.Lan.coreflectiveₓ'. -/
 theorem coreflective [Full ι] [Faithful ι] [∀ X, HasColimitsOfShape (CostructuredArrow ι X) D] :
     IsIso (adjunction D ι).Unit :=
   by
Diff
@@ -278,9 +278,7 @@ def equiv (F : S ⥤ D) [I : ∀ x, HasColimit (diagram ι F x)] (G : L ⥤ D) :
         let yy : costructured_arrow ι (ι.obj y) := costructured_arrow.mk (𝟙 _)
         let fff : xx ⟶ yy :=
           costructured_arrow.hom_mk ff
-            (by
-              simp only [costructured_arrow.mk_hom_eq_self]
-              erw [category.comp_id])
+            (by simp only [costructured_arrow.mk_hom_eq_self]; erw [category.comp_id])
         erw [colimit.w (diagram ι F (ι.obj y)) fff]
         congr
         simp }
Diff
@@ -107,10 +107,7 @@ def loc (F : S ⥤ D) [∀ x, HasLimit (diagram ι F x)] : L ⥤ D
 -/
 
 /- warning: category_theory.Ran.equiv -> CategoryTheory.Ran.equiv is a dubious translation:
-lean 3 declaration is
-  forall {S : Type.{u4}} {L : Type.{u5}} {D : Type.{u6}} [_inst_1 : CategoryTheory.Category.{u1, u4} S] [_inst_2 : CategoryTheory.Category.{u2, u5} L] [_inst_3 : CategoryTheory.Category.{u3, u6} D] (ι : CategoryTheory.Functor.{u1, u2, u4, u5} S _inst_1 L _inst_2) (F : CategoryTheory.Functor.{u1, u3, u4, u6} S _inst_1 D _inst_3) [_inst_4 : forall (x : L), CategoryTheory.Limits.HasLimit.{max u2 u1, max u4 u2, u3, u6} (CategoryTheory.StructuredArrow.{u1, u2, u4, u5} S _inst_1 L _inst_2 x ι) (CategoryTheory.StructuredArrow.category.{u2, u5, u4, u1} S _inst_1 L _inst_2 x ι) D _inst_3 (CategoryTheory.Ran.diagram.{u1, u2, u3, u4, u5, u6} S L D _inst_1 _inst_2 _inst_3 ι F x)] (G : CategoryTheory.Functor.{u2, u3, u5, u6} L _inst_2 D _inst_3), Equiv.{succ (max u5 u3), succ (max u4 u3)} (Quiver.Hom.{succ (max u5 u3), max u2 u3 u5 u6} (CategoryTheory.Functor.{u2, u3, u5, u6} L _inst_2 D _inst_3) (CategoryTheory.CategoryStruct.toQuiver.{max u5 u3, max u2 u3 u5 u6} (CategoryTheory.Functor.{u2, u3, u5, u6} L _inst_2 D _inst_3) (CategoryTheory.Category.toCategoryStruct.{max u5 u3, max u2 u3 u5 u6} (CategoryTheory.Functor.{u2, u3, u5, u6} L _inst_2 D _inst_3) (CategoryTheory.Functor.category.{u2, u3, u5, u6} L _inst_2 D _inst_3))) G (CategoryTheory.Ran.loc.{u1, u2, u3, u4, u5, u6} S L D _inst_1 _inst_2 _inst_3 ι F (CategoryTheory.Ran.equiv._proof_1.{u4, u5, u6, u1, u2, u3} S L D _inst_1 _inst_2 _inst_3 ι F _inst_4))) (Quiver.Hom.{succ (max u4 u3), max u1 u3 u4 u6} (CategoryTheory.Functor.{u1, u3, u4, u6} S _inst_1 D _inst_3) (CategoryTheory.CategoryStruct.toQuiver.{max u4 u3, max u1 u3 u4 u6} (CategoryTheory.Functor.{u1, u3, u4, u6} S _inst_1 D _inst_3) (CategoryTheory.Category.toCategoryStruct.{max u4 u3, max u1 u3 u4 u6} (CategoryTheory.Functor.{u1, u3, u4, u6} S _inst_1 D _inst_3) (CategoryTheory.Functor.category.{u1, u3, u4, u6} S _inst_1 D _inst_3))) (CategoryTheory.Functor.obj.{max u5 u3, max u4 u3, max u2 u3 u5 u6, max u1 u3 u4 u6} (CategoryTheory.Functor.{u2, u3, u5, u6} L _inst_2 D _inst_3) (CategoryTheory.Functor.category.{u2, u3, u5, u6} L _inst_2 D _inst_3) (CategoryTheory.Functor.{u1, u3, u4, u6} S _inst_1 D _inst_3) (CategoryTheory.Functor.category.{u1, u3, u4, u6} S _inst_1 D _inst_3) (CategoryTheory.Functor.obj.{max u4 u2, max (max u2 u3 u5 u6) u4 u3, max u1 u2 u4 u5, max (max u5 u3) (max u4 u3) (max u2 u3 u5 u6) u1 u3 u4 u6} (CategoryTheory.Functor.{u1, u2, u4, u5} S _inst_1 L _inst_2) (CategoryTheory.Functor.category.{u1, u2, u4, u5} S _inst_1 L _inst_2) (CategoryTheory.Functor.{max u5 u3, max u4 u3, max u2 u3 u5 u6, max u1 u3 u4 u6} (CategoryTheory.Functor.{u2, u3, u5, u6} L _inst_2 D _inst_3) (CategoryTheory.Functor.category.{u2, u3, u5, u6} L _inst_2 D _inst_3) (CategoryTheory.Functor.{u1, u3, u4, u6} S _inst_1 D _inst_3) (CategoryTheory.Functor.category.{u1, u3, u4, u6} S _inst_1 D _inst_3)) (CategoryTheory.Functor.category.{max u5 u3, max u4 u3, max u2 u3 u5 u6, max u1 u3 u4 u6} (CategoryTheory.Functor.{u2, u3, u5, u6} L _inst_2 D _inst_3) (CategoryTheory.Functor.category.{u2, u3, u5, u6} L _inst_2 D _inst_3) (CategoryTheory.Functor.{u1, u3, u4, u6} S _inst_1 D _inst_3) (CategoryTheory.Functor.category.{u1, u3, u4, u6} S _inst_1 D _inst_3)) (CategoryTheory.whiskeringLeft.{u4, u1, u5, u2, u6, u3} S _inst_1 L _inst_2 D _inst_3) ι) G) F)
-but is expected to have type
-  forall {S : Type.{u4}} {L : Type.{u5}} {D : Type.{u6}} [_inst_1 : CategoryTheory.Category.{u1, u4} S] [_inst_2 : CategoryTheory.Category.{u2, u5} L] [_inst_3 : CategoryTheory.Category.{u3, u6} D] (ι : CategoryTheory.Functor.{u1, u2, u4, u5} S _inst_1 L _inst_2) (F : CategoryTheory.Functor.{u1, u3, u4, u6} S _inst_1 D _inst_3) [_inst_4 : forall (x : L), CategoryTheory.Limits.HasLimit.{max u1 u2, max u4 u2, u3, u6} (CategoryTheory.StructuredArrow.{u1, u2, u4, u5} S _inst_1 L _inst_2 x ι) (CategoryTheory.instCategoryStructuredArrow.{u1, u2, u4, u5} S _inst_1 L _inst_2 x ι) D _inst_3 (CategoryTheory.Ran.diagram.{u1, u2, u3, u4, u5, u6} S L D _inst_1 _inst_2 _inst_3 ι F x)] (G : CategoryTheory.Functor.{u2, u3, u5, u6} L _inst_2 D _inst_3), Equiv.{max (succ u5) (succ u3), max (succ u4) (succ u3)} (Quiver.Hom.{max (succ u5) (succ u3), max (max (max u5 u6) u2) u3} (CategoryTheory.Functor.{u2, u3, u5, u6} L _inst_2 D _inst_3) (CategoryTheory.CategoryStruct.toQuiver.{max u5 u3, max (max (max u5 u6) u2) u3} (CategoryTheory.Functor.{u2, u3, u5, u6} L _inst_2 D _inst_3) (CategoryTheory.Category.toCategoryStruct.{max u5 u3, max (max (max u5 u6) u2) u3} (CategoryTheory.Functor.{u2, u3, u5, u6} L _inst_2 D _inst_3) (CategoryTheory.Functor.category.{u2, u3, u5, u6} L _inst_2 D _inst_3))) G (CategoryTheory.Ran.loc.{u1, u2, u3, u4, u5, u6} S L D _inst_1 _inst_2 _inst_3 ι F (fun (x : L) => _inst_4 x))) (Quiver.Hom.{max (succ u4) (succ u3), max (max (max u4 u1) u3) u6} (CategoryTheory.Functor.{u1, u3, u4, u6} S _inst_1 D _inst_3) (CategoryTheory.CategoryStruct.toQuiver.{max u4 u3, max (max (max u4 u6) u1) u3} (CategoryTheory.Functor.{u1, u3, u4, u6} S _inst_1 D _inst_3) (CategoryTheory.Category.toCategoryStruct.{max u4 u3, max (max (max u4 u6) u1) u3} (CategoryTheory.Functor.{u1, u3, u4, u6} S _inst_1 D _inst_3) (CategoryTheory.Functor.category.{u1, u3, u4, u6} S _inst_1 D _inst_3))) (Prefunctor.obj.{max (succ u5) (succ u3), max (succ u4) (succ u3), max (max (max u5 u2) u3) u6, max (max (max u4 u1) u3) u6} (CategoryTheory.Functor.{u2, u3, u5, u6} L _inst_2 D _inst_3) (CategoryTheory.CategoryStruct.toQuiver.{max u5 u3, max (max (max u5 u2) u3) u6} (CategoryTheory.Functor.{u2, u3, u5, u6} L _inst_2 D _inst_3) (CategoryTheory.Category.toCategoryStruct.{max u5 u3, max (max (max u5 u2) u3) u6} (CategoryTheory.Functor.{u2, u3, u5, u6} L _inst_2 D _inst_3) (CategoryTheory.Functor.category.{u2, u3, u5, u6} L _inst_2 D _inst_3))) (CategoryTheory.Functor.{u1, u3, u4, u6} S _inst_1 D _inst_3) (CategoryTheory.CategoryStruct.toQuiver.{max u4 u3, max (max (max u4 u1) u3) u6} (CategoryTheory.Functor.{u1, u3, u4, u6} S _inst_1 D _inst_3) (CategoryTheory.Category.toCategoryStruct.{max u4 u3, max (max (max u4 u1) u3) u6} (CategoryTheory.Functor.{u1, u3, u4, u6} S _inst_1 D _inst_3) (CategoryTheory.Functor.category.{u1, u3, u4, u6} S _inst_1 D _inst_3))) (CategoryTheory.Functor.toPrefunctor.{max u5 u3, max u4 u3, max (max (max u5 u2) u3) u6, max (max (max u4 u1) u3) u6} (CategoryTheory.Functor.{u2, u3, u5, u6} L _inst_2 D _inst_3) (CategoryTheory.Functor.category.{u2, u3, u5, u6} L _inst_2 D _inst_3) (CategoryTheory.Functor.{u1, u3, u4, u6} S _inst_1 D _inst_3) (CategoryTheory.Functor.category.{u1, u3, u4, u6} S _inst_1 D _inst_3) (Prefunctor.obj.{max (succ u2) (succ u4), max (max (max (max (succ u3) (succ u6)) (succ u2)) (succ u5)) (succ u4), max (max (max u2 u5) u1) u4, max (max (max (max (max u3 u6) u2) u5) u1) u4} (CategoryTheory.Functor.{u1, u2, u4, u5} S _inst_1 L _inst_2) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u4, max (max (max u2 u5) u1) u4} (CategoryTheory.Functor.{u1, u2, u4, u5} S _inst_1 L _inst_2) (CategoryTheory.Category.toCategoryStruct.{max u2 u4, max (max (max u2 u5) u1) u4} (CategoryTheory.Functor.{u1, u2, u4, u5} S _inst_1 L _inst_2) (CategoryTheory.Functor.category.{u1, u2, u4, u5} S _inst_1 L _inst_2))) (CategoryTheory.Functor.{max u5 u3, max u4 u3, max (max (max u6 u5) u3) u2, max (max (max u6 u4) u3) u1} (CategoryTheory.Functor.{u2, u3, u5, u6} L _inst_2 D _inst_3) (CategoryTheory.Functor.category.{u2, u3, u5, u6} L _inst_2 D _inst_3) (CategoryTheory.Functor.{u1, u3, u4, u6} S _inst_1 D _inst_3) (CategoryTheory.Functor.category.{u1, u3, u4, u6} S _inst_1 D _inst_3)) (CategoryTheory.CategoryStruct.toQuiver.{max (max (max (max u3 u6) u2) u5) u4, max (max (max (max (max u3 u6) u2) u5) u1) u4} (CategoryTheory.Functor.{max u5 u3, max u4 u3, max (max (max u6 u5) u3) u2, max (max (max u6 u4) u3) u1} (CategoryTheory.Functor.{u2, u3, u5, u6} L _inst_2 D _inst_3) (CategoryTheory.Functor.category.{u2, u3, u5, u6} L _inst_2 D _inst_3) (CategoryTheory.Functor.{u1, u3, u4, u6} S _inst_1 D _inst_3) (CategoryTheory.Functor.category.{u1, u3, u4, u6} S _inst_1 D _inst_3)) (CategoryTheory.Category.toCategoryStruct.{max (max (max (max u3 u6) u2) u5) u4, max (max (max (max (max u3 u6) u2) u5) u1) u4} (CategoryTheory.Functor.{max u5 u3, max u4 u3, max (max (max u6 u5) u3) u2, max (max (max u6 u4) u3) u1} (CategoryTheory.Functor.{u2, u3, u5, u6} L _inst_2 D _inst_3) (CategoryTheory.Functor.category.{u2, u3, u5, u6} L _inst_2 D _inst_3) (CategoryTheory.Functor.{u1, u3, u4, u6} S _inst_1 D _inst_3) (CategoryTheory.Functor.category.{u1, u3, u4, u6} S _inst_1 D _inst_3)) (CategoryTheory.Functor.category.{max u5 u3, max u4 u3, max (max (max u5 u6) u2) u3, max (max (max u4 u6) u1) u3} (CategoryTheory.Functor.{u2, u3, u5, u6} L _inst_2 D _inst_3) (CategoryTheory.Functor.category.{u2, u3, u5, u6} L _inst_2 D _inst_3) (CategoryTheory.Functor.{u1, u3, u4, u6} S _inst_1 D _inst_3) (CategoryTheory.Functor.category.{u1, u3, u4, u6} S _inst_1 D _inst_3)))) (CategoryTheory.Functor.toPrefunctor.{max u2 u4, max (max (max (max u3 u6) u2) u5) u4, max (max (max u2 u5) u1) u4, max (max (max (max (max u3 u6) u2) u5) u1) u4} (CategoryTheory.Functor.{u1, u2, u4, u5} S _inst_1 L _inst_2) (CategoryTheory.Functor.category.{u1, u2, u4, u5} S _inst_1 L _inst_2) (CategoryTheory.Functor.{max u5 u3, max u4 u3, max (max (max u6 u5) u3) u2, max (max (max u6 u4) u3) u1} (CategoryTheory.Functor.{u2, u3, u5, u6} L _inst_2 D _inst_3) (CategoryTheory.Functor.category.{u2, u3, u5, u6} L _inst_2 D _inst_3) (CategoryTheory.Functor.{u1, u3, u4, u6} S _inst_1 D _inst_3) (CategoryTheory.Functor.category.{u1, u3, u4, u6} S _inst_1 D _inst_3)) (CategoryTheory.Functor.category.{max u5 u3, max u4 u3, max (max (max u5 u6) u2) u3, max (max (max u4 u6) u1) u3} (CategoryTheory.Functor.{u2, u3, u5, u6} L _inst_2 D _inst_3) (CategoryTheory.Functor.category.{u2, u3, u5, u6} L _inst_2 D _inst_3) (CategoryTheory.Functor.{u1, u3, u4, u6} S _inst_1 D _inst_3) (CategoryTheory.Functor.category.{u1, u3, u4, u6} S _inst_1 D _inst_3)) (CategoryTheory.whiskeringLeft.{u4, u1, u5, u2, u6, u3} S _inst_1 L _inst_2 D _inst_3)) ι)) G) F)
+<too large>
 Case conversion may be inaccurate. Consider using '#align category_theory.Ran.equiv CategoryTheory.Ran.equivₓ'. -/
 /-- An auxiliary definition used to define `Ran` and `Ran.adjunction`. -/
 @[simps]
@@ -175,10 +172,7 @@ def adjunction [∀ X, HasLimitsOfShape (StructuredArrow X ι) D] :
 #align category_theory.Ran.adjunction CategoryTheory.Ran.adjunction
 
 /- warning: category_theory.Ran.reflective -> CategoryTheory.Ran.reflective is a dubious translation:
-lean 3 declaration is
-  forall {S : Type.{u4}} {L : Type.{u5}} (D : Type.{u6}) [_inst_1 : CategoryTheory.Category.{u1, u4} S] [_inst_2 : CategoryTheory.Category.{u2, u5} L] [_inst_3 : CategoryTheory.Category.{u3, u6} D] (ι : CategoryTheory.Functor.{u1, u2, u4, u5} S _inst_1 L _inst_2) [_inst_4 : CategoryTheory.Full.{u1, u2, u4, u5} S _inst_1 L _inst_2 ι] [_inst_5 : CategoryTheory.Faithful.{u1, u2, u4, u5} S _inst_1 L _inst_2 ι] [_inst_6 : forall (X : L), CategoryTheory.Limits.HasLimitsOfShape.{max u2 u1, max u4 u2, u3, u6} (CategoryTheory.StructuredArrow.{u1, u2, u4, u5} S _inst_1 L _inst_2 X ι) (CategoryTheory.StructuredArrow.category.{u2, u5, u4, u1} S _inst_1 L _inst_2 X ι) D _inst_3], CategoryTheory.IsIso.{max (max u1 u3 u4 u6) u4 u3, max (max u4 u3) u1 u3 u4 u6} (CategoryTheory.Functor.{max u4 u3, max u4 u3, max u1 u3 u4 u6, max u1 u3 u4 u6} (CategoryTheory.Functor.{u1, u3, u4, u6} S _inst_1 D _inst_3) (CategoryTheory.Functor.category.{u1, u3, u4, u6} S _inst_1 D _inst_3) (CategoryTheory.Functor.{u1, u3, u4, u6} S _inst_1 D _inst_3) (CategoryTheory.Functor.category.{u1, u3, u4, u6} S _inst_1 D _inst_3)) (CategoryTheory.Functor.category.{max u4 u3, max u4 u3, max u1 u3 u4 u6, max u1 u3 u4 u6} (CategoryTheory.Functor.{u1, u3, u4, u6} S _inst_1 D _inst_3) (CategoryTheory.Functor.category.{u1, u3, u4, u6} S _inst_1 D _inst_3) (CategoryTheory.Functor.{u1, u3, u4, u6} S _inst_1 D _inst_3) (CategoryTheory.Functor.category.{u1, u3, u4, u6} S _inst_1 D _inst_3)) (CategoryTheory.Functor.comp.{max u4 u3, max u5 u3, max u4 u3, max u1 u3 u4 u6, max u2 u3 u5 u6, max u1 u3 u4 u6} (CategoryTheory.Functor.{u1, u3, u4, u6} S _inst_1 D _inst_3) (CategoryTheory.Functor.category.{u1, u3, u4, u6} S _inst_1 D _inst_3) (CategoryTheory.Functor.{u2, u3, u5, u6} L _inst_2 D _inst_3) (CategoryTheory.Functor.category.{u2, u3, u5, u6} L _inst_2 D _inst_3) (CategoryTheory.Functor.{u1, u3, u4, u6} S _inst_1 D _inst_3) (CategoryTheory.Functor.category.{u1, u3, u4, u6} S _inst_1 D _inst_3) (CategoryTheory.ran.{u1, u2, u3, u4, u5, u6} S L D _inst_1 _inst_2 _inst_3 ι (CategoryTheory.Ran.adjunction._proof_1.{u4, u5, u6, u1, u2, u3} S L D _inst_1 _inst_2 _inst_3 ι (fun (X : L) => _inst_6 X))) (CategoryTheory.Functor.obj.{max u4 u2, max (max u2 u3 u5 u6) u4 u3, max u1 u2 u4 u5, max (max u5 u3) (max u4 u3) (max u2 u3 u5 u6) u1 u3 u4 u6} (CategoryTheory.Functor.{u1, u2, u4, u5} S _inst_1 L _inst_2) (CategoryTheory.Functor.category.{u1, u2, u4, u5} S _inst_1 L _inst_2) (CategoryTheory.Functor.{max u5 u3, max u4 u3, max u2 u3 u5 u6, max u1 u3 u4 u6} (CategoryTheory.Functor.{u2, u3, u5, u6} L _inst_2 D _inst_3) (CategoryTheory.Functor.category.{u2, u3, u5, u6} L _inst_2 D _inst_3) (CategoryTheory.Functor.{u1, u3, u4, u6} S _inst_1 D _inst_3) (CategoryTheory.Functor.category.{u1, u3, u4, u6} S _inst_1 D _inst_3)) (CategoryTheory.Functor.category.{max u5 u3, max u4 u3, max u2 u3 u5 u6, max u1 u3 u4 u6} (CategoryTheory.Functor.{u2, u3, u5, u6} L _inst_2 D _inst_3) (CategoryTheory.Functor.category.{u2, u3, u5, u6} L _inst_2 D _inst_3) (CategoryTheory.Functor.{u1, u3, u4, u6} S _inst_1 D _inst_3) (CategoryTheory.Functor.category.{u1, u3, u4, u6} S _inst_1 D _inst_3)) (CategoryTheory.whiskeringLeft.{u4, u1, u5, u2, u6, u3} S _inst_1 L _inst_2 D _inst_3) ι)) (CategoryTheory.Functor.id.{max u4 u3, max u1 u3 u4 u6} (CategoryTheory.Functor.{u1, u3, u4, u6} S _inst_1 D _inst_3) (CategoryTheory.Functor.category.{u1, u3, u4, u6} S _inst_1 D _inst_3)) (CategoryTheory.Adjunction.counit.{max u5 u3, max u4 u3, max u2 u3 u5 u6, max u1 u3 u4 u6} (CategoryTheory.Functor.{u2, u3, u5, u6} L _inst_2 D _inst_3) (CategoryTheory.Functor.category.{u2, u3, u5, u6} L _inst_2 D _inst_3) (CategoryTheory.Functor.{u1, u3, u4, u6} S _inst_1 D _inst_3) (CategoryTheory.Functor.category.{u1, u3, u4, u6} S _inst_1 D _inst_3) (CategoryTheory.Functor.obj.{max u4 u2, max (max u2 u3 u5 u6) u4 u3, max u1 u2 u4 u5, max (max u5 u3) (max u4 u3) (max u2 u3 u5 u6) u1 u3 u4 u6} (CategoryTheory.Functor.{u1, u2, u4, u5} S _inst_1 L _inst_2) (CategoryTheory.Functor.category.{u1, u2, u4, u5} S _inst_1 L _inst_2) (CategoryTheory.Functor.{max u5 u3, max u4 u3, max u2 u3 u5 u6, max u1 u3 u4 u6} (CategoryTheory.Functor.{u2, u3, u5, u6} L _inst_2 D _inst_3) (CategoryTheory.Functor.category.{u2, u3, u5, u6} L _inst_2 D _inst_3) (CategoryTheory.Functor.{u1, u3, u4, u6} S _inst_1 D _inst_3) (CategoryTheory.Functor.category.{u1, u3, u4, u6} S _inst_1 D _inst_3)) (CategoryTheory.Functor.category.{max u5 u3, max u4 u3, max u2 u3 u5 u6, max u1 u3 u4 u6} (CategoryTheory.Functor.{u2, u3, u5, u6} L _inst_2 D _inst_3) (CategoryTheory.Functor.category.{u2, u3, u5, u6} L _inst_2 D _inst_3) (CategoryTheory.Functor.{u1, u3, u4, u6} S _inst_1 D _inst_3) (CategoryTheory.Functor.category.{u1, u3, u4, u6} S _inst_1 D _inst_3)) (CategoryTheory.whiskeringLeft.{u4, u1, u5, u2, u6, u3} S _inst_1 L _inst_2 D _inst_3) ι) (CategoryTheory.ran.{u1, u2, u3, u4, u5, u6} S L D _inst_1 _inst_2 _inst_3 ι (CategoryTheory.Ran.adjunction._proof_1.{u4, u5, u6, u1, u2, u3} S L D _inst_1 _inst_2 _inst_3 ι (fun (X : L) => _inst_6 X))) (CategoryTheory.Ran.adjunction.{u1, u2, u3, u4, u5, u6} S L D _inst_1 _inst_2 _inst_3 ι (fun (X : L) => _inst_6 X)))
-but is expected to have type
-  forall {S : Type.{u4}} {L : Type.{u5}} (D : Type.{u6}) [_inst_1 : CategoryTheory.Category.{u1, u4} S] [_inst_2 : CategoryTheory.Category.{u2, u5} L] [_inst_3 : CategoryTheory.Category.{u3, u6} D] (ι : CategoryTheory.Functor.{u1, u2, u4, u5} S _inst_1 L _inst_2) [_inst_4 : CategoryTheory.Full.{u1, u2, u4, u5} S _inst_1 L _inst_2 ι] [_inst_5 : CategoryTheory.Faithful.{u1, u2, u4, u5} S _inst_1 L _inst_2 ι] [_inst_6 : forall (X : L), CategoryTheory.Limits.HasLimitsOfShape.{max u1 u2, max u4 u2, u3, u6} (CategoryTheory.StructuredArrow.{u1, u2, u4, u5} S _inst_1 L _inst_2 X ι) (CategoryTheory.instCategoryStructuredArrow.{u1, u2, u4, u5} S _inst_1 L _inst_2 X ι) D _inst_3], CategoryTheory.IsIso.{max (max (max u4 u6) u1) u3, max (max (max u4 u6) u1) u3} (CategoryTheory.Functor.{max u4 u3, max u4 u3, max (max (max u4 u6) u1) u3, max (max (max u4 u6) u1) u3} (CategoryTheory.Functor.{u1, u3, u4, u6} S _inst_1 D _inst_3) (CategoryTheory.Functor.category.{u1, u3, u4, u6} S _inst_1 D _inst_3) (CategoryTheory.Functor.{u1, u3, u4, u6} S _inst_1 D _inst_3) (CategoryTheory.Functor.category.{u1, u3, u4, u6} S _inst_1 D _inst_3)) (CategoryTheory.Functor.category.{max u4 u3, max u4 u3, max (max (max u4 u6) u1) u3, max (max (max u4 u6) u1) u3} (CategoryTheory.Functor.{u1, u3, u4, u6} S _inst_1 D _inst_3) (CategoryTheory.Functor.category.{u1, u3, u4, u6} S _inst_1 D _inst_3) (CategoryTheory.Functor.{u1, u3, u4, u6} S _inst_1 D _inst_3) (CategoryTheory.Functor.category.{u1, u3, u4, u6} S _inst_1 D _inst_3)) (CategoryTheory.Functor.comp.{max u4 u3, max u5 u3, max u4 u3, max (max (max u4 u6) u1) u3, max (max (max u5 u6) u2) u3, max (max (max u4 u6) u1) u3} (CategoryTheory.Functor.{u1, u3, u4, u6} S _inst_1 D _inst_3) (CategoryTheory.Functor.category.{u1, u3, u4, u6} S _inst_1 D _inst_3) (CategoryTheory.Functor.{u2, u3, u5, u6} L _inst_2 D _inst_3) (CategoryTheory.Functor.category.{u2, u3, u5, u6} L _inst_2 D _inst_3) (CategoryTheory.Functor.{u1, u3, u4, u6} S _inst_1 D _inst_3) (CategoryTheory.Functor.category.{u1, u3, u4, u6} S _inst_1 D _inst_3) (CategoryTheory.ran.{u1, u2, u3, u4, u5, u6} S L D _inst_1 _inst_2 _inst_3 ι (fun (X : L) => _inst_6 X)) (Prefunctor.obj.{max (succ u2) (succ u4), max (max (max (max (succ u6) (succ u3)) (succ u2)) (succ u5)) (succ u4), max (max (max u2 u5) u1) u4, max (max (max (max (max u6 u3) u2) u5) u1) u4} (CategoryTheory.Functor.{u1, u2, u4, u5} S _inst_1 L _inst_2) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u4, max (max (max u2 u5) u1) u4} (CategoryTheory.Functor.{u1, u2, u4, u5} S _inst_1 L _inst_2) (CategoryTheory.Category.toCategoryStruct.{max u2 u4, max (max (max u2 u5) u1) u4} (CategoryTheory.Functor.{u1, u2, u4, u5} S _inst_1 L _inst_2) (CategoryTheory.Functor.category.{u1, u2, u4, u5} S _inst_1 L _inst_2))) (CategoryTheory.Functor.{max u5 u3, max u4 u3, max (max (max u6 u5) u3) u2, max (max (max u6 u4) u3) u1} (CategoryTheory.Functor.{u2, u3, u5, u6} L _inst_2 D _inst_3) (CategoryTheory.Functor.category.{u2, u3, u5, u6} L _inst_2 D _inst_3) (CategoryTheory.Functor.{u1, u3, u4, u6} S _inst_1 D _inst_3) (CategoryTheory.Functor.category.{u1, u3, u4, u6} S _inst_1 D _inst_3)) (CategoryTheory.CategoryStruct.toQuiver.{max (max (max (max u6 u3) u2) u5) u4, max (max (max (max (max u6 u3) u2) u5) u1) u4} (CategoryTheory.Functor.{max u5 u3, max u4 u3, max (max (max u6 u5) u3) u2, max (max (max u6 u4) u3) u1} (CategoryTheory.Functor.{u2, u3, u5, u6} L _inst_2 D _inst_3) (CategoryTheory.Functor.category.{u2, u3, u5, u6} L _inst_2 D _inst_3) (CategoryTheory.Functor.{u1, u3, u4, u6} S _inst_1 D _inst_3) (CategoryTheory.Functor.category.{u1, u3, u4, u6} S _inst_1 D _inst_3)) (CategoryTheory.Category.toCategoryStruct.{max (max (max (max u6 u3) u2) u5) u4, max (max (max (max (max u6 u3) u2) u5) u1) u4} (CategoryTheory.Functor.{max u5 u3, max u4 u3, max (max (max u6 u5) u3) u2, max (max (max u6 u4) u3) u1} (CategoryTheory.Functor.{u2, u3, u5, u6} L _inst_2 D _inst_3) (CategoryTheory.Functor.category.{u2, u3, u5, u6} L _inst_2 D _inst_3) (CategoryTheory.Functor.{u1, u3, u4, u6} S _inst_1 D _inst_3) (CategoryTheory.Functor.category.{u1, u3, u4, u6} S _inst_1 D _inst_3)) (CategoryTheory.Functor.category.{max u5 u3, max u4 u3, max (max (max u5 u6) u2) u3, max (max (max u4 u6) u1) u3} (CategoryTheory.Functor.{u2, u3, u5, u6} L _inst_2 D _inst_3) (CategoryTheory.Functor.category.{u2, u3, u5, u6} L _inst_2 D _inst_3) (CategoryTheory.Functor.{u1, u3, u4, u6} S _inst_1 D _inst_3) (CategoryTheory.Functor.category.{u1, u3, u4, u6} S _inst_1 D _inst_3)))) (CategoryTheory.Functor.toPrefunctor.{max u2 u4, max (max (max (max u6 u3) u2) u5) u4, max (max (max u2 u5) u1) u4, max (max (max (max (max u6 u3) u2) u5) u1) u4} (CategoryTheory.Functor.{u1, u2, u4, u5} S _inst_1 L _inst_2) (CategoryTheory.Functor.category.{u1, u2, u4, u5} S _inst_1 L _inst_2) (CategoryTheory.Functor.{max u5 u3, max u4 u3, max (max (max u6 u5) u3) u2, max (max (max u6 u4) u3) u1} (CategoryTheory.Functor.{u2, u3, u5, u6} L _inst_2 D _inst_3) (CategoryTheory.Functor.category.{u2, u3, u5, u6} L _inst_2 D _inst_3) (CategoryTheory.Functor.{u1, u3, u4, u6} S _inst_1 D _inst_3) (CategoryTheory.Functor.category.{u1, u3, u4, u6} S _inst_1 D _inst_3)) (CategoryTheory.Functor.category.{max u5 u3, max u4 u3, max (max (max u5 u6) u2) u3, max (max (max u4 u6) u1) u3} (CategoryTheory.Functor.{u2, u3, u5, u6} L _inst_2 D _inst_3) (CategoryTheory.Functor.category.{u2, u3, u5, u6} L _inst_2 D _inst_3) (CategoryTheory.Functor.{u1, u3, u4, u6} S _inst_1 D _inst_3) (CategoryTheory.Functor.category.{u1, u3, u4, u6} S _inst_1 D _inst_3)) (CategoryTheory.whiskeringLeft.{u4, u1, u5, u2, u6, u3} S _inst_1 L _inst_2 D _inst_3)) ι)) (CategoryTheory.Functor.id.{max u4 u3, max (max (max u4 u6) u1) u3} (CategoryTheory.Functor.{u1, u3, u4, u6} S _inst_1 D _inst_3) (CategoryTheory.Functor.category.{u1, u3, u4, u6} S _inst_1 D _inst_3)) (CategoryTheory.Adjunction.counit.{max u5 u3, max u4 u3, max (max (max u5 u6) u2) u3, max (max (max u4 u6) u1) u3} (CategoryTheory.Functor.{u2, u3, u5, u6} L _inst_2 D _inst_3) (CategoryTheory.Functor.category.{u2, u3, u5, u6} L _inst_2 D _inst_3) (CategoryTheory.Functor.{u1, u3, u4, u6} S _inst_1 D _inst_3) (CategoryTheory.Functor.category.{u1, u3, u4, u6} S _inst_1 D _inst_3) (Prefunctor.obj.{max (succ u2) (succ u4), max (max (max (max (succ u6) (succ u3)) (succ u2)) (succ u5)) (succ u4), max (max (max u2 u5) u1) u4, max (max (max (max (max u6 u3) u2) u5) u1) u4} (CategoryTheory.Functor.{u1, u2, u4, u5} S _inst_1 L _inst_2) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u4, max (max (max u2 u5) u1) u4} (CategoryTheory.Functor.{u1, u2, u4, u5} S _inst_1 L _inst_2) (CategoryTheory.Category.toCategoryStruct.{max u2 u4, max (max (max u2 u5) u1) u4} (CategoryTheory.Functor.{u1, u2, u4, u5} S _inst_1 L _inst_2) (CategoryTheory.Functor.category.{u1, u2, u4, u5} S _inst_1 L _inst_2))) (CategoryTheory.Functor.{max u5 u3, max u4 u3, max (max (max u6 u5) u3) u2, max (max (max u6 u4) u3) u1} (CategoryTheory.Functor.{u2, u3, u5, u6} L _inst_2 D _inst_3) (CategoryTheory.Functor.category.{u2, u3, u5, u6} L _inst_2 D _inst_3) (CategoryTheory.Functor.{u1, u3, u4, u6} S _inst_1 D _inst_3) (CategoryTheory.Functor.category.{u1, u3, u4, u6} S _inst_1 D _inst_3)) (CategoryTheory.CategoryStruct.toQuiver.{max (max (max (max u6 u3) u2) u5) u4, max (max (max (max (max u6 u3) u2) u5) u1) u4} (CategoryTheory.Functor.{max u5 u3, max u4 u3, max (max (max u6 u5) u3) u2, max (max (max u6 u4) u3) u1} (CategoryTheory.Functor.{u2, u3, u5, u6} L _inst_2 D _inst_3) (CategoryTheory.Functor.category.{u2, u3, u5, u6} L _inst_2 D _inst_3) (CategoryTheory.Functor.{u1, u3, u4, u6} S _inst_1 D _inst_3) (CategoryTheory.Functor.category.{u1, u3, u4, u6} S _inst_1 D _inst_3)) (CategoryTheory.Category.toCategoryStruct.{max (max (max (max u6 u3) u2) u5) u4, max (max (max (max (max u6 u3) u2) u5) u1) u4} (CategoryTheory.Functor.{max u5 u3, max u4 u3, max (max (max u6 u5) u3) u2, max (max (max u6 u4) u3) u1} (CategoryTheory.Functor.{u2, u3, u5, u6} L _inst_2 D _inst_3) (CategoryTheory.Functor.category.{u2, u3, u5, u6} L _inst_2 D _inst_3) (CategoryTheory.Functor.{u1, u3, u4, u6} S _inst_1 D _inst_3) (CategoryTheory.Functor.category.{u1, u3, u4, u6} S _inst_1 D _inst_3)) (CategoryTheory.Functor.category.{max u5 u3, max u4 u3, max (max (max u5 u6) u2) u3, max (max (max u4 u6) u1) u3} (CategoryTheory.Functor.{u2, u3, u5, u6} L _inst_2 D _inst_3) (CategoryTheory.Functor.category.{u2, u3, u5, u6} L _inst_2 D _inst_3) (CategoryTheory.Functor.{u1, u3, u4, u6} S _inst_1 D _inst_3) (CategoryTheory.Functor.category.{u1, u3, u4, u6} S _inst_1 D _inst_3)))) (CategoryTheory.Functor.toPrefunctor.{max u2 u4, max (max (max (max u6 u3) u2) u5) u4, max (max (max u2 u5) u1) u4, max (max (max (max (max u6 u3) u2) u5) u1) u4} (CategoryTheory.Functor.{u1, u2, u4, u5} S _inst_1 L _inst_2) (CategoryTheory.Functor.category.{u1, u2, u4, u5} S _inst_1 L _inst_2) (CategoryTheory.Functor.{max u5 u3, max u4 u3, max (max (max u6 u5) u3) u2, max (max (max u6 u4) u3) u1} (CategoryTheory.Functor.{u2, u3, u5, u6} L _inst_2 D _inst_3) (CategoryTheory.Functor.category.{u2, u3, u5, u6} L _inst_2 D _inst_3) (CategoryTheory.Functor.{u1, u3, u4, u6} S _inst_1 D _inst_3) (CategoryTheory.Functor.category.{u1, u3, u4, u6} S _inst_1 D _inst_3)) (CategoryTheory.Functor.category.{max u5 u3, max u4 u3, max (max (max u5 u6) u2) u3, max (max (max u4 u6) u1) u3} (CategoryTheory.Functor.{u2, u3, u5, u6} L _inst_2 D _inst_3) (CategoryTheory.Functor.category.{u2, u3, u5, u6} L _inst_2 D _inst_3) (CategoryTheory.Functor.{u1, u3, u4, u6} S _inst_1 D _inst_3) (CategoryTheory.Functor.category.{u1, u3, u4, u6} S _inst_1 D _inst_3)) (CategoryTheory.whiskeringLeft.{u4, u1, u5, u2, u6, u3} S _inst_1 L _inst_2 D _inst_3)) ι) (CategoryTheory.ran.{u1, u2, u3, u4, u5, u6} S L D _inst_1 _inst_2 _inst_3 ι (fun (X : L) => _inst_6 X)) (CategoryTheory.Ran.adjunction.{u1, u2, u3, u4, u5, u6} S L D _inst_1 _inst_2 _inst_3 ι (fun (X : L) => _inst_6 X)))
+<too large>
 Case conversion may be inaccurate. Consider using '#align category_theory.Ran.reflective CategoryTheory.Ran.reflectiveₓ'. -/
 theorem reflective [Full ι] [Faithful ι] [∀ X, HasLimitsOfShape (StructuredArrow X ι) D] :
     IsIso (adjunction D ι).counit :=
@@ -260,10 +254,7 @@ def loc (F : S ⥤ D) [I : ∀ x, HasColimit (diagram ι F x)] : L ⥤ D
 -/
 
 /- warning: category_theory.Lan.equiv -> CategoryTheory.Lan.equiv is a dubious translation:
-lean 3 declaration is
-  forall {S : Type.{u4}} {L : Type.{u5}} {D : Type.{u6}} [_inst_1 : CategoryTheory.Category.{u1, u4} S] [_inst_2 : CategoryTheory.Category.{u2, u5} L] [_inst_3 : CategoryTheory.Category.{u3, u6} D] (ι : CategoryTheory.Functor.{u1, u2, u4, u5} S _inst_1 L _inst_2) (F : CategoryTheory.Functor.{u1, u3, u4, u6} S _inst_1 D _inst_3) [I : forall (x : L), CategoryTheory.Limits.HasColimit.{max u1 u2, max u4 u2, u3, u6} (CategoryTheory.CostructuredArrow.{u1, u2, u4, u5} S _inst_1 L _inst_2 ι x) (CategoryTheory.CostructuredArrow.category.{u2, u5, u4, u1} S _inst_1 L _inst_2 ι x) D _inst_3 (CategoryTheory.Lan.diagram.{u1, u2, u3, u4, u5, u6} S L D _inst_1 _inst_2 _inst_3 ι F x)] (G : CategoryTheory.Functor.{u2, u3, u5, u6} L _inst_2 D _inst_3), Equiv.{succ (max u5 u3), succ (max u4 u3)} (Quiver.Hom.{succ (max u5 u3), max u2 u3 u5 u6} (CategoryTheory.Functor.{u2, u3, u5, u6} L _inst_2 D _inst_3) (CategoryTheory.CategoryStruct.toQuiver.{max u5 u3, max u2 u3 u5 u6} (CategoryTheory.Functor.{u2, u3, u5, u6} L _inst_2 D _inst_3) (CategoryTheory.Category.toCategoryStruct.{max u5 u3, max u2 u3 u5 u6} (CategoryTheory.Functor.{u2, u3, u5, u6} L _inst_2 D _inst_3) (CategoryTheory.Functor.category.{u2, u3, u5, u6} L _inst_2 D _inst_3))) (CategoryTheory.Lan.loc.{u1, u2, u3, u4, u5, u6} S L D _inst_1 _inst_2 _inst_3 ι F (CategoryTheory.Lan.equiv._proof_1.{u4, u5, u6, u1, u2, u3} S L D _inst_1 _inst_2 _inst_3 ι F I)) G) (Quiver.Hom.{succ (max u4 u3), max u1 u3 u4 u6} (CategoryTheory.Functor.{u1, u3, u4, u6} S _inst_1 D _inst_3) (CategoryTheory.CategoryStruct.toQuiver.{max u4 u3, max u1 u3 u4 u6} (CategoryTheory.Functor.{u1, u3, u4, u6} S _inst_1 D _inst_3) (CategoryTheory.Category.toCategoryStruct.{max u4 u3, max u1 u3 u4 u6} (CategoryTheory.Functor.{u1, u3, u4, u6} S _inst_1 D _inst_3) (CategoryTheory.Functor.category.{u1, u3, u4, u6} S _inst_1 D _inst_3))) F (CategoryTheory.Functor.obj.{max u5 u3, max u4 u3, max u2 u3 u5 u6, max u1 u3 u4 u6} (CategoryTheory.Functor.{u2, u3, u5, u6} L _inst_2 D _inst_3) (CategoryTheory.Functor.category.{u2, u3, u5, u6} L _inst_2 D _inst_3) (CategoryTheory.Functor.{u1, u3, u4, u6} S _inst_1 D _inst_3) (CategoryTheory.Functor.category.{u1, u3, u4, u6} S _inst_1 D _inst_3) (CategoryTheory.Functor.obj.{max u4 u2, max (max u2 u3 u5 u6) u4 u3, max u1 u2 u4 u5, max (max u5 u3) (max u4 u3) (max u2 u3 u5 u6) u1 u3 u4 u6} (CategoryTheory.Functor.{u1, u2, u4, u5} S _inst_1 L _inst_2) (CategoryTheory.Functor.category.{u1, u2, u4, u5} S _inst_1 L _inst_2) (CategoryTheory.Functor.{max u5 u3, max u4 u3, max u2 u3 u5 u6, max u1 u3 u4 u6} (CategoryTheory.Functor.{u2, u3, u5, u6} L _inst_2 D _inst_3) (CategoryTheory.Functor.category.{u2, u3, u5, u6} L _inst_2 D _inst_3) (CategoryTheory.Functor.{u1, u3, u4, u6} S _inst_1 D _inst_3) (CategoryTheory.Functor.category.{u1, u3, u4, u6} S _inst_1 D _inst_3)) (CategoryTheory.Functor.category.{max u5 u3, max u4 u3, max u2 u3 u5 u6, max u1 u3 u4 u6} (CategoryTheory.Functor.{u2, u3, u5, u6} L _inst_2 D _inst_3) (CategoryTheory.Functor.category.{u2, u3, u5, u6} L _inst_2 D _inst_3) (CategoryTheory.Functor.{u1, u3, u4, u6} S _inst_1 D _inst_3) (CategoryTheory.Functor.category.{u1, u3, u4, u6} S _inst_1 D _inst_3)) (CategoryTheory.whiskeringLeft.{u4, u1, u5, u2, u6, u3} S _inst_1 L _inst_2 D _inst_3) ι) G))
-but is expected to have type
-  forall {S : Type.{u4}} {L : Type.{u5}} {D : Type.{u6}} [_inst_1 : CategoryTheory.Category.{u1, u4} S] [_inst_2 : CategoryTheory.Category.{u2, u5} L] [_inst_3 : CategoryTheory.Category.{u3, u6} D] (ι : CategoryTheory.Functor.{u1, u2, u4, u5} S _inst_1 L _inst_2) (F : CategoryTheory.Functor.{u1, u3, u4, u6} S _inst_1 D _inst_3) [I : forall (x : L), CategoryTheory.Limits.HasColimit.{max u1 u2, max u4 u2, u3, u6} (CategoryTheory.CostructuredArrow.{u1, u2, u4, u5} S _inst_1 L _inst_2 ι x) (CategoryTheory.instCategoryCostructuredArrow.{u1, u2, u4, u5} S _inst_1 L _inst_2 ι x) D _inst_3 (CategoryTheory.Lan.diagram.{u1, u2, u3, u4, u5, u6} S L D _inst_1 _inst_2 _inst_3 ι F x)] (G : CategoryTheory.Functor.{u2, u3, u5, u6} L _inst_2 D _inst_3), Equiv.{max (succ u5) (succ u3), max (succ u4) (succ u3)} (Quiver.Hom.{max (succ u5) (succ u3), max (max (max u6 u5) u3) u2} (CategoryTheory.Functor.{u2, u3, u5, u6} L _inst_2 D _inst_3) (CategoryTheory.CategoryStruct.toQuiver.{max u5 u3, max (max (max u5 u6) u2) u3} (CategoryTheory.Functor.{u2, u3, u5, u6} L _inst_2 D _inst_3) (CategoryTheory.Category.toCategoryStruct.{max u5 u3, max (max (max u5 u6) u2) u3} (CategoryTheory.Functor.{u2, u3, u5, u6} L _inst_2 D _inst_3) (CategoryTheory.Functor.category.{u2, u3, u5, u6} L _inst_2 D _inst_3))) (CategoryTheory.Lan.loc.{u1, u2, u3, u4, u5, u6} S L D _inst_1 _inst_2 _inst_3 ι F (fun (x : L) => I x)) G) (Quiver.Hom.{max (succ u4) (succ u3), max (max (max u4 u6) u1) u3} (CategoryTheory.Functor.{u1, u3, u4, u6} S _inst_1 D _inst_3) (CategoryTheory.CategoryStruct.toQuiver.{max u4 u3, max (max (max u4 u6) u1) u3} (CategoryTheory.Functor.{u1, u3, u4, u6} S _inst_1 D _inst_3) (CategoryTheory.Category.toCategoryStruct.{max u4 u3, max (max (max u4 u6) u1) u3} (CategoryTheory.Functor.{u1, u3, u4, u6} S _inst_1 D _inst_3) (CategoryTheory.Functor.category.{u1, u3, u4, u6} S _inst_1 D _inst_3))) F (Prefunctor.obj.{max (succ u5) (succ u3), max (succ u4) (succ u3), max (max (max u5 u2) u3) u6, max (max (max u4 u1) u3) u6} (CategoryTheory.Functor.{u2, u3, u5, u6} L _inst_2 D _inst_3) (CategoryTheory.CategoryStruct.toQuiver.{max u5 u3, max (max (max u5 u2) u3) u6} (CategoryTheory.Functor.{u2, u3, u5, u6} L _inst_2 D _inst_3) (CategoryTheory.Category.toCategoryStruct.{max u5 u3, max (max (max u5 u2) u3) u6} (CategoryTheory.Functor.{u2, u3, u5, u6} L _inst_2 D _inst_3) (CategoryTheory.Functor.category.{u2, u3, u5, u6} L _inst_2 D _inst_3))) (CategoryTheory.Functor.{u1, u3, u4, u6} S _inst_1 D _inst_3) (CategoryTheory.CategoryStruct.toQuiver.{max u4 u3, max (max (max u4 u1) u3) u6} (CategoryTheory.Functor.{u1, u3, u4, u6} S _inst_1 D _inst_3) (CategoryTheory.Category.toCategoryStruct.{max u4 u3, max (max (max u4 u1) u3) u6} (CategoryTheory.Functor.{u1, u3, u4, u6} S _inst_1 D _inst_3) (CategoryTheory.Functor.category.{u1, u3, u4, u6} S _inst_1 D _inst_3))) (CategoryTheory.Functor.toPrefunctor.{max u5 u3, max u4 u3, max (max (max u5 u2) u3) u6, max (max (max u4 u1) u3) u6} (CategoryTheory.Functor.{u2, u3, u5, u6} L _inst_2 D _inst_3) (CategoryTheory.Functor.category.{u2, u3, u5, u6} L _inst_2 D _inst_3) (CategoryTheory.Functor.{u1, u3, u4, u6} S _inst_1 D _inst_3) (CategoryTheory.Functor.category.{u1, u3, u4, u6} S _inst_1 D _inst_3) (Prefunctor.obj.{max (succ u2) (succ u4), max (max (max (max (succ u3) (succ u6)) (succ u2)) (succ u5)) (succ u4), max (max (max u2 u5) u1) u4, max (max (max (max (max u3 u6) u2) u5) u1) u4} (CategoryTheory.Functor.{u1, u2, u4, u5} S _inst_1 L _inst_2) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u4, max (max (max u2 u5) u1) u4} (CategoryTheory.Functor.{u1, u2, u4, u5} S _inst_1 L _inst_2) (CategoryTheory.Category.toCategoryStruct.{max u2 u4, max (max (max u2 u5) u1) u4} (CategoryTheory.Functor.{u1, u2, u4, u5} S _inst_1 L _inst_2) (CategoryTheory.Functor.category.{u1, u2, u4, u5} S _inst_1 L _inst_2))) (CategoryTheory.Functor.{max u5 u3, max u4 u3, max (max (max u6 u5) u3) u2, max (max (max u6 u4) u3) u1} (CategoryTheory.Functor.{u2, u3, u5, u6} L _inst_2 D _inst_3) (CategoryTheory.Functor.category.{u2, u3, u5, u6} L _inst_2 D _inst_3) (CategoryTheory.Functor.{u1, u3, u4, u6} S _inst_1 D _inst_3) (CategoryTheory.Functor.category.{u1, u3, u4, u6} S _inst_1 D _inst_3)) (CategoryTheory.CategoryStruct.toQuiver.{max (max (max (max u3 u6) u2) u5) u4, max (max (max (max (max u3 u6) u2) u5) u1) u4} (CategoryTheory.Functor.{max u5 u3, max u4 u3, max (max (max u6 u5) u3) u2, max (max (max u6 u4) u3) u1} (CategoryTheory.Functor.{u2, u3, u5, u6} L _inst_2 D _inst_3) (CategoryTheory.Functor.category.{u2, u3, u5, u6} L _inst_2 D _inst_3) (CategoryTheory.Functor.{u1, u3, u4, u6} S _inst_1 D _inst_3) (CategoryTheory.Functor.category.{u1, u3, u4, u6} S _inst_1 D _inst_3)) (CategoryTheory.Category.toCategoryStruct.{max (max (max (max u3 u6) u2) u5) u4, max (max (max (max (max u3 u6) u2) u5) u1) u4} (CategoryTheory.Functor.{max u5 u3, max u4 u3, max (max (max u6 u5) u3) u2, max (max (max u6 u4) u3) u1} (CategoryTheory.Functor.{u2, u3, u5, u6} L _inst_2 D _inst_3) (CategoryTheory.Functor.category.{u2, u3, u5, u6} L _inst_2 D _inst_3) (CategoryTheory.Functor.{u1, u3, u4, u6} S _inst_1 D _inst_3) (CategoryTheory.Functor.category.{u1, u3, u4, u6} S _inst_1 D _inst_3)) (CategoryTheory.Functor.category.{max u5 u3, max u4 u3, max (max (max u5 u6) u2) u3, max (max (max u4 u6) u1) u3} (CategoryTheory.Functor.{u2, u3, u5, u6} L _inst_2 D _inst_3) (CategoryTheory.Functor.category.{u2, u3, u5, u6} L _inst_2 D _inst_3) (CategoryTheory.Functor.{u1, u3, u4, u6} S _inst_1 D _inst_3) (CategoryTheory.Functor.category.{u1, u3, u4, u6} S _inst_1 D _inst_3)))) (CategoryTheory.Functor.toPrefunctor.{max u2 u4, max (max (max (max u3 u6) u2) u5) u4, max (max (max u2 u5) u1) u4, max (max (max (max (max u3 u6) u2) u5) u1) u4} (CategoryTheory.Functor.{u1, u2, u4, u5} S _inst_1 L _inst_2) (CategoryTheory.Functor.category.{u1, u2, u4, u5} S _inst_1 L _inst_2) (CategoryTheory.Functor.{max u5 u3, max u4 u3, max (max (max u6 u5) u3) u2, max (max (max u6 u4) u3) u1} (CategoryTheory.Functor.{u2, u3, u5, u6} L _inst_2 D _inst_3) (CategoryTheory.Functor.category.{u2, u3, u5, u6} L _inst_2 D _inst_3) (CategoryTheory.Functor.{u1, u3, u4, u6} S _inst_1 D _inst_3) (CategoryTheory.Functor.category.{u1, u3, u4, u6} S _inst_1 D _inst_3)) (CategoryTheory.Functor.category.{max u5 u3, max u4 u3, max (max (max u5 u6) u2) u3, max (max (max u4 u6) u1) u3} (CategoryTheory.Functor.{u2, u3, u5, u6} L _inst_2 D _inst_3) (CategoryTheory.Functor.category.{u2, u3, u5, u6} L _inst_2 D _inst_3) (CategoryTheory.Functor.{u1, u3, u4, u6} S _inst_1 D _inst_3) (CategoryTheory.Functor.category.{u1, u3, u4, u6} S _inst_1 D _inst_3)) (CategoryTheory.whiskeringLeft.{u4, u1, u5, u2, u6, u3} S _inst_1 L _inst_2 D _inst_3)) ι)) G))
+<too large>
 Case conversion may be inaccurate. Consider using '#align category_theory.Lan.equiv CategoryTheory.Lan.equivₓ'. -/
 /-- An auxiliary definition used to define `Lan` and `Lan.adjunction`. -/
 @[simps]
@@ -342,10 +333,7 @@ def adjunction [∀ X, HasColimitsOfShape (CostructuredArrow ι X) D] :
 #align category_theory.Lan.adjunction CategoryTheory.Lan.adjunction
 
 /- warning: category_theory.Lan.coreflective -> CategoryTheory.Lan.coreflective is a dubious translation:
-lean 3 declaration is
-  forall {S : Type.{u4}} {L : Type.{u5}} (D : Type.{u6}) [_inst_1 : CategoryTheory.Category.{u1, u4} S] [_inst_2 : CategoryTheory.Category.{u2, u5} L] [_inst_3 : CategoryTheory.Category.{u3, u6} D] (ι : CategoryTheory.Functor.{u1, u2, u4, u5} S _inst_1 L _inst_2) [_inst_4 : CategoryTheory.Full.{u1, u2, u4, u5} S _inst_1 L _inst_2 ι] [_inst_5 : CategoryTheory.Faithful.{u1, u2, u4, u5} S _inst_1 L _inst_2 ι] [_inst_6 : forall (X : L), CategoryTheory.Limits.HasColimitsOfShape.{max u1 u2, max u4 u2, u3, u6} (CategoryTheory.CostructuredArrow.{u1, u2, u4, u5} S _inst_1 L _inst_2 ι X) (CategoryTheory.CostructuredArrow.category.{u2, u5, u4, u1} S _inst_1 L _inst_2 ι X) D _inst_3], CategoryTheory.IsIso.{max (max u1 u3 u4 u6) u4 u3, max (max u4 u3) u1 u3 u4 u6} (CategoryTheory.Functor.{max u4 u3, max u4 u3, max u1 u3 u4 u6, max u1 u3 u4 u6} (CategoryTheory.Functor.{u1, u3, u4, u6} S _inst_1 D _inst_3) (CategoryTheory.Functor.category.{u1, u3, u4, u6} S _inst_1 D _inst_3) (CategoryTheory.Functor.{u1, u3, u4, u6} S _inst_1 D _inst_3) (CategoryTheory.Functor.category.{u1, u3, u4, u6} S _inst_1 D _inst_3)) (CategoryTheory.Functor.category.{max u4 u3, max u4 u3, max u1 u3 u4 u6, max u1 u3 u4 u6} (CategoryTheory.Functor.{u1, u3, u4, u6} S _inst_1 D _inst_3) (CategoryTheory.Functor.category.{u1, u3, u4, u6} S _inst_1 D _inst_3) (CategoryTheory.Functor.{u1, u3, u4, u6} S _inst_1 D _inst_3) (CategoryTheory.Functor.category.{u1, u3, u4, u6} S _inst_1 D _inst_3)) (CategoryTheory.Functor.id.{max u4 u3, max u1 u3 u4 u6} (CategoryTheory.Functor.{u1, u3, u4, u6} S _inst_1 D _inst_3) (CategoryTheory.Functor.category.{u1, u3, u4, u6} S _inst_1 D _inst_3)) (CategoryTheory.Functor.comp.{max u4 u3, max u5 u3, max u4 u3, max u1 u3 u4 u6, max u2 u3 u5 u6, max u1 u3 u4 u6} (CategoryTheory.Functor.{u1, u3, u4, u6} S _inst_1 D _inst_3) (CategoryTheory.Functor.category.{u1, u3, u4, u6} S _inst_1 D _inst_3) (CategoryTheory.Functor.{u2, u3, u5, u6} L _inst_2 D _inst_3) (CategoryTheory.Functor.category.{u2, u3, u5, u6} L _inst_2 D _inst_3) (CategoryTheory.Functor.{u1, u3, u4, u6} S _inst_1 D _inst_3) (CategoryTheory.Functor.category.{u1, u3, u4, u6} S _inst_1 D _inst_3) (CategoryTheory.lan.{u1, u2, u3, u4, u5, u6} S L D _inst_1 _inst_2 _inst_3 ι (CategoryTheory.Lan.adjunction._proof_1.{u4, u5, u6, u1, u2, u3} S L D _inst_1 _inst_2 _inst_3 ι (fun (X : L) => _inst_6 X))) (CategoryTheory.Functor.obj.{max u4 u2, max (max u2 u3 u5 u6) u4 u3, max u1 u2 u4 u5, max (max u5 u3) (max u4 u3) (max u2 u3 u5 u6) u1 u3 u4 u6} (CategoryTheory.Functor.{u1, u2, u4, u5} S _inst_1 L _inst_2) (CategoryTheory.Functor.category.{u1, u2, u4, u5} S _inst_1 L _inst_2) (CategoryTheory.Functor.{max u5 u3, max u4 u3, max u2 u3 u5 u6, max u1 u3 u4 u6} (CategoryTheory.Functor.{u2, u3, u5, u6} L _inst_2 D _inst_3) (CategoryTheory.Functor.category.{u2, u3, u5, u6} L _inst_2 D _inst_3) (CategoryTheory.Functor.{u1, u3, u4, u6} S _inst_1 D _inst_3) (CategoryTheory.Functor.category.{u1, u3, u4, u6} S _inst_1 D _inst_3)) (CategoryTheory.Functor.category.{max u5 u3, max u4 u3, max u2 u3 u5 u6, max u1 u3 u4 u6} (CategoryTheory.Functor.{u2, u3, u5, u6} L _inst_2 D _inst_3) (CategoryTheory.Functor.category.{u2, u3, u5, u6} L _inst_2 D _inst_3) (CategoryTheory.Functor.{u1, u3, u4, u6} S _inst_1 D _inst_3) (CategoryTheory.Functor.category.{u1, u3, u4, u6} S _inst_1 D _inst_3)) (CategoryTheory.whiskeringLeft.{u4, u1, u5, u2, u6, u3} S _inst_1 L _inst_2 D _inst_3) ι)) (CategoryTheory.Adjunction.unit.{max u4 u3, max u5 u3, max u1 u3 u4 u6, max u2 u3 u5 u6} (CategoryTheory.Functor.{u1, u3, u4, u6} S _inst_1 D _inst_3) (CategoryTheory.Functor.category.{u1, u3, u4, u6} S _inst_1 D _inst_3) (CategoryTheory.Functor.{u2, u3, u5, u6} L _inst_2 D _inst_3) (CategoryTheory.Functor.category.{u2, u3, u5, u6} L _inst_2 D _inst_3) (CategoryTheory.lan.{u1, u2, u3, u4, u5, u6} S L D _inst_1 _inst_2 _inst_3 ι (CategoryTheory.Lan.adjunction._proof_1.{u4, u5, u6, u1, u2, u3} S L D _inst_1 _inst_2 _inst_3 ι (fun (X : L) => _inst_6 X))) (CategoryTheory.Functor.obj.{max u4 u2, max (max u2 u3 u5 u6) u4 u3, max u1 u2 u4 u5, max (max u5 u3) (max u4 u3) (max u2 u3 u5 u6) u1 u3 u4 u6} (CategoryTheory.Functor.{u1, u2, u4, u5} S _inst_1 L _inst_2) (CategoryTheory.Functor.category.{u1, u2, u4, u5} S _inst_1 L _inst_2) (CategoryTheory.Functor.{max u5 u3, max u4 u3, max u2 u3 u5 u6, max u1 u3 u4 u6} (CategoryTheory.Functor.{u2, u3, u5, u6} L _inst_2 D _inst_3) (CategoryTheory.Functor.category.{u2, u3, u5, u6} L _inst_2 D _inst_3) (CategoryTheory.Functor.{u1, u3, u4, u6} S _inst_1 D _inst_3) (CategoryTheory.Functor.category.{u1, u3, u4, u6} S _inst_1 D _inst_3)) (CategoryTheory.Functor.category.{max u5 u3, max u4 u3, max u2 u3 u5 u6, max u1 u3 u4 u6} (CategoryTheory.Functor.{u2, u3, u5, u6} L _inst_2 D _inst_3) (CategoryTheory.Functor.category.{u2, u3, u5, u6} L _inst_2 D _inst_3) (CategoryTheory.Functor.{u1, u3, u4, u6} S _inst_1 D _inst_3) (CategoryTheory.Functor.category.{u1, u3, u4, u6} S _inst_1 D _inst_3)) (CategoryTheory.whiskeringLeft.{u4, u1, u5, u2, u6, u3} S _inst_1 L _inst_2 D _inst_3) ι) (CategoryTheory.Lan.adjunction.{u1, u2, u3, u4, u5, u6} S L D _inst_1 _inst_2 _inst_3 ι (fun (X : L) => _inst_6 X)))
-but is expected to have type
-  forall {S : Type.{u4}} {L : Type.{u5}} (D : Type.{u6}) [_inst_1 : CategoryTheory.Category.{u1, u4} S] [_inst_2 : CategoryTheory.Category.{u2, u5} L] [_inst_3 : CategoryTheory.Category.{u3, u6} D] (ι : CategoryTheory.Functor.{u1, u2, u4, u5} S _inst_1 L _inst_2) [_inst_4 : CategoryTheory.Full.{u1, u2, u4, u5} S _inst_1 L _inst_2 ι] [_inst_5 : CategoryTheory.Faithful.{u1, u2, u4, u5} S _inst_1 L _inst_2 ι] [_inst_6 : forall (X : L), CategoryTheory.Limits.HasColimitsOfShape.{max u1 u2, max u4 u2, u3, u6} (CategoryTheory.CostructuredArrow.{u1, u2, u4, u5} S _inst_1 L _inst_2 ι X) (CategoryTheory.instCategoryCostructuredArrow.{u1, u2, u4, u5} S _inst_1 L _inst_2 ι X) D _inst_3], CategoryTheory.IsIso.{max (max (max u4 u6) u1) u3, max (max (max u4 u6) u1) u3} (CategoryTheory.Functor.{max u4 u3, max u4 u3, max (max (max u4 u6) u1) u3, max (max (max u4 u6) u1) u3} (CategoryTheory.Functor.{u1, u3, u4, u6} S _inst_1 D _inst_3) (CategoryTheory.Functor.category.{u1, u3, u4, u6} S _inst_1 D _inst_3) (CategoryTheory.Functor.{u1, u3, u4, u6} S _inst_1 D _inst_3) (CategoryTheory.Functor.category.{u1, u3, u4, u6} S _inst_1 D _inst_3)) (CategoryTheory.Functor.category.{max u4 u3, max u4 u3, max (max (max u4 u6) u1) u3, max (max (max u4 u6) u1) u3} (CategoryTheory.Functor.{u1, u3, u4, u6} S _inst_1 D _inst_3) (CategoryTheory.Functor.category.{u1, u3, u4, u6} S _inst_1 D _inst_3) (CategoryTheory.Functor.{u1, u3, u4, u6} S _inst_1 D _inst_3) (CategoryTheory.Functor.category.{u1, u3, u4, u6} S _inst_1 D _inst_3)) (CategoryTheory.Functor.id.{max u4 u3, max (max (max u4 u6) u1) u3} (CategoryTheory.Functor.{u1, u3, u4, u6} S _inst_1 D _inst_3) (CategoryTheory.Functor.category.{u1, u3, u4, u6} S _inst_1 D _inst_3)) (CategoryTheory.Functor.comp.{max u4 u3, max u5 u3, max u4 u3, max (max (max u4 u6) u1) u3, max (max (max u5 u6) u2) u3, max (max (max u4 u6) u1) u3} (CategoryTheory.Functor.{u1, u3, u4, u6} S _inst_1 D _inst_3) (CategoryTheory.Functor.category.{u1, u3, u4, u6} S _inst_1 D _inst_3) (CategoryTheory.Functor.{u2, u3, u5, u6} L _inst_2 D _inst_3) (CategoryTheory.Functor.category.{u2, u3, u5, u6} L _inst_2 D _inst_3) (CategoryTheory.Functor.{u1, u3, u4, u6} S _inst_1 D _inst_3) (CategoryTheory.Functor.category.{u1, u3, u4, u6} S _inst_1 D _inst_3) (CategoryTheory.lan.{u1, u2, u3, u4, u5, u6} S L D _inst_1 _inst_2 _inst_3 ι (fun (X : L) => _inst_6 X)) (Prefunctor.obj.{max (succ u2) (succ u4), max (max (max (max (succ u6) (succ u3)) (succ u2)) (succ u5)) (succ u4), max (max (max u2 u5) u1) u4, max (max (max (max (max u6 u3) u2) u5) u1) u4} (CategoryTheory.Functor.{u1, u2, u4, u5} S _inst_1 L _inst_2) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u4, max (max (max u2 u5) u1) u4} (CategoryTheory.Functor.{u1, u2, u4, u5} S _inst_1 L _inst_2) (CategoryTheory.Category.toCategoryStruct.{max u2 u4, max (max (max u2 u5) u1) u4} (CategoryTheory.Functor.{u1, u2, u4, u5} S _inst_1 L _inst_2) (CategoryTheory.Functor.category.{u1, u2, u4, u5} S _inst_1 L _inst_2))) (CategoryTheory.Functor.{max u5 u3, max u4 u3, max (max (max u6 u5) u3) u2, max (max (max u6 u4) u3) u1} (CategoryTheory.Functor.{u2, u3, u5, u6} L _inst_2 D _inst_3) (CategoryTheory.Functor.category.{u2, u3, u5, u6} L _inst_2 D _inst_3) (CategoryTheory.Functor.{u1, u3, u4, u6} S _inst_1 D _inst_3) (CategoryTheory.Functor.category.{u1, u3, u4, u6} S _inst_1 D _inst_3)) (CategoryTheory.CategoryStruct.toQuiver.{max (max (max (max u6 u3) u2) u5) u4, max (max (max (max (max u6 u3) u2) u5) u1) u4} (CategoryTheory.Functor.{max u5 u3, max u4 u3, max (max (max u6 u5) u3) u2, max (max (max u6 u4) u3) u1} (CategoryTheory.Functor.{u2, u3, u5, u6} L _inst_2 D _inst_3) (CategoryTheory.Functor.category.{u2, u3, u5, u6} L _inst_2 D _inst_3) (CategoryTheory.Functor.{u1, u3, u4, u6} S _inst_1 D _inst_3) (CategoryTheory.Functor.category.{u1, u3, u4, u6} S _inst_1 D _inst_3)) (CategoryTheory.Category.toCategoryStruct.{max (max (max (max u6 u3) u2) u5) u4, max (max (max (max (max u6 u3) u2) u5) u1) u4} (CategoryTheory.Functor.{max u5 u3, max u4 u3, max (max (max u6 u5) u3) u2, max (max (max u6 u4) u3) u1} (CategoryTheory.Functor.{u2, u3, u5, u6} L _inst_2 D _inst_3) (CategoryTheory.Functor.category.{u2, u3, u5, u6} L _inst_2 D _inst_3) (CategoryTheory.Functor.{u1, u3, u4, u6} S _inst_1 D _inst_3) (CategoryTheory.Functor.category.{u1, u3, u4, u6} S _inst_1 D _inst_3)) (CategoryTheory.Functor.category.{max u5 u3, max u4 u3, max (max (max u5 u6) u2) u3, max (max (max u4 u6) u1) u3} (CategoryTheory.Functor.{u2, u3, u5, u6} L _inst_2 D _inst_3) (CategoryTheory.Functor.category.{u2, u3, u5, u6} L _inst_2 D _inst_3) (CategoryTheory.Functor.{u1, u3, u4, u6} S _inst_1 D _inst_3) (CategoryTheory.Functor.category.{u1, u3, u4, u6} S _inst_1 D _inst_3)))) (CategoryTheory.Functor.toPrefunctor.{max u2 u4, max (max (max (max u6 u3) u2) u5) u4, max (max (max u2 u5) u1) u4, max (max (max (max (max u6 u3) u2) u5) u1) u4} (CategoryTheory.Functor.{u1, u2, u4, u5} S _inst_1 L _inst_2) (CategoryTheory.Functor.category.{u1, u2, u4, u5} S _inst_1 L _inst_2) (CategoryTheory.Functor.{max u5 u3, max u4 u3, max (max (max u6 u5) u3) u2, max (max (max u6 u4) u3) u1} (CategoryTheory.Functor.{u2, u3, u5, u6} L _inst_2 D _inst_3) (CategoryTheory.Functor.category.{u2, u3, u5, u6} L _inst_2 D _inst_3) (CategoryTheory.Functor.{u1, u3, u4, u6} S _inst_1 D _inst_3) (CategoryTheory.Functor.category.{u1, u3, u4, u6} S _inst_1 D _inst_3)) (CategoryTheory.Functor.category.{max u5 u3, max u4 u3, max (max (max u5 u6) u2) u3, max (max (max u4 u6) u1) u3} (CategoryTheory.Functor.{u2, u3, u5, u6} L _inst_2 D _inst_3) (CategoryTheory.Functor.category.{u2, u3, u5, u6} L _inst_2 D _inst_3) (CategoryTheory.Functor.{u1, u3, u4, u6} S _inst_1 D _inst_3) (CategoryTheory.Functor.category.{u1, u3, u4, u6} S _inst_1 D _inst_3)) (CategoryTheory.whiskeringLeft.{u4, u1, u5, u2, u6, u3} S _inst_1 L _inst_2 D _inst_3)) ι)) (CategoryTheory.Adjunction.unit.{max u4 u3, max u5 u3, max (max (max u4 u6) u1) u3, max (max (max u5 u6) u2) u3} (CategoryTheory.Functor.{u1, u3, u4, u6} S _inst_1 D _inst_3) (CategoryTheory.Functor.category.{u1, u3, u4, u6} S _inst_1 D _inst_3) (CategoryTheory.Functor.{u2, u3, u5, u6} L _inst_2 D _inst_3) (CategoryTheory.Functor.category.{u2, u3, u5, u6} L _inst_2 D _inst_3) (CategoryTheory.lan.{u1, u2, u3, u4, u5, u6} S L D _inst_1 _inst_2 _inst_3 ι (fun (X : L) => _inst_6 X)) (Prefunctor.obj.{max (succ u2) (succ u4), max (max (max (max (succ u6) (succ u3)) (succ u2)) (succ u5)) (succ u4), max (max (max u2 u5) u1) u4, max (max (max (max (max u6 u3) u2) u5) u1) u4} (CategoryTheory.Functor.{u1, u2, u4, u5} S _inst_1 L _inst_2) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u4, max (max (max u2 u5) u1) u4} (CategoryTheory.Functor.{u1, u2, u4, u5} S _inst_1 L _inst_2) (CategoryTheory.Category.toCategoryStruct.{max u2 u4, max (max (max u2 u5) u1) u4} (CategoryTheory.Functor.{u1, u2, u4, u5} S _inst_1 L _inst_2) (CategoryTheory.Functor.category.{u1, u2, u4, u5} S _inst_1 L _inst_2))) (CategoryTheory.Functor.{max u5 u3, max u4 u3, max (max (max u6 u5) u3) u2, max (max (max u6 u4) u3) u1} (CategoryTheory.Functor.{u2, u3, u5, u6} L _inst_2 D _inst_3) (CategoryTheory.Functor.category.{u2, u3, u5, u6} L _inst_2 D _inst_3) (CategoryTheory.Functor.{u1, u3, u4, u6} S _inst_1 D _inst_3) (CategoryTheory.Functor.category.{u1, u3, u4, u6} S _inst_1 D _inst_3)) (CategoryTheory.CategoryStruct.toQuiver.{max (max (max (max u6 u3) u2) u5) u4, max (max (max (max (max u6 u3) u2) u5) u1) u4} (CategoryTheory.Functor.{max u5 u3, max u4 u3, max (max (max u6 u5) u3) u2, max (max (max u6 u4) u3) u1} (CategoryTheory.Functor.{u2, u3, u5, u6} L _inst_2 D _inst_3) (CategoryTheory.Functor.category.{u2, u3, u5, u6} L _inst_2 D _inst_3) (CategoryTheory.Functor.{u1, u3, u4, u6} S _inst_1 D _inst_3) (CategoryTheory.Functor.category.{u1, u3, u4, u6} S _inst_1 D _inst_3)) (CategoryTheory.Category.toCategoryStruct.{max (max (max (max u6 u3) u2) u5) u4, max (max (max (max (max u6 u3) u2) u5) u1) u4} (CategoryTheory.Functor.{max u5 u3, max u4 u3, max (max (max u6 u5) u3) u2, max (max (max u6 u4) u3) u1} (CategoryTheory.Functor.{u2, u3, u5, u6} L _inst_2 D _inst_3) (CategoryTheory.Functor.category.{u2, u3, u5, u6} L _inst_2 D _inst_3) (CategoryTheory.Functor.{u1, u3, u4, u6} S _inst_1 D _inst_3) (CategoryTheory.Functor.category.{u1, u3, u4, u6} S _inst_1 D _inst_3)) (CategoryTheory.Functor.category.{max u5 u3, max u4 u3, max (max (max u5 u6) u2) u3, max (max (max u4 u6) u1) u3} (CategoryTheory.Functor.{u2, u3, u5, u6} L _inst_2 D _inst_3) (CategoryTheory.Functor.category.{u2, u3, u5, u6} L _inst_2 D _inst_3) (CategoryTheory.Functor.{u1, u3, u4, u6} S _inst_1 D _inst_3) (CategoryTheory.Functor.category.{u1, u3, u4, u6} S _inst_1 D _inst_3)))) (CategoryTheory.Functor.toPrefunctor.{max u2 u4, max (max (max (max u6 u3) u2) u5) u4, max (max (max u2 u5) u1) u4, max (max (max (max (max u6 u3) u2) u5) u1) u4} (CategoryTheory.Functor.{u1, u2, u4, u5} S _inst_1 L _inst_2) (CategoryTheory.Functor.category.{u1, u2, u4, u5} S _inst_1 L _inst_2) (CategoryTheory.Functor.{max u5 u3, max u4 u3, max (max (max u6 u5) u3) u2, max (max (max u6 u4) u3) u1} (CategoryTheory.Functor.{u2, u3, u5, u6} L _inst_2 D _inst_3) (CategoryTheory.Functor.category.{u2, u3, u5, u6} L _inst_2 D _inst_3) (CategoryTheory.Functor.{u1, u3, u4, u6} S _inst_1 D _inst_3) (CategoryTheory.Functor.category.{u1, u3, u4, u6} S _inst_1 D _inst_3)) (CategoryTheory.Functor.category.{max u5 u3, max u4 u3, max (max (max u5 u6) u2) u3, max (max (max u4 u6) u1) u3} (CategoryTheory.Functor.{u2, u3, u5, u6} L _inst_2 D _inst_3) (CategoryTheory.Functor.category.{u2, u3, u5, u6} L _inst_2 D _inst_3) (CategoryTheory.Functor.{u1, u3, u4, u6} S _inst_1 D _inst_3) (CategoryTheory.Functor.category.{u1, u3, u4, u6} S _inst_1 D _inst_3)) (CategoryTheory.whiskeringLeft.{u4, u1, u5, u2, u6, u3} S _inst_1 L _inst_2 D _inst_3)) ι) (CategoryTheory.Lan.adjunction.{u1, u2, u3, u4, u5, u6} S L D _inst_1 _inst_2 _inst_3 ι (fun (X : L) => _inst_6 X)))
+<too large>
 Case conversion may be inaccurate. Consider using '#align category_theory.Lan.coreflective CategoryTheory.Lan.coreflectiveₓ'. -/
 theorem coreflective [Full ι] [Faithful ι] [∀ X, HasColimitsOfShape (CostructuredArrow ι X) D] :
     IsIso (adjunction D ι).Unit :=
Diff
@@ -4,7 +4,7 @@ Released under Apache 2.0 license as described in the file LICENSE.
 Authors: Bhavik Mehta, Adam Topaz
 
 ! This file was ported from Lean 3 source module category_theory.limits.kan_extension
-! leanprover-community/mathlib commit c9c9fa15fec7ca18e9ec97306fb8764bfe988a7e
+! leanprover-community/mathlib commit 69c6a5a12d8a2b159f20933e60115a4f2de62b58
 ! Please do not edit these lines, except to modify the commit id
 ! if you have ported upstream changes.
 -/
@@ -16,6 +16,9 @@ import Mathbin.CategoryTheory.StructuredArrow
 
 # Kan extensions
 
+> THIS FILE IS SYNCHRONIZED WITH MATHLIB4.
+> Any changes to this file require a corresponding PR to mathlib4.
+
 This file defines the right and left Kan extensions of a functor.
 They exist under the assumption that the target category has enough limits
 resp. colimits.
Diff
@@ -52,13 +52,16 @@ namespace Ran
 
 attribute [local simp] structured_arrow.proj
 
+#print CategoryTheory.Ran.diagram /-
 /-- The diagram indexed by `Ran.index ι x` used to define `Ran`. -/
 abbrev diagram (F : S ⥤ D) (x : L) : StructuredArrow x ι ⥤ D :=
   StructuredArrow.proj x ι ⋙ F
 #align category_theory.Ran.diagram CategoryTheory.Ran.diagram
+-/
 
 variable {ι}
 
+#print CategoryTheory.Ran.cone /-
 /-- A cone over `Ran.diagram ι F x` used to define `Ran`. -/
 @[simp]
 def cone {F : S ⥤ D} {G : L ⥤ D} (x : L) (f : ι ⋙ G ⟶ F) : Cone (diagram ι F x)
@@ -74,9 +77,11 @@ def cone {F : S ⥤ D} {G : L ⥤ D} (x : L) (f : ι ⋙ G ⟶ F) : Cone (diagra
         have := f.naturality
         tidy }
 #align category_theory.Ran.cone CategoryTheory.Ran.cone
+-/
 
 variable (ι)
 
+#print CategoryTheory.Ran.loc /-
 /-- An auxiliary definition used to define `Ran`. -/
 @[simps]
 def loc (F : S ⥤ D) [∀ x, HasLimit (diagram ι F x)] : L ⥤ D
@@ -96,7 +101,14 @@ def loc (F : S ⥤ D) [∀ x, HasLimit (diagram ι F x)] : L ⥤ D
     congr 1
     tidy
 #align category_theory.Ran.loc CategoryTheory.Ran.loc
+-/
 
+/- warning: category_theory.Ran.equiv -> CategoryTheory.Ran.equiv is a dubious translation:
+lean 3 declaration is
+  forall {S : Type.{u4}} {L : Type.{u5}} {D : Type.{u6}} [_inst_1 : CategoryTheory.Category.{u1, u4} S] [_inst_2 : CategoryTheory.Category.{u2, u5} L] [_inst_3 : CategoryTheory.Category.{u3, u6} D] (ι : CategoryTheory.Functor.{u1, u2, u4, u5} S _inst_1 L _inst_2) (F : CategoryTheory.Functor.{u1, u3, u4, u6} S _inst_1 D _inst_3) [_inst_4 : forall (x : L), CategoryTheory.Limits.HasLimit.{max u2 u1, max u4 u2, u3, u6} (CategoryTheory.StructuredArrow.{u1, u2, u4, u5} S _inst_1 L _inst_2 x ι) (CategoryTheory.StructuredArrow.category.{u2, u5, u4, u1} S _inst_1 L _inst_2 x ι) D _inst_3 (CategoryTheory.Ran.diagram.{u1, u2, u3, u4, u5, u6} S L D _inst_1 _inst_2 _inst_3 ι F x)] (G : CategoryTheory.Functor.{u2, u3, u5, u6} L _inst_2 D _inst_3), Equiv.{succ (max u5 u3), succ (max u4 u3)} (Quiver.Hom.{succ (max u5 u3), max u2 u3 u5 u6} (CategoryTheory.Functor.{u2, u3, u5, u6} L _inst_2 D _inst_3) (CategoryTheory.CategoryStruct.toQuiver.{max u5 u3, max u2 u3 u5 u6} (CategoryTheory.Functor.{u2, u3, u5, u6} L _inst_2 D _inst_3) (CategoryTheory.Category.toCategoryStruct.{max u5 u3, max u2 u3 u5 u6} (CategoryTheory.Functor.{u2, u3, u5, u6} L _inst_2 D _inst_3) (CategoryTheory.Functor.category.{u2, u3, u5, u6} L _inst_2 D _inst_3))) G (CategoryTheory.Ran.loc.{u1, u2, u3, u4, u5, u6} S L D _inst_1 _inst_2 _inst_3 ι F (CategoryTheory.Ran.equiv._proof_1.{u4, u5, u6, u1, u2, u3} S L D _inst_1 _inst_2 _inst_3 ι F _inst_4))) (Quiver.Hom.{succ (max u4 u3), max u1 u3 u4 u6} (CategoryTheory.Functor.{u1, u3, u4, u6} S _inst_1 D _inst_3) (CategoryTheory.CategoryStruct.toQuiver.{max u4 u3, max u1 u3 u4 u6} (CategoryTheory.Functor.{u1, u3, u4, u6} S _inst_1 D _inst_3) (CategoryTheory.Category.toCategoryStruct.{max u4 u3, max u1 u3 u4 u6} (CategoryTheory.Functor.{u1, u3, u4, u6} S _inst_1 D _inst_3) (CategoryTheory.Functor.category.{u1, u3, u4, u6} S _inst_1 D _inst_3))) (CategoryTheory.Functor.obj.{max u5 u3, max u4 u3, max u2 u3 u5 u6, max u1 u3 u4 u6} (CategoryTheory.Functor.{u2, u3, u5, u6} L _inst_2 D _inst_3) (CategoryTheory.Functor.category.{u2, u3, u5, u6} L _inst_2 D _inst_3) (CategoryTheory.Functor.{u1, u3, u4, u6} S _inst_1 D _inst_3) (CategoryTheory.Functor.category.{u1, u3, u4, u6} S _inst_1 D _inst_3) (CategoryTheory.Functor.obj.{max u4 u2, max (max u2 u3 u5 u6) u4 u3, max u1 u2 u4 u5, max (max u5 u3) (max u4 u3) (max u2 u3 u5 u6) u1 u3 u4 u6} (CategoryTheory.Functor.{u1, u2, u4, u5} S _inst_1 L _inst_2) (CategoryTheory.Functor.category.{u1, u2, u4, u5} S _inst_1 L _inst_2) (CategoryTheory.Functor.{max u5 u3, max u4 u3, max u2 u3 u5 u6, max u1 u3 u4 u6} (CategoryTheory.Functor.{u2, u3, u5, u6} L _inst_2 D _inst_3) (CategoryTheory.Functor.category.{u2, u3, u5, u6} L _inst_2 D _inst_3) (CategoryTheory.Functor.{u1, u3, u4, u6} S _inst_1 D _inst_3) (CategoryTheory.Functor.category.{u1, u3, u4, u6} S _inst_1 D _inst_3)) (CategoryTheory.Functor.category.{max u5 u3, max u4 u3, max u2 u3 u5 u6, max u1 u3 u4 u6} (CategoryTheory.Functor.{u2, u3, u5, u6} L _inst_2 D _inst_3) (CategoryTheory.Functor.category.{u2, u3, u5, u6} L _inst_2 D _inst_3) (CategoryTheory.Functor.{u1, u3, u4, u6} S _inst_1 D _inst_3) (CategoryTheory.Functor.category.{u1, u3, u4, u6} S _inst_1 D _inst_3)) (CategoryTheory.whiskeringLeft.{u4, u1, u5, u2, u6, u3} S _inst_1 L _inst_2 D _inst_3) ι) G) F)
+but is expected to have type
+  forall {S : Type.{u4}} {L : Type.{u5}} {D : Type.{u6}} [_inst_1 : CategoryTheory.Category.{u1, u4} S] [_inst_2 : CategoryTheory.Category.{u2, u5} L] [_inst_3 : CategoryTheory.Category.{u3, u6} D] (ι : CategoryTheory.Functor.{u1, u2, u4, u5} S _inst_1 L _inst_2) (F : CategoryTheory.Functor.{u1, u3, u4, u6} S _inst_1 D _inst_3) [_inst_4 : forall (x : L), CategoryTheory.Limits.HasLimit.{max u1 u2, max u4 u2, u3, u6} (CategoryTheory.StructuredArrow.{u1, u2, u4, u5} S _inst_1 L _inst_2 x ι) (CategoryTheory.instCategoryStructuredArrow.{u1, u2, u4, u5} S _inst_1 L _inst_2 x ι) D _inst_3 (CategoryTheory.Ran.diagram.{u1, u2, u3, u4, u5, u6} S L D _inst_1 _inst_2 _inst_3 ι F x)] (G : CategoryTheory.Functor.{u2, u3, u5, u6} L _inst_2 D _inst_3), Equiv.{max (succ u5) (succ u3), max (succ u4) (succ u3)} (Quiver.Hom.{max (succ u5) (succ u3), max (max (max u5 u6) u2) u3} (CategoryTheory.Functor.{u2, u3, u5, u6} L _inst_2 D _inst_3) (CategoryTheory.CategoryStruct.toQuiver.{max u5 u3, max (max (max u5 u6) u2) u3} (CategoryTheory.Functor.{u2, u3, u5, u6} L _inst_2 D _inst_3) (CategoryTheory.Category.toCategoryStruct.{max u5 u3, max (max (max u5 u6) u2) u3} (CategoryTheory.Functor.{u2, u3, u5, u6} L _inst_2 D _inst_3) (CategoryTheory.Functor.category.{u2, u3, u5, u6} L _inst_2 D _inst_3))) G (CategoryTheory.Ran.loc.{u1, u2, u3, u4, u5, u6} S L D _inst_1 _inst_2 _inst_3 ι F (fun (x : L) => _inst_4 x))) (Quiver.Hom.{max (succ u4) (succ u3), max (max (max u4 u1) u3) u6} (CategoryTheory.Functor.{u1, u3, u4, u6} S _inst_1 D _inst_3) (CategoryTheory.CategoryStruct.toQuiver.{max u4 u3, max (max (max u4 u6) u1) u3} (CategoryTheory.Functor.{u1, u3, u4, u6} S _inst_1 D _inst_3) (CategoryTheory.Category.toCategoryStruct.{max u4 u3, max (max (max u4 u6) u1) u3} (CategoryTheory.Functor.{u1, u3, u4, u6} S _inst_1 D _inst_3) (CategoryTheory.Functor.category.{u1, u3, u4, u6} S _inst_1 D _inst_3))) (Prefunctor.obj.{max (succ u5) (succ u3), max (succ u4) (succ u3), max (max (max u5 u2) u3) u6, max (max (max u4 u1) u3) u6} (CategoryTheory.Functor.{u2, u3, u5, u6} L _inst_2 D _inst_3) (CategoryTheory.CategoryStruct.toQuiver.{max u5 u3, max (max (max u5 u2) u3) u6} (CategoryTheory.Functor.{u2, u3, u5, u6} L _inst_2 D _inst_3) (CategoryTheory.Category.toCategoryStruct.{max u5 u3, max (max (max u5 u2) u3) u6} (CategoryTheory.Functor.{u2, u3, u5, u6} L _inst_2 D _inst_3) (CategoryTheory.Functor.category.{u2, u3, u5, u6} L _inst_2 D _inst_3))) (CategoryTheory.Functor.{u1, u3, u4, u6} S _inst_1 D _inst_3) (CategoryTheory.CategoryStruct.toQuiver.{max u4 u3, max (max (max u4 u1) u3) u6} (CategoryTheory.Functor.{u1, u3, u4, u6} S _inst_1 D _inst_3) (CategoryTheory.Category.toCategoryStruct.{max u4 u3, max (max (max u4 u1) u3) u6} (CategoryTheory.Functor.{u1, u3, u4, u6} S _inst_1 D _inst_3) (CategoryTheory.Functor.category.{u1, u3, u4, u6} S _inst_1 D _inst_3))) (CategoryTheory.Functor.toPrefunctor.{max u5 u3, max u4 u3, max (max (max u5 u2) u3) u6, max (max (max u4 u1) u3) u6} (CategoryTheory.Functor.{u2, u3, u5, u6} L _inst_2 D _inst_3) (CategoryTheory.Functor.category.{u2, u3, u5, u6} L _inst_2 D _inst_3) (CategoryTheory.Functor.{u1, u3, u4, u6} S _inst_1 D _inst_3) (CategoryTheory.Functor.category.{u1, u3, u4, u6} S _inst_1 D _inst_3) (Prefunctor.obj.{max (succ u2) (succ u4), max (max (max (max (succ u3) (succ u6)) (succ u2)) (succ u5)) (succ u4), max (max (max u2 u5) u1) u4, max (max (max (max (max u3 u6) u2) u5) u1) u4} (CategoryTheory.Functor.{u1, u2, u4, u5} S _inst_1 L _inst_2) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u4, max (max (max u2 u5) u1) u4} (CategoryTheory.Functor.{u1, u2, u4, u5} S _inst_1 L _inst_2) (CategoryTheory.Category.toCategoryStruct.{max u2 u4, max (max (max u2 u5) u1) u4} (CategoryTheory.Functor.{u1, u2, u4, u5} S _inst_1 L _inst_2) (CategoryTheory.Functor.category.{u1, u2, u4, u5} S _inst_1 L _inst_2))) (CategoryTheory.Functor.{max u5 u3, max u4 u3, max (max (max u6 u5) u3) u2, max (max (max u6 u4) u3) u1} (CategoryTheory.Functor.{u2, u3, u5, u6} L _inst_2 D _inst_3) (CategoryTheory.Functor.category.{u2, u3, u5, u6} L _inst_2 D _inst_3) (CategoryTheory.Functor.{u1, u3, u4, u6} S _inst_1 D _inst_3) (CategoryTheory.Functor.category.{u1, u3, u4, u6} S _inst_1 D _inst_3)) (CategoryTheory.CategoryStruct.toQuiver.{max (max (max (max u3 u6) u2) u5) u4, max (max (max (max (max u3 u6) u2) u5) u1) u4} (CategoryTheory.Functor.{max u5 u3, max u4 u3, max (max (max u6 u5) u3) u2, max (max (max u6 u4) u3) u1} (CategoryTheory.Functor.{u2, u3, u5, u6} L _inst_2 D _inst_3) (CategoryTheory.Functor.category.{u2, u3, u5, u6} L _inst_2 D _inst_3) (CategoryTheory.Functor.{u1, u3, u4, u6} S _inst_1 D _inst_3) (CategoryTheory.Functor.category.{u1, u3, u4, u6} S _inst_1 D _inst_3)) (CategoryTheory.Category.toCategoryStruct.{max (max (max (max u3 u6) u2) u5) u4, max (max (max (max (max u3 u6) u2) u5) u1) u4} (CategoryTheory.Functor.{max u5 u3, max u4 u3, max (max (max u6 u5) u3) u2, max (max (max u6 u4) u3) u1} (CategoryTheory.Functor.{u2, u3, u5, u6} L _inst_2 D _inst_3) (CategoryTheory.Functor.category.{u2, u3, u5, u6} L _inst_2 D _inst_3) (CategoryTheory.Functor.{u1, u3, u4, u6} S _inst_1 D _inst_3) (CategoryTheory.Functor.category.{u1, u3, u4, u6} S _inst_1 D _inst_3)) (CategoryTheory.Functor.category.{max u5 u3, max u4 u3, max (max (max u5 u6) u2) u3, max (max (max u4 u6) u1) u3} (CategoryTheory.Functor.{u2, u3, u5, u6} L _inst_2 D _inst_3) (CategoryTheory.Functor.category.{u2, u3, u5, u6} L _inst_2 D _inst_3) (CategoryTheory.Functor.{u1, u3, u4, u6} S _inst_1 D _inst_3) (CategoryTheory.Functor.category.{u1, u3, u4, u6} S _inst_1 D _inst_3)))) (CategoryTheory.Functor.toPrefunctor.{max u2 u4, max (max (max (max u3 u6) u2) u5) u4, max (max (max u2 u5) u1) u4, max (max (max (max (max u3 u6) u2) u5) u1) u4} (CategoryTheory.Functor.{u1, u2, u4, u5} S _inst_1 L _inst_2) (CategoryTheory.Functor.category.{u1, u2, u4, u5} S _inst_1 L _inst_2) (CategoryTheory.Functor.{max u5 u3, max u4 u3, max (max (max u6 u5) u3) u2, max (max (max u6 u4) u3) u1} (CategoryTheory.Functor.{u2, u3, u5, u6} L _inst_2 D _inst_3) (CategoryTheory.Functor.category.{u2, u3, u5, u6} L _inst_2 D _inst_3) (CategoryTheory.Functor.{u1, u3, u4, u6} S _inst_1 D _inst_3) (CategoryTheory.Functor.category.{u1, u3, u4, u6} S _inst_1 D _inst_3)) (CategoryTheory.Functor.category.{max u5 u3, max u4 u3, max (max (max u5 u6) u2) u3, max (max (max u4 u6) u1) u3} (CategoryTheory.Functor.{u2, u3, u5, u6} L _inst_2 D _inst_3) (CategoryTheory.Functor.category.{u2, u3, u5, u6} L _inst_2 D _inst_3) (CategoryTheory.Functor.{u1, u3, u4, u6} S _inst_1 D _inst_3) (CategoryTheory.Functor.category.{u1, u3, u4, u6} S _inst_1 D _inst_3)) (CategoryTheory.whiskeringLeft.{u4, u1, u5, u2, u6, u3} S _inst_1 L _inst_2 D _inst_3)) ι)) G) F)
+Case conversion may be inaccurate. Consider using '#align category_theory.Ran.equiv CategoryTheory.Ran.equivₓ'. -/
 /-- An auxiliary definition used to define `Ran` and `Ran.adjunction`. -/
 @[simps]
 def equiv (F : S ⥤ D) [∀ x, HasLimit (diagram ι F x)] (G : L ⥤ D) :
@@ -135,22 +147,36 @@ def equiv (F : S ⥤ D) [∀ x, HasLimit (diagram ι F x)] (G : L ⥤ D) :
 
 end Ran
 
+#print CategoryTheory.ran /-
 /-- The right Kan extension of a functor. -/
 @[simps]
 def ran [∀ X, HasLimitsOfShape (StructuredArrow X ι) D] : (S ⥤ D) ⥤ L ⥤ D :=
   Adjunction.rightAdjointOfEquiv (fun F G => (Ran.equiv ι G F).symm) (by tidy)
 #align category_theory.Ran CategoryTheory.ran
+-/
 
 namespace Ran
 
 variable (D)
 
+/- warning: category_theory.Ran.adjunction -> CategoryTheory.Ran.adjunction is a dubious translation:
+lean 3 declaration is
+  forall {S : Type.{u4}} {L : Type.{u5}} (D : Type.{u6}) [_inst_1 : CategoryTheory.Category.{u1, u4} S] [_inst_2 : CategoryTheory.Category.{u2, u5} L] [_inst_3 : CategoryTheory.Category.{u3, u6} D] (ι : CategoryTheory.Functor.{u1, u2, u4, u5} S _inst_1 L _inst_2) [_inst_4 : forall (X : L), CategoryTheory.Limits.HasLimitsOfShape.{max u2 u1, max u4 u2, u3, u6} (CategoryTheory.StructuredArrow.{u1, u2, u4, u5} S _inst_1 L _inst_2 X ι) (CategoryTheory.StructuredArrow.category.{u2, u5, u4, u1} S _inst_1 L _inst_2 X ι) D _inst_3], CategoryTheory.Adjunction.{max u5 u3, max u4 u3, max u2 u3 u5 u6, max u1 u3 u4 u6} (CategoryTheory.Functor.{u2, u3, u5, u6} L _inst_2 D _inst_3) (CategoryTheory.Functor.category.{u2, u3, u5, u6} L _inst_2 D _inst_3) (CategoryTheory.Functor.{u1, u3, u4, u6} S _inst_1 D _inst_3) (CategoryTheory.Functor.category.{u1, u3, u4, u6} S _inst_1 D _inst_3) (CategoryTheory.Functor.obj.{max u4 u2, max (max u2 u3 u5 u6) u4 u3, max u1 u2 u4 u5, max (max u5 u3) (max u4 u3) (max u2 u3 u5 u6) u1 u3 u4 u6} (CategoryTheory.Functor.{u1, u2, u4, u5} S _inst_1 L _inst_2) (CategoryTheory.Functor.category.{u1, u2, u4, u5} S _inst_1 L _inst_2) (CategoryTheory.Functor.{max u5 u3, max u4 u3, max u2 u3 u5 u6, max u1 u3 u4 u6} (CategoryTheory.Functor.{u2, u3, u5, u6} L _inst_2 D _inst_3) (CategoryTheory.Functor.category.{u2, u3, u5, u6} L _inst_2 D _inst_3) (CategoryTheory.Functor.{u1, u3, u4, u6} S _inst_1 D _inst_3) (CategoryTheory.Functor.category.{u1, u3, u4, u6} S _inst_1 D _inst_3)) (CategoryTheory.Functor.category.{max u5 u3, max u4 u3, max u2 u3 u5 u6, max u1 u3 u4 u6} (CategoryTheory.Functor.{u2, u3, u5, u6} L _inst_2 D _inst_3) (CategoryTheory.Functor.category.{u2, u3, u5, u6} L _inst_2 D _inst_3) (CategoryTheory.Functor.{u1, u3, u4, u6} S _inst_1 D _inst_3) (CategoryTheory.Functor.category.{u1, u3, u4, u6} S _inst_1 D _inst_3)) (CategoryTheory.whiskeringLeft.{u4, u1, u5, u2, u6, u3} S _inst_1 L _inst_2 D _inst_3) ι) (CategoryTheory.ran.{u1, u2, u3, u4, u5, u6} S L D _inst_1 _inst_2 _inst_3 ι (CategoryTheory.Ran.adjunction._proof_1.{u4, u5, u6, u1, u2, u3} S L D _inst_1 _inst_2 _inst_3 ι _inst_4))
+but is expected to have type
+  forall {S : Type.{u4}} {L : Type.{u5}} (D : Type.{u6}) [_inst_1 : CategoryTheory.Category.{u1, u4} S] [_inst_2 : CategoryTheory.Category.{u2, u5} L] [_inst_3 : CategoryTheory.Category.{u3, u6} D] (ι : CategoryTheory.Functor.{u1, u2, u4, u5} S _inst_1 L _inst_2) [_inst_4 : forall (X : L), CategoryTheory.Limits.HasLimitsOfShape.{max u1 u2, max u4 u2, u3, u6} (CategoryTheory.StructuredArrow.{u1, u2, u4, u5} S _inst_1 L _inst_2 X ι) (CategoryTheory.instCategoryStructuredArrow.{u1, u2, u4, u5} S _inst_1 L _inst_2 X ι) D _inst_3], CategoryTheory.Adjunction.{max u3 u5, max u3 u4, max (max (max u6 u3) u2) u5, max (max (max u6 u3) u1) u4} (CategoryTheory.Functor.{u2, u3, u5, u6} L _inst_2 D _inst_3) (CategoryTheory.Functor.category.{u2, u3, u5, u6} L _inst_2 D _inst_3) (CategoryTheory.Functor.{u1, u3, u4, u6} S _inst_1 D _inst_3) (CategoryTheory.Functor.category.{u1, u3, u4, u6} S _inst_1 D _inst_3) (Prefunctor.obj.{max (succ u2) (succ u4), max (max (max (max (succ u6) (succ u3)) (succ u2)) (succ u5)) (succ u4), max (max (max u2 u5) u1) u4, max (max (max (max (max u6 u3) u2) u5) u1) u4} (CategoryTheory.Functor.{u1, u2, u4, u5} S _inst_1 L _inst_2) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u4, max (max (max u2 u5) u1) u4} (CategoryTheory.Functor.{u1, u2, u4, u5} S _inst_1 L _inst_2) (CategoryTheory.Category.toCategoryStruct.{max u2 u4, max (max (max u2 u5) u1) u4} (CategoryTheory.Functor.{u1, u2, u4, u5} S _inst_1 L _inst_2) (CategoryTheory.Functor.category.{u1, u2, u4, u5} S _inst_1 L _inst_2))) (CategoryTheory.Functor.{max u5 u3, max u4 u3, max (max (max u6 u5) u3) u2, max (max (max u6 u4) u3) u1} (CategoryTheory.Functor.{u2, u3, u5, u6} L _inst_2 D _inst_3) (CategoryTheory.Functor.category.{u2, u3, u5, u6} L _inst_2 D _inst_3) (CategoryTheory.Functor.{u1, u3, u4, u6} S _inst_1 D _inst_3) (CategoryTheory.Functor.category.{u1, u3, u4, u6} S _inst_1 D _inst_3)) (CategoryTheory.CategoryStruct.toQuiver.{max (max (max (max u6 u3) u2) u5) u4, max (max (max (max (max u6 u3) u2) u5) u1) u4} (CategoryTheory.Functor.{max u5 u3, max u4 u3, max (max (max u6 u5) u3) u2, max (max (max u6 u4) u3) u1} (CategoryTheory.Functor.{u2, u3, u5, u6} L _inst_2 D _inst_3) (CategoryTheory.Functor.category.{u2, u3, u5, u6} L _inst_2 D _inst_3) (CategoryTheory.Functor.{u1, u3, u4, u6} S _inst_1 D _inst_3) (CategoryTheory.Functor.category.{u1, u3, u4, u6} S _inst_1 D _inst_3)) (CategoryTheory.Category.toCategoryStruct.{max (max (max (max u6 u3) u2) u5) u4, max (max (max (max (max u6 u3) u2) u5) u1) u4} (CategoryTheory.Functor.{max u5 u3, max u4 u3, max (max (max u6 u5) u3) u2, max (max (max u6 u4) u3) u1} (CategoryTheory.Functor.{u2, u3, u5, u6} L _inst_2 D _inst_3) (CategoryTheory.Functor.category.{u2, u3, u5, u6} L _inst_2 D _inst_3) (CategoryTheory.Functor.{u1, u3, u4, u6} S _inst_1 D _inst_3) (CategoryTheory.Functor.category.{u1, u3, u4, u6} S _inst_1 D _inst_3)) (CategoryTheory.Functor.category.{max u5 u3, max u4 u3, max (max (max u5 u6) u2) u3, max (max (max u4 u6) u1) u3} (CategoryTheory.Functor.{u2, u3, u5, u6} L _inst_2 D _inst_3) (CategoryTheory.Functor.category.{u2, u3, u5, u6} L _inst_2 D _inst_3) (CategoryTheory.Functor.{u1, u3, u4, u6} S _inst_1 D _inst_3) (CategoryTheory.Functor.category.{u1, u3, u4, u6} S _inst_1 D _inst_3)))) (CategoryTheory.Functor.toPrefunctor.{max u2 u4, max (max (max (max u6 u3) u2) u5) u4, max (max (max u2 u5) u1) u4, max (max (max (max (max u6 u3) u2) u5) u1) u4} (CategoryTheory.Functor.{u1, u2, u4, u5} S _inst_1 L _inst_2) (CategoryTheory.Functor.category.{u1, u2, u4, u5} S _inst_1 L _inst_2) (CategoryTheory.Functor.{max u5 u3, max u4 u3, max (max (max u6 u5) u3) u2, max (max (max u6 u4) u3) u1} (CategoryTheory.Functor.{u2, u3, u5, u6} L _inst_2 D _inst_3) (CategoryTheory.Functor.category.{u2, u3, u5, u6} L _inst_2 D _inst_3) (CategoryTheory.Functor.{u1, u3, u4, u6} S _inst_1 D _inst_3) (CategoryTheory.Functor.category.{u1, u3, u4, u6} S _inst_1 D _inst_3)) (CategoryTheory.Functor.category.{max u5 u3, max u4 u3, max (max (max u5 u6) u2) u3, max (max (max u4 u6) u1) u3} (CategoryTheory.Functor.{u2, u3, u5, u6} L _inst_2 D _inst_3) (CategoryTheory.Functor.category.{u2, u3, u5, u6} L _inst_2 D _inst_3) (CategoryTheory.Functor.{u1, u3, u4, u6} S _inst_1 D _inst_3) (CategoryTheory.Functor.category.{u1, u3, u4, u6} S _inst_1 D _inst_3)) (CategoryTheory.whiskeringLeft.{u4, u1, u5, u2, u6, u3} S _inst_1 L _inst_2 D _inst_3)) ι) (CategoryTheory.ran.{u1, u2, u3, u4, u5, u6} S L D _inst_1 _inst_2 _inst_3 ι (fun (X : L) => _inst_4 X))
+Case conversion may be inaccurate. Consider using '#align category_theory.Ran.adjunction CategoryTheory.Ran.adjunctionₓ'. -/
 /-- The adjunction associated to `Ran`. -/
 def adjunction [∀ X, HasLimitsOfShape (StructuredArrow X ι) D] :
     (whiskeringLeft _ _ D).obj ι ⊣ ran ι :=
   Adjunction.adjunctionOfEquivRight _ _
-#align category_theory.Ran.adjunction CategoryTheory.ran.adjunction
-
+#align category_theory.Ran.adjunction CategoryTheory.Ran.adjunction
+
+/- warning: category_theory.Ran.reflective -> CategoryTheory.Ran.reflective is a dubious translation:
+lean 3 declaration is
+  forall {S : Type.{u4}} {L : Type.{u5}} (D : Type.{u6}) [_inst_1 : CategoryTheory.Category.{u1, u4} S] [_inst_2 : CategoryTheory.Category.{u2, u5} L] [_inst_3 : CategoryTheory.Category.{u3, u6} D] (ι : CategoryTheory.Functor.{u1, u2, u4, u5} S _inst_1 L _inst_2) [_inst_4 : CategoryTheory.Full.{u1, u2, u4, u5} S _inst_1 L _inst_2 ι] [_inst_5 : CategoryTheory.Faithful.{u1, u2, u4, u5} S _inst_1 L _inst_2 ι] [_inst_6 : forall (X : L), CategoryTheory.Limits.HasLimitsOfShape.{max u2 u1, max u4 u2, u3, u6} (CategoryTheory.StructuredArrow.{u1, u2, u4, u5} S _inst_1 L _inst_2 X ι) (CategoryTheory.StructuredArrow.category.{u2, u5, u4, u1} S _inst_1 L _inst_2 X ι) D _inst_3], CategoryTheory.IsIso.{max (max u1 u3 u4 u6) u4 u3, max (max u4 u3) u1 u3 u4 u6} (CategoryTheory.Functor.{max u4 u3, max u4 u3, max u1 u3 u4 u6, max u1 u3 u4 u6} (CategoryTheory.Functor.{u1, u3, u4, u6} S _inst_1 D _inst_3) (CategoryTheory.Functor.category.{u1, u3, u4, u6} S _inst_1 D _inst_3) (CategoryTheory.Functor.{u1, u3, u4, u6} S _inst_1 D _inst_3) (CategoryTheory.Functor.category.{u1, u3, u4, u6} S _inst_1 D _inst_3)) (CategoryTheory.Functor.category.{max u4 u3, max u4 u3, max u1 u3 u4 u6, max u1 u3 u4 u6} (CategoryTheory.Functor.{u1, u3, u4, u6} S _inst_1 D _inst_3) (CategoryTheory.Functor.category.{u1, u3, u4, u6} S _inst_1 D _inst_3) (CategoryTheory.Functor.{u1, u3, u4, u6} S _inst_1 D _inst_3) (CategoryTheory.Functor.category.{u1, u3, u4, u6} S _inst_1 D _inst_3)) (CategoryTheory.Functor.comp.{max u4 u3, max u5 u3, max u4 u3, max u1 u3 u4 u6, max u2 u3 u5 u6, max u1 u3 u4 u6} (CategoryTheory.Functor.{u1, u3, u4, u6} S _inst_1 D _inst_3) (CategoryTheory.Functor.category.{u1, u3, u4, u6} S _inst_1 D _inst_3) (CategoryTheory.Functor.{u2, u3, u5, u6} L _inst_2 D _inst_3) (CategoryTheory.Functor.category.{u2, u3, u5, u6} L _inst_2 D _inst_3) (CategoryTheory.Functor.{u1, u3, u4, u6} S _inst_1 D _inst_3) (CategoryTheory.Functor.category.{u1, u3, u4, u6} S _inst_1 D _inst_3) (CategoryTheory.ran.{u1, u2, u3, u4, u5, u6} S L D _inst_1 _inst_2 _inst_3 ι (CategoryTheory.Ran.adjunction._proof_1.{u4, u5, u6, u1, u2, u3} S L D _inst_1 _inst_2 _inst_3 ι (fun (X : L) => _inst_6 X))) (CategoryTheory.Functor.obj.{max u4 u2, max (max u2 u3 u5 u6) u4 u3, max u1 u2 u4 u5, max (max u5 u3) (max u4 u3) (max u2 u3 u5 u6) u1 u3 u4 u6} (CategoryTheory.Functor.{u1, u2, u4, u5} S _inst_1 L _inst_2) (CategoryTheory.Functor.category.{u1, u2, u4, u5} S _inst_1 L _inst_2) (CategoryTheory.Functor.{max u5 u3, max u4 u3, max u2 u3 u5 u6, max u1 u3 u4 u6} (CategoryTheory.Functor.{u2, u3, u5, u6} L _inst_2 D _inst_3) (CategoryTheory.Functor.category.{u2, u3, u5, u6} L _inst_2 D _inst_3) (CategoryTheory.Functor.{u1, u3, u4, u6} S _inst_1 D _inst_3) (CategoryTheory.Functor.category.{u1, u3, u4, u6} S _inst_1 D _inst_3)) (CategoryTheory.Functor.category.{max u5 u3, max u4 u3, max u2 u3 u5 u6, max u1 u3 u4 u6} (CategoryTheory.Functor.{u2, u3, u5, u6} L _inst_2 D _inst_3) (CategoryTheory.Functor.category.{u2, u3, u5, u6} L _inst_2 D _inst_3) (CategoryTheory.Functor.{u1, u3, u4, u6} S _inst_1 D _inst_3) (CategoryTheory.Functor.category.{u1, u3, u4, u6} S _inst_1 D _inst_3)) (CategoryTheory.whiskeringLeft.{u4, u1, u5, u2, u6, u3} S _inst_1 L _inst_2 D _inst_3) ι)) (CategoryTheory.Functor.id.{max u4 u3, max u1 u3 u4 u6} (CategoryTheory.Functor.{u1, u3, u4, u6} S _inst_1 D _inst_3) (CategoryTheory.Functor.category.{u1, u3, u4, u6} S _inst_1 D _inst_3)) (CategoryTheory.Adjunction.counit.{max u5 u3, max u4 u3, max u2 u3 u5 u6, max u1 u3 u4 u6} (CategoryTheory.Functor.{u2, u3, u5, u6} L _inst_2 D _inst_3) (CategoryTheory.Functor.category.{u2, u3, u5, u6} L _inst_2 D _inst_3) (CategoryTheory.Functor.{u1, u3, u4, u6} S _inst_1 D _inst_3) (CategoryTheory.Functor.category.{u1, u3, u4, u6} S _inst_1 D _inst_3) (CategoryTheory.Functor.obj.{max u4 u2, max (max u2 u3 u5 u6) u4 u3, max u1 u2 u4 u5, max (max u5 u3) (max u4 u3) (max u2 u3 u5 u6) u1 u3 u4 u6} (CategoryTheory.Functor.{u1, u2, u4, u5} S _inst_1 L _inst_2) (CategoryTheory.Functor.category.{u1, u2, u4, u5} S _inst_1 L _inst_2) (CategoryTheory.Functor.{max u5 u3, max u4 u3, max u2 u3 u5 u6, max u1 u3 u4 u6} (CategoryTheory.Functor.{u2, u3, u5, u6} L _inst_2 D _inst_3) (CategoryTheory.Functor.category.{u2, u3, u5, u6} L _inst_2 D _inst_3) (CategoryTheory.Functor.{u1, u3, u4, u6} S _inst_1 D _inst_3) (CategoryTheory.Functor.category.{u1, u3, u4, u6} S _inst_1 D _inst_3)) (CategoryTheory.Functor.category.{max u5 u3, max u4 u3, max u2 u3 u5 u6, max u1 u3 u4 u6} (CategoryTheory.Functor.{u2, u3, u5, u6} L _inst_2 D _inst_3) (CategoryTheory.Functor.category.{u2, u3, u5, u6} L _inst_2 D _inst_3) (CategoryTheory.Functor.{u1, u3, u4, u6} S _inst_1 D _inst_3) (CategoryTheory.Functor.category.{u1, u3, u4, u6} S _inst_1 D _inst_3)) (CategoryTheory.whiskeringLeft.{u4, u1, u5, u2, u6, u3} S _inst_1 L _inst_2 D _inst_3) ι) (CategoryTheory.ran.{u1, u2, u3, u4, u5, u6} S L D _inst_1 _inst_2 _inst_3 ι (CategoryTheory.Ran.adjunction._proof_1.{u4, u5, u6, u1, u2, u3} S L D _inst_1 _inst_2 _inst_3 ι (fun (X : L) => _inst_6 X))) (CategoryTheory.Ran.adjunction.{u1, u2, u3, u4, u5, u6} S L D _inst_1 _inst_2 _inst_3 ι (fun (X : L) => _inst_6 X)))
+but is expected to have type
+  forall {S : Type.{u4}} {L : Type.{u5}} (D : Type.{u6}) [_inst_1 : CategoryTheory.Category.{u1, u4} S] [_inst_2 : CategoryTheory.Category.{u2, u5} L] [_inst_3 : CategoryTheory.Category.{u3, u6} D] (ι : CategoryTheory.Functor.{u1, u2, u4, u5} S _inst_1 L _inst_2) [_inst_4 : CategoryTheory.Full.{u1, u2, u4, u5} S _inst_1 L _inst_2 ι] [_inst_5 : CategoryTheory.Faithful.{u1, u2, u4, u5} S _inst_1 L _inst_2 ι] [_inst_6 : forall (X : L), CategoryTheory.Limits.HasLimitsOfShape.{max u1 u2, max u4 u2, u3, u6} (CategoryTheory.StructuredArrow.{u1, u2, u4, u5} S _inst_1 L _inst_2 X ι) (CategoryTheory.instCategoryStructuredArrow.{u1, u2, u4, u5} S _inst_1 L _inst_2 X ι) D _inst_3], CategoryTheory.IsIso.{max (max (max u4 u6) u1) u3, max (max (max u4 u6) u1) u3} (CategoryTheory.Functor.{max u4 u3, max u4 u3, max (max (max u4 u6) u1) u3, max (max (max u4 u6) u1) u3} (CategoryTheory.Functor.{u1, u3, u4, u6} S _inst_1 D _inst_3) (CategoryTheory.Functor.category.{u1, u3, u4, u6} S _inst_1 D _inst_3) (CategoryTheory.Functor.{u1, u3, u4, u6} S _inst_1 D _inst_3) (CategoryTheory.Functor.category.{u1, u3, u4, u6} S _inst_1 D _inst_3)) (CategoryTheory.Functor.category.{max u4 u3, max u4 u3, max (max (max u4 u6) u1) u3, max (max (max u4 u6) u1) u3} (CategoryTheory.Functor.{u1, u3, u4, u6} S _inst_1 D _inst_3) (CategoryTheory.Functor.category.{u1, u3, u4, u6} S _inst_1 D _inst_3) (CategoryTheory.Functor.{u1, u3, u4, u6} S _inst_1 D _inst_3) (CategoryTheory.Functor.category.{u1, u3, u4, u6} S _inst_1 D _inst_3)) (CategoryTheory.Functor.comp.{max u4 u3, max u5 u3, max u4 u3, max (max (max u4 u6) u1) u3, max (max (max u5 u6) u2) u3, max (max (max u4 u6) u1) u3} (CategoryTheory.Functor.{u1, u3, u4, u6} S _inst_1 D _inst_3) (CategoryTheory.Functor.category.{u1, u3, u4, u6} S _inst_1 D _inst_3) (CategoryTheory.Functor.{u2, u3, u5, u6} L _inst_2 D _inst_3) (CategoryTheory.Functor.category.{u2, u3, u5, u6} L _inst_2 D _inst_3) (CategoryTheory.Functor.{u1, u3, u4, u6} S _inst_1 D _inst_3) (CategoryTheory.Functor.category.{u1, u3, u4, u6} S _inst_1 D _inst_3) (CategoryTheory.ran.{u1, u2, u3, u4, u5, u6} S L D _inst_1 _inst_2 _inst_3 ι (fun (X : L) => _inst_6 X)) (Prefunctor.obj.{max (succ u2) (succ u4), max (max (max (max (succ u6) (succ u3)) (succ u2)) (succ u5)) (succ u4), max (max (max u2 u5) u1) u4, max (max (max (max (max u6 u3) u2) u5) u1) u4} (CategoryTheory.Functor.{u1, u2, u4, u5} S _inst_1 L _inst_2) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u4, max (max (max u2 u5) u1) u4} (CategoryTheory.Functor.{u1, u2, u4, u5} S _inst_1 L _inst_2) (CategoryTheory.Category.toCategoryStruct.{max u2 u4, max (max (max u2 u5) u1) u4} (CategoryTheory.Functor.{u1, u2, u4, u5} S _inst_1 L _inst_2) (CategoryTheory.Functor.category.{u1, u2, u4, u5} S _inst_1 L _inst_2))) (CategoryTheory.Functor.{max u5 u3, max u4 u3, max (max (max u6 u5) u3) u2, max (max (max u6 u4) u3) u1} (CategoryTheory.Functor.{u2, u3, u5, u6} L _inst_2 D _inst_3) (CategoryTheory.Functor.category.{u2, u3, u5, u6} L _inst_2 D _inst_3) (CategoryTheory.Functor.{u1, u3, u4, u6} S _inst_1 D _inst_3) (CategoryTheory.Functor.category.{u1, u3, u4, u6} S _inst_1 D _inst_3)) (CategoryTheory.CategoryStruct.toQuiver.{max (max (max (max u6 u3) u2) u5) u4, max (max (max (max (max u6 u3) u2) u5) u1) u4} (CategoryTheory.Functor.{max u5 u3, max u4 u3, max (max (max u6 u5) u3) u2, max (max (max u6 u4) u3) u1} (CategoryTheory.Functor.{u2, u3, u5, u6} L _inst_2 D _inst_3) (CategoryTheory.Functor.category.{u2, u3, u5, u6} L _inst_2 D _inst_3) (CategoryTheory.Functor.{u1, u3, u4, u6} S _inst_1 D _inst_3) (CategoryTheory.Functor.category.{u1, u3, u4, u6} S _inst_1 D _inst_3)) (CategoryTheory.Category.toCategoryStruct.{max (max (max (max u6 u3) u2) u5) u4, max (max (max (max (max u6 u3) u2) u5) u1) u4} (CategoryTheory.Functor.{max u5 u3, max u4 u3, max (max (max u6 u5) u3) u2, max (max (max u6 u4) u3) u1} (CategoryTheory.Functor.{u2, u3, u5, u6} L _inst_2 D _inst_3) (CategoryTheory.Functor.category.{u2, u3, u5, u6} L _inst_2 D _inst_3) (CategoryTheory.Functor.{u1, u3, u4, u6} S _inst_1 D _inst_3) (CategoryTheory.Functor.category.{u1, u3, u4, u6} S _inst_1 D _inst_3)) (CategoryTheory.Functor.category.{max u5 u3, max u4 u3, max (max (max u5 u6) u2) u3, max (max (max u4 u6) u1) u3} (CategoryTheory.Functor.{u2, u3, u5, u6} L _inst_2 D _inst_3) (CategoryTheory.Functor.category.{u2, u3, u5, u6} L _inst_2 D _inst_3) (CategoryTheory.Functor.{u1, u3, u4, u6} S _inst_1 D _inst_3) (CategoryTheory.Functor.category.{u1, u3, u4, u6} S _inst_1 D _inst_3)))) (CategoryTheory.Functor.toPrefunctor.{max u2 u4, max (max (max (max u6 u3) u2) u5) u4, max (max (max u2 u5) u1) u4, max (max (max (max (max u6 u3) u2) u5) u1) u4} (CategoryTheory.Functor.{u1, u2, u4, u5} S _inst_1 L _inst_2) (CategoryTheory.Functor.category.{u1, u2, u4, u5} S _inst_1 L _inst_2) (CategoryTheory.Functor.{max u5 u3, max u4 u3, max (max (max u6 u5) u3) u2, max (max (max u6 u4) u3) u1} (CategoryTheory.Functor.{u2, u3, u5, u6} L _inst_2 D _inst_3) (CategoryTheory.Functor.category.{u2, u3, u5, u6} L _inst_2 D _inst_3) (CategoryTheory.Functor.{u1, u3, u4, u6} S _inst_1 D _inst_3) (CategoryTheory.Functor.category.{u1, u3, u4, u6} S _inst_1 D _inst_3)) (CategoryTheory.Functor.category.{max u5 u3, max u4 u3, max (max (max u5 u6) u2) u3, max (max (max u4 u6) u1) u3} (CategoryTheory.Functor.{u2, u3, u5, u6} L _inst_2 D _inst_3) (CategoryTheory.Functor.category.{u2, u3, u5, u6} L _inst_2 D _inst_3) (CategoryTheory.Functor.{u1, u3, u4, u6} S _inst_1 D _inst_3) (CategoryTheory.Functor.category.{u1, u3, u4, u6} S _inst_1 D _inst_3)) (CategoryTheory.whiskeringLeft.{u4, u1, u5, u2, u6, u3} S _inst_1 L _inst_2 D _inst_3)) ι)) (CategoryTheory.Functor.id.{max u4 u3, max (max (max u4 u6) u1) u3} (CategoryTheory.Functor.{u1, u3, u4, u6} S _inst_1 D _inst_3) (CategoryTheory.Functor.category.{u1, u3, u4, u6} S _inst_1 D _inst_3)) (CategoryTheory.Adjunction.counit.{max u5 u3, max u4 u3, max (max (max u5 u6) u2) u3, max (max (max u4 u6) u1) u3} (CategoryTheory.Functor.{u2, u3, u5, u6} L _inst_2 D _inst_3) (CategoryTheory.Functor.category.{u2, u3, u5, u6} L _inst_2 D _inst_3) (CategoryTheory.Functor.{u1, u3, u4, u6} S _inst_1 D _inst_3) (CategoryTheory.Functor.category.{u1, u3, u4, u6} S _inst_1 D _inst_3) (Prefunctor.obj.{max (succ u2) (succ u4), max (max (max (max (succ u6) (succ u3)) (succ u2)) (succ u5)) (succ u4), max (max (max u2 u5) u1) u4, max (max (max (max (max u6 u3) u2) u5) u1) u4} (CategoryTheory.Functor.{u1, u2, u4, u5} S _inst_1 L _inst_2) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u4, max (max (max u2 u5) u1) u4} (CategoryTheory.Functor.{u1, u2, u4, u5} S _inst_1 L _inst_2) (CategoryTheory.Category.toCategoryStruct.{max u2 u4, max (max (max u2 u5) u1) u4} (CategoryTheory.Functor.{u1, u2, u4, u5} S _inst_1 L _inst_2) (CategoryTheory.Functor.category.{u1, u2, u4, u5} S _inst_1 L _inst_2))) (CategoryTheory.Functor.{max u5 u3, max u4 u3, max (max (max u6 u5) u3) u2, max (max (max u6 u4) u3) u1} (CategoryTheory.Functor.{u2, u3, u5, u6} L _inst_2 D _inst_3) (CategoryTheory.Functor.category.{u2, u3, u5, u6} L _inst_2 D _inst_3) (CategoryTheory.Functor.{u1, u3, u4, u6} S _inst_1 D _inst_3) (CategoryTheory.Functor.category.{u1, u3, u4, u6} S _inst_1 D _inst_3)) (CategoryTheory.CategoryStruct.toQuiver.{max (max (max (max u6 u3) u2) u5) u4, max (max (max (max (max u6 u3) u2) u5) u1) u4} (CategoryTheory.Functor.{max u5 u3, max u4 u3, max (max (max u6 u5) u3) u2, max (max (max u6 u4) u3) u1} (CategoryTheory.Functor.{u2, u3, u5, u6} L _inst_2 D _inst_3) (CategoryTheory.Functor.category.{u2, u3, u5, u6} L _inst_2 D _inst_3) (CategoryTheory.Functor.{u1, u3, u4, u6} S _inst_1 D _inst_3) (CategoryTheory.Functor.category.{u1, u3, u4, u6} S _inst_1 D _inst_3)) (CategoryTheory.Category.toCategoryStruct.{max (max (max (max u6 u3) u2) u5) u4, max (max (max (max (max u6 u3) u2) u5) u1) u4} (CategoryTheory.Functor.{max u5 u3, max u4 u3, max (max (max u6 u5) u3) u2, max (max (max u6 u4) u3) u1} (CategoryTheory.Functor.{u2, u3, u5, u6} L _inst_2 D _inst_3) (CategoryTheory.Functor.category.{u2, u3, u5, u6} L _inst_2 D _inst_3) (CategoryTheory.Functor.{u1, u3, u4, u6} S _inst_1 D _inst_3) (CategoryTheory.Functor.category.{u1, u3, u4, u6} S _inst_1 D _inst_3)) (CategoryTheory.Functor.category.{max u5 u3, max u4 u3, max (max (max u5 u6) u2) u3, max (max (max u4 u6) u1) u3} (CategoryTheory.Functor.{u2, u3, u5, u6} L _inst_2 D _inst_3) (CategoryTheory.Functor.category.{u2, u3, u5, u6} L _inst_2 D _inst_3) (CategoryTheory.Functor.{u1, u3, u4, u6} S _inst_1 D _inst_3) (CategoryTheory.Functor.category.{u1, u3, u4, u6} S _inst_1 D _inst_3)))) (CategoryTheory.Functor.toPrefunctor.{max u2 u4, max (max (max (max u6 u3) u2) u5) u4, max (max (max u2 u5) u1) u4, max (max (max (max (max u6 u3) u2) u5) u1) u4} (CategoryTheory.Functor.{u1, u2, u4, u5} S _inst_1 L _inst_2) (CategoryTheory.Functor.category.{u1, u2, u4, u5} S _inst_1 L _inst_2) (CategoryTheory.Functor.{max u5 u3, max u4 u3, max (max (max u6 u5) u3) u2, max (max (max u6 u4) u3) u1} (CategoryTheory.Functor.{u2, u3, u5, u6} L _inst_2 D _inst_3) (CategoryTheory.Functor.category.{u2, u3, u5, u6} L _inst_2 D _inst_3) (CategoryTheory.Functor.{u1, u3, u4, u6} S _inst_1 D _inst_3) (CategoryTheory.Functor.category.{u1, u3, u4, u6} S _inst_1 D _inst_3)) (CategoryTheory.Functor.category.{max u5 u3, max u4 u3, max (max (max u5 u6) u2) u3, max (max (max u4 u6) u1) u3} (CategoryTheory.Functor.{u2, u3, u5, u6} L _inst_2 D _inst_3) (CategoryTheory.Functor.category.{u2, u3, u5, u6} L _inst_2 D _inst_3) (CategoryTheory.Functor.{u1, u3, u4, u6} S _inst_1 D _inst_3) (CategoryTheory.Functor.category.{u1, u3, u4, u6} S _inst_1 D _inst_3)) (CategoryTheory.whiskeringLeft.{u4, u1, u5, u2, u6, u3} S _inst_1 L _inst_2 D _inst_3)) ι) (CategoryTheory.ran.{u1, u2, u3, u4, u5, u6} S L D _inst_1 _inst_2 _inst_3 ι (fun (X : L) => _inst_6 X)) (CategoryTheory.Ran.adjunction.{u1, u2, u3, u4, u5, u6} S L D _inst_1 _inst_2 _inst_3 ι (fun (X : L) => _inst_6 X)))
+Case conversion may be inaccurate. Consider using '#align category_theory.Ran.reflective CategoryTheory.Ran.reflectiveₓ'. -/
 theorem reflective [Full ι] [Faithful ι] [∀ X, HasLimitsOfShape (StructuredArrow X ι) D] :
     IsIso (adjunction D ι).counit :=
   by
@@ -164,7 +190,7 @@ theorem reflective [Full ι] [Faithful ι] [∀ X, HasLimitsOfShape (StructuredA
     is_iso.of_iso
       ((limit.is_limit _).conePointUniqueUpToIso
         (limit_of_diagram_initial structured_arrow.mk_id_initial _))
-#align category_theory.Ran.reflective CategoryTheory.ran.reflective
+#align category_theory.Ran.reflective CategoryTheory.Ran.reflective
 
 end Ran
 
@@ -172,13 +198,16 @@ namespace Lan
 
 attribute [local simp] costructured_arrow.proj
 
+#print CategoryTheory.Lan.diagram /-
 /-- The diagram indexed by `Ran.index ι x` used to define `Ran`. -/
 abbrev diagram (F : S ⥤ D) (x : L) : CostructuredArrow ι x ⥤ D :=
   CostructuredArrow.proj ι x ⋙ F
 #align category_theory.Lan.diagram CategoryTheory.Lan.diagram
+-/
 
 variable {ι}
 
+#print CategoryTheory.Lan.cocone /-
 /-- A cocone over `Lan.diagram ι F x` used to define `Lan`. -/
 @[simp]
 def cocone {F : S ⥤ D} {G : L ⥤ D} (x : L) (f : F ⟶ ι ⋙ G) : Cocone (diagram ι F x)
@@ -193,9 +222,11 @@ def cocone {F : S ⥤ D} {G : L ⥤ D} (x : L) (f : F ⟶ ι ⋙ G) : Cocone (di
         rw [← G.map_comp, ff]
         tidy }
 #align category_theory.Lan.cocone CategoryTheory.Lan.cocone
+-/
 
 variable (ι)
 
+#print CategoryTheory.Lan.loc /-
 /-- An auxiliary definition used to define `Lan`. -/
 @[simps]
 def loc (F : S ⥤ D) [I : ∀ x, HasColimit (diagram ι F x)] : L ⥤ D
@@ -223,7 +254,14 @@ def loc (F : S ⥤ D) [I : ∀ x, HasColimit (diagram ι F x)] : L ⥤ D
     congr 1
     simp
 #align category_theory.Lan.loc CategoryTheory.Lan.loc
+-/
 
+/- warning: category_theory.Lan.equiv -> CategoryTheory.Lan.equiv is a dubious translation:
+lean 3 declaration is
+  forall {S : Type.{u4}} {L : Type.{u5}} {D : Type.{u6}} [_inst_1 : CategoryTheory.Category.{u1, u4} S] [_inst_2 : CategoryTheory.Category.{u2, u5} L] [_inst_3 : CategoryTheory.Category.{u3, u6} D] (ι : CategoryTheory.Functor.{u1, u2, u4, u5} S _inst_1 L _inst_2) (F : CategoryTheory.Functor.{u1, u3, u4, u6} S _inst_1 D _inst_3) [I : forall (x : L), CategoryTheory.Limits.HasColimit.{max u1 u2, max u4 u2, u3, u6} (CategoryTheory.CostructuredArrow.{u1, u2, u4, u5} S _inst_1 L _inst_2 ι x) (CategoryTheory.CostructuredArrow.category.{u2, u5, u4, u1} S _inst_1 L _inst_2 ι x) D _inst_3 (CategoryTheory.Lan.diagram.{u1, u2, u3, u4, u5, u6} S L D _inst_1 _inst_2 _inst_3 ι F x)] (G : CategoryTheory.Functor.{u2, u3, u5, u6} L _inst_2 D _inst_3), Equiv.{succ (max u5 u3), succ (max u4 u3)} (Quiver.Hom.{succ (max u5 u3), max u2 u3 u5 u6} (CategoryTheory.Functor.{u2, u3, u5, u6} L _inst_2 D _inst_3) (CategoryTheory.CategoryStruct.toQuiver.{max u5 u3, max u2 u3 u5 u6} (CategoryTheory.Functor.{u2, u3, u5, u6} L _inst_2 D _inst_3) (CategoryTheory.Category.toCategoryStruct.{max u5 u3, max u2 u3 u5 u6} (CategoryTheory.Functor.{u2, u3, u5, u6} L _inst_2 D _inst_3) (CategoryTheory.Functor.category.{u2, u3, u5, u6} L _inst_2 D _inst_3))) (CategoryTheory.Lan.loc.{u1, u2, u3, u4, u5, u6} S L D _inst_1 _inst_2 _inst_3 ι F (CategoryTheory.Lan.equiv._proof_1.{u4, u5, u6, u1, u2, u3} S L D _inst_1 _inst_2 _inst_3 ι F I)) G) (Quiver.Hom.{succ (max u4 u3), max u1 u3 u4 u6} (CategoryTheory.Functor.{u1, u3, u4, u6} S _inst_1 D _inst_3) (CategoryTheory.CategoryStruct.toQuiver.{max u4 u3, max u1 u3 u4 u6} (CategoryTheory.Functor.{u1, u3, u4, u6} S _inst_1 D _inst_3) (CategoryTheory.Category.toCategoryStruct.{max u4 u3, max u1 u3 u4 u6} (CategoryTheory.Functor.{u1, u3, u4, u6} S _inst_1 D _inst_3) (CategoryTheory.Functor.category.{u1, u3, u4, u6} S _inst_1 D _inst_3))) F (CategoryTheory.Functor.obj.{max u5 u3, max u4 u3, max u2 u3 u5 u6, max u1 u3 u4 u6} (CategoryTheory.Functor.{u2, u3, u5, u6} L _inst_2 D _inst_3) (CategoryTheory.Functor.category.{u2, u3, u5, u6} L _inst_2 D _inst_3) (CategoryTheory.Functor.{u1, u3, u4, u6} S _inst_1 D _inst_3) (CategoryTheory.Functor.category.{u1, u3, u4, u6} S _inst_1 D _inst_3) (CategoryTheory.Functor.obj.{max u4 u2, max (max u2 u3 u5 u6) u4 u3, max u1 u2 u4 u5, max (max u5 u3) (max u4 u3) (max u2 u3 u5 u6) u1 u3 u4 u6} (CategoryTheory.Functor.{u1, u2, u4, u5} S _inst_1 L _inst_2) (CategoryTheory.Functor.category.{u1, u2, u4, u5} S _inst_1 L _inst_2) (CategoryTheory.Functor.{max u5 u3, max u4 u3, max u2 u3 u5 u6, max u1 u3 u4 u6} (CategoryTheory.Functor.{u2, u3, u5, u6} L _inst_2 D _inst_3) (CategoryTheory.Functor.category.{u2, u3, u5, u6} L _inst_2 D _inst_3) (CategoryTheory.Functor.{u1, u3, u4, u6} S _inst_1 D _inst_3) (CategoryTheory.Functor.category.{u1, u3, u4, u6} S _inst_1 D _inst_3)) (CategoryTheory.Functor.category.{max u5 u3, max u4 u3, max u2 u3 u5 u6, max u1 u3 u4 u6} (CategoryTheory.Functor.{u2, u3, u5, u6} L _inst_2 D _inst_3) (CategoryTheory.Functor.category.{u2, u3, u5, u6} L _inst_2 D _inst_3) (CategoryTheory.Functor.{u1, u3, u4, u6} S _inst_1 D _inst_3) (CategoryTheory.Functor.category.{u1, u3, u4, u6} S _inst_1 D _inst_3)) (CategoryTheory.whiskeringLeft.{u4, u1, u5, u2, u6, u3} S _inst_1 L _inst_2 D _inst_3) ι) G))
+but is expected to have type
+  forall {S : Type.{u4}} {L : Type.{u5}} {D : Type.{u6}} [_inst_1 : CategoryTheory.Category.{u1, u4} S] [_inst_2 : CategoryTheory.Category.{u2, u5} L] [_inst_3 : CategoryTheory.Category.{u3, u6} D] (ι : CategoryTheory.Functor.{u1, u2, u4, u5} S _inst_1 L _inst_2) (F : CategoryTheory.Functor.{u1, u3, u4, u6} S _inst_1 D _inst_3) [I : forall (x : L), CategoryTheory.Limits.HasColimit.{max u1 u2, max u4 u2, u3, u6} (CategoryTheory.CostructuredArrow.{u1, u2, u4, u5} S _inst_1 L _inst_2 ι x) (CategoryTheory.instCategoryCostructuredArrow.{u1, u2, u4, u5} S _inst_1 L _inst_2 ι x) D _inst_3 (CategoryTheory.Lan.diagram.{u1, u2, u3, u4, u5, u6} S L D _inst_1 _inst_2 _inst_3 ι F x)] (G : CategoryTheory.Functor.{u2, u3, u5, u6} L _inst_2 D _inst_3), Equiv.{max (succ u5) (succ u3), max (succ u4) (succ u3)} (Quiver.Hom.{max (succ u5) (succ u3), max (max (max u6 u5) u3) u2} (CategoryTheory.Functor.{u2, u3, u5, u6} L _inst_2 D _inst_3) (CategoryTheory.CategoryStruct.toQuiver.{max u5 u3, max (max (max u5 u6) u2) u3} (CategoryTheory.Functor.{u2, u3, u5, u6} L _inst_2 D _inst_3) (CategoryTheory.Category.toCategoryStruct.{max u5 u3, max (max (max u5 u6) u2) u3} (CategoryTheory.Functor.{u2, u3, u5, u6} L _inst_2 D _inst_3) (CategoryTheory.Functor.category.{u2, u3, u5, u6} L _inst_2 D _inst_3))) (CategoryTheory.Lan.loc.{u1, u2, u3, u4, u5, u6} S L D _inst_1 _inst_2 _inst_3 ι F (fun (x : L) => I x)) G) (Quiver.Hom.{max (succ u4) (succ u3), max (max (max u4 u6) u1) u3} (CategoryTheory.Functor.{u1, u3, u4, u6} S _inst_1 D _inst_3) (CategoryTheory.CategoryStruct.toQuiver.{max u4 u3, max (max (max u4 u6) u1) u3} (CategoryTheory.Functor.{u1, u3, u4, u6} S _inst_1 D _inst_3) (CategoryTheory.Category.toCategoryStruct.{max u4 u3, max (max (max u4 u6) u1) u3} (CategoryTheory.Functor.{u1, u3, u4, u6} S _inst_1 D _inst_3) (CategoryTheory.Functor.category.{u1, u3, u4, u6} S _inst_1 D _inst_3))) F (Prefunctor.obj.{max (succ u5) (succ u3), max (succ u4) (succ u3), max (max (max u5 u2) u3) u6, max (max (max u4 u1) u3) u6} (CategoryTheory.Functor.{u2, u3, u5, u6} L _inst_2 D _inst_3) (CategoryTheory.CategoryStruct.toQuiver.{max u5 u3, max (max (max u5 u2) u3) u6} (CategoryTheory.Functor.{u2, u3, u5, u6} L _inst_2 D _inst_3) (CategoryTheory.Category.toCategoryStruct.{max u5 u3, max (max (max u5 u2) u3) u6} (CategoryTheory.Functor.{u2, u3, u5, u6} L _inst_2 D _inst_3) (CategoryTheory.Functor.category.{u2, u3, u5, u6} L _inst_2 D _inst_3))) (CategoryTheory.Functor.{u1, u3, u4, u6} S _inst_1 D _inst_3) (CategoryTheory.CategoryStruct.toQuiver.{max u4 u3, max (max (max u4 u1) u3) u6} (CategoryTheory.Functor.{u1, u3, u4, u6} S _inst_1 D _inst_3) (CategoryTheory.Category.toCategoryStruct.{max u4 u3, max (max (max u4 u1) u3) u6} (CategoryTheory.Functor.{u1, u3, u4, u6} S _inst_1 D _inst_3) (CategoryTheory.Functor.category.{u1, u3, u4, u6} S _inst_1 D _inst_3))) (CategoryTheory.Functor.toPrefunctor.{max u5 u3, max u4 u3, max (max (max u5 u2) u3) u6, max (max (max u4 u1) u3) u6} (CategoryTheory.Functor.{u2, u3, u5, u6} L _inst_2 D _inst_3) (CategoryTheory.Functor.category.{u2, u3, u5, u6} L _inst_2 D _inst_3) (CategoryTheory.Functor.{u1, u3, u4, u6} S _inst_1 D _inst_3) (CategoryTheory.Functor.category.{u1, u3, u4, u6} S _inst_1 D _inst_3) (Prefunctor.obj.{max (succ u2) (succ u4), max (max (max (max (succ u3) (succ u6)) (succ u2)) (succ u5)) (succ u4), max (max (max u2 u5) u1) u4, max (max (max (max (max u3 u6) u2) u5) u1) u4} (CategoryTheory.Functor.{u1, u2, u4, u5} S _inst_1 L _inst_2) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u4, max (max (max u2 u5) u1) u4} (CategoryTheory.Functor.{u1, u2, u4, u5} S _inst_1 L _inst_2) (CategoryTheory.Category.toCategoryStruct.{max u2 u4, max (max (max u2 u5) u1) u4} (CategoryTheory.Functor.{u1, u2, u4, u5} S _inst_1 L _inst_2) (CategoryTheory.Functor.category.{u1, u2, u4, u5} S _inst_1 L _inst_2))) (CategoryTheory.Functor.{max u5 u3, max u4 u3, max (max (max u6 u5) u3) u2, max (max (max u6 u4) u3) u1} (CategoryTheory.Functor.{u2, u3, u5, u6} L _inst_2 D _inst_3) (CategoryTheory.Functor.category.{u2, u3, u5, u6} L _inst_2 D _inst_3) (CategoryTheory.Functor.{u1, u3, u4, u6} S _inst_1 D _inst_3) (CategoryTheory.Functor.category.{u1, u3, u4, u6} S _inst_1 D _inst_3)) (CategoryTheory.CategoryStruct.toQuiver.{max (max (max (max u3 u6) u2) u5) u4, max (max (max (max (max u3 u6) u2) u5) u1) u4} (CategoryTheory.Functor.{max u5 u3, max u4 u3, max (max (max u6 u5) u3) u2, max (max (max u6 u4) u3) u1} (CategoryTheory.Functor.{u2, u3, u5, u6} L _inst_2 D _inst_3) (CategoryTheory.Functor.category.{u2, u3, u5, u6} L _inst_2 D _inst_3) (CategoryTheory.Functor.{u1, u3, u4, u6} S _inst_1 D _inst_3) (CategoryTheory.Functor.category.{u1, u3, u4, u6} S _inst_1 D _inst_3)) (CategoryTheory.Category.toCategoryStruct.{max (max (max (max u3 u6) u2) u5) u4, max (max (max (max (max u3 u6) u2) u5) u1) u4} (CategoryTheory.Functor.{max u5 u3, max u4 u3, max (max (max u6 u5) u3) u2, max (max (max u6 u4) u3) u1} (CategoryTheory.Functor.{u2, u3, u5, u6} L _inst_2 D _inst_3) (CategoryTheory.Functor.category.{u2, u3, u5, u6} L _inst_2 D _inst_3) (CategoryTheory.Functor.{u1, u3, u4, u6} S _inst_1 D _inst_3) (CategoryTheory.Functor.category.{u1, u3, u4, u6} S _inst_1 D _inst_3)) (CategoryTheory.Functor.category.{max u5 u3, max u4 u3, max (max (max u5 u6) u2) u3, max (max (max u4 u6) u1) u3} (CategoryTheory.Functor.{u2, u3, u5, u6} L _inst_2 D _inst_3) (CategoryTheory.Functor.category.{u2, u3, u5, u6} L _inst_2 D _inst_3) (CategoryTheory.Functor.{u1, u3, u4, u6} S _inst_1 D _inst_3) (CategoryTheory.Functor.category.{u1, u3, u4, u6} S _inst_1 D _inst_3)))) (CategoryTheory.Functor.toPrefunctor.{max u2 u4, max (max (max (max u3 u6) u2) u5) u4, max (max (max u2 u5) u1) u4, max (max (max (max (max u3 u6) u2) u5) u1) u4} (CategoryTheory.Functor.{u1, u2, u4, u5} S _inst_1 L _inst_2) (CategoryTheory.Functor.category.{u1, u2, u4, u5} S _inst_1 L _inst_2) (CategoryTheory.Functor.{max u5 u3, max u4 u3, max (max (max u6 u5) u3) u2, max (max (max u6 u4) u3) u1} (CategoryTheory.Functor.{u2, u3, u5, u6} L _inst_2 D _inst_3) (CategoryTheory.Functor.category.{u2, u3, u5, u6} L _inst_2 D _inst_3) (CategoryTheory.Functor.{u1, u3, u4, u6} S _inst_1 D _inst_3) (CategoryTheory.Functor.category.{u1, u3, u4, u6} S _inst_1 D _inst_3)) (CategoryTheory.Functor.category.{max u5 u3, max u4 u3, max (max (max u5 u6) u2) u3, max (max (max u4 u6) u1) u3} (CategoryTheory.Functor.{u2, u3, u5, u6} L _inst_2 D _inst_3) (CategoryTheory.Functor.category.{u2, u3, u5, u6} L _inst_2 D _inst_3) (CategoryTheory.Functor.{u1, u3, u4, u6} S _inst_1 D _inst_3) (CategoryTheory.Functor.category.{u1, u3, u4, u6} S _inst_1 D _inst_3)) (CategoryTheory.whiskeringLeft.{u4, u1, u5, u2, u6, u3} S _inst_1 L _inst_2 D _inst_3)) ι)) G))
+Case conversion may be inaccurate. Consider using '#align category_theory.Lan.equiv CategoryTheory.Lan.equivₓ'. -/
 /-- An auxiliary definition used to define `Lan` and `Lan.adjunction`. -/
 @[simps]
 def equiv (F : S ⥤ D) [I : ∀ x, HasColimit (diagram ι F x)] (G : L ⥤ D) :
@@ -276,22 +314,36 @@ def equiv (F : S ⥤ D) [I : ∀ x, HasColimit (diagram ι F x)] (G : L ⥤ D) :
 
 end Lan
 
+#print CategoryTheory.lan /-
 /-- The left Kan extension of a functor. -/
 @[simps]
 def lan [∀ X, HasColimitsOfShape (CostructuredArrow ι X) D] : (S ⥤ D) ⥤ L ⥤ D :=
   Adjunction.leftAdjointOfEquiv (fun F G => Lan.equiv ι F G) (by tidy)
 #align category_theory.Lan CategoryTheory.lan
+-/
 
 namespace Lan
 
 variable (D)
 
+/- warning: category_theory.Lan.adjunction -> CategoryTheory.Lan.adjunction is a dubious translation:
+lean 3 declaration is
+  forall {S : Type.{u4}} {L : Type.{u5}} (D : Type.{u6}) [_inst_1 : CategoryTheory.Category.{u1, u4} S] [_inst_2 : CategoryTheory.Category.{u2, u5} L] [_inst_3 : CategoryTheory.Category.{u3, u6} D] (ι : CategoryTheory.Functor.{u1, u2, u4, u5} S _inst_1 L _inst_2) [_inst_4 : forall (X : L), CategoryTheory.Limits.HasColimitsOfShape.{max u1 u2, max u4 u2, u3, u6} (CategoryTheory.CostructuredArrow.{u1, u2, u4, u5} S _inst_1 L _inst_2 ι X) (CategoryTheory.CostructuredArrow.category.{u2, u5, u4, u1} S _inst_1 L _inst_2 ι X) D _inst_3], CategoryTheory.Adjunction.{max u4 u3, max u5 u3, max u1 u3 u4 u6, max u2 u3 u5 u6} (CategoryTheory.Functor.{u1, u3, u4, u6} S _inst_1 D _inst_3) (CategoryTheory.Functor.category.{u1, u3, u4, u6} S _inst_1 D _inst_3) (CategoryTheory.Functor.{u2, u3, u5, u6} L _inst_2 D _inst_3) (CategoryTheory.Functor.category.{u2, u3, u5, u6} L _inst_2 D _inst_3) (CategoryTheory.lan.{u1, u2, u3, u4, u5, u6} S L D _inst_1 _inst_2 _inst_3 ι (CategoryTheory.Lan.adjunction._proof_1.{u4, u5, u6, u1, u2, u3} S L D _inst_1 _inst_2 _inst_3 ι _inst_4)) (CategoryTheory.Functor.obj.{max u4 u2, max (max u2 u3 u5 u6) u4 u3, max u1 u2 u4 u5, max (max u5 u3) (max u4 u3) (max u2 u3 u5 u6) u1 u3 u4 u6} (CategoryTheory.Functor.{u1, u2, u4, u5} S _inst_1 L _inst_2) (CategoryTheory.Functor.category.{u1, u2, u4, u5} S _inst_1 L _inst_2) (CategoryTheory.Functor.{max u5 u3, max u4 u3, max u2 u3 u5 u6, max u1 u3 u4 u6} (CategoryTheory.Functor.{u2, u3, u5, u6} L _inst_2 D _inst_3) (CategoryTheory.Functor.category.{u2, u3, u5, u6} L _inst_2 D _inst_3) (CategoryTheory.Functor.{u1, u3, u4, u6} S _inst_1 D _inst_3) (CategoryTheory.Functor.category.{u1, u3, u4, u6} S _inst_1 D _inst_3)) (CategoryTheory.Functor.category.{max u5 u3, max u4 u3, max u2 u3 u5 u6, max u1 u3 u4 u6} (CategoryTheory.Functor.{u2, u3, u5, u6} L _inst_2 D _inst_3) (CategoryTheory.Functor.category.{u2, u3, u5, u6} L _inst_2 D _inst_3) (CategoryTheory.Functor.{u1, u3, u4, u6} S _inst_1 D _inst_3) (CategoryTheory.Functor.category.{u1, u3, u4, u6} S _inst_1 D _inst_3)) (CategoryTheory.whiskeringLeft.{u4, u1, u5, u2, u6, u3} S _inst_1 L _inst_2 D _inst_3) ι)
+but is expected to have type
+  forall {S : Type.{u4}} {L : Type.{u5}} (D : Type.{u6}) [_inst_1 : CategoryTheory.Category.{u1, u4} S] [_inst_2 : CategoryTheory.Category.{u2, u5} L] [_inst_3 : CategoryTheory.Category.{u3, u6} D] (ι : CategoryTheory.Functor.{u1, u2, u4, u5} S _inst_1 L _inst_2) [_inst_4 : forall (X : L), CategoryTheory.Limits.HasColimitsOfShape.{max u1 u2, max u4 u2, u3, u6} (CategoryTheory.CostructuredArrow.{u1, u2, u4, u5} S _inst_1 L _inst_2 ι X) (CategoryTheory.instCategoryCostructuredArrow.{u1, u2, u4, u5} S _inst_1 L _inst_2 ι X) D _inst_3], CategoryTheory.Adjunction.{max u4 u3, max u5 u3, max (max (max u6 u4) u3) u1, max (max (max u6 u5) u3) u2} (CategoryTheory.Functor.{u1, u3, u4, u6} S _inst_1 D _inst_3) (CategoryTheory.Functor.category.{u1, u3, u4, u6} S _inst_1 D _inst_3) (CategoryTheory.Functor.{u2, u3, u5, u6} L _inst_2 D _inst_3) (CategoryTheory.Functor.category.{u2, u3, u5, u6} L _inst_2 D _inst_3) (CategoryTheory.lan.{u1, u2, u3, u4, u5, u6} S L D _inst_1 _inst_2 _inst_3 ι (fun (X : L) => _inst_4 X)) (Prefunctor.obj.{max (succ u2) (succ u4), max (max (max (max (succ u6) (succ u3)) (succ u2)) (succ u5)) (succ u4), max (max (max u2 u5) u1) u4, max (max (max (max (max u6 u3) u2) u5) u1) u4} (CategoryTheory.Functor.{u1, u2, u4, u5} S _inst_1 L _inst_2) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u4, max (max (max u2 u5) u1) u4} (CategoryTheory.Functor.{u1, u2, u4, u5} S _inst_1 L _inst_2) (CategoryTheory.Category.toCategoryStruct.{max u2 u4, max (max (max u2 u5) u1) u4} (CategoryTheory.Functor.{u1, u2, u4, u5} S _inst_1 L _inst_2) (CategoryTheory.Functor.category.{u1, u2, u4, u5} S _inst_1 L _inst_2))) (CategoryTheory.Functor.{max u5 u3, max u4 u3, max (max (max u6 u5) u3) u2, max (max (max u6 u4) u3) u1} (CategoryTheory.Functor.{u2, u3, u5, u6} L _inst_2 D _inst_3) (CategoryTheory.Functor.category.{u2, u3, u5, u6} L _inst_2 D _inst_3) (CategoryTheory.Functor.{u1, u3, u4, u6} S _inst_1 D _inst_3) (CategoryTheory.Functor.category.{u1, u3, u4, u6} S _inst_1 D _inst_3)) (CategoryTheory.CategoryStruct.toQuiver.{max (max (max (max u6 u3) u2) u5) u4, max (max (max (max (max u6 u3) u2) u5) u1) u4} (CategoryTheory.Functor.{max u5 u3, max u4 u3, max (max (max u6 u5) u3) u2, max (max (max u6 u4) u3) u1} (CategoryTheory.Functor.{u2, u3, u5, u6} L _inst_2 D _inst_3) (CategoryTheory.Functor.category.{u2, u3, u5, u6} L _inst_2 D _inst_3) (CategoryTheory.Functor.{u1, u3, u4, u6} S _inst_1 D _inst_3) (CategoryTheory.Functor.category.{u1, u3, u4, u6} S _inst_1 D _inst_3)) (CategoryTheory.Category.toCategoryStruct.{max (max (max (max u6 u3) u2) u5) u4, max (max (max (max (max u6 u3) u2) u5) u1) u4} (CategoryTheory.Functor.{max u5 u3, max u4 u3, max (max (max u6 u5) u3) u2, max (max (max u6 u4) u3) u1} (CategoryTheory.Functor.{u2, u3, u5, u6} L _inst_2 D _inst_3) (CategoryTheory.Functor.category.{u2, u3, u5, u6} L _inst_2 D _inst_3) (CategoryTheory.Functor.{u1, u3, u4, u6} S _inst_1 D _inst_3) (CategoryTheory.Functor.category.{u1, u3, u4, u6} S _inst_1 D _inst_3)) (CategoryTheory.Functor.category.{max u5 u3, max u4 u3, max (max (max u5 u6) u2) u3, max (max (max u4 u6) u1) u3} (CategoryTheory.Functor.{u2, u3, u5, u6} L _inst_2 D _inst_3) (CategoryTheory.Functor.category.{u2, u3, u5, u6} L _inst_2 D _inst_3) (CategoryTheory.Functor.{u1, u3, u4, u6} S _inst_1 D _inst_3) (CategoryTheory.Functor.category.{u1, u3, u4, u6} S _inst_1 D _inst_3)))) (CategoryTheory.Functor.toPrefunctor.{max u2 u4, max (max (max (max u6 u3) u2) u5) u4, max (max (max u2 u5) u1) u4, max (max (max (max (max u6 u3) u2) u5) u1) u4} (CategoryTheory.Functor.{u1, u2, u4, u5} S _inst_1 L _inst_2) (CategoryTheory.Functor.category.{u1, u2, u4, u5} S _inst_1 L _inst_2) (CategoryTheory.Functor.{max u5 u3, max u4 u3, max (max (max u6 u5) u3) u2, max (max (max u6 u4) u3) u1} (CategoryTheory.Functor.{u2, u3, u5, u6} L _inst_2 D _inst_3) (CategoryTheory.Functor.category.{u2, u3, u5, u6} L _inst_2 D _inst_3) (CategoryTheory.Functor.{u1, u3, u4, u6} S _inst_1 D _inst_3) (CategoryTheory.Functor.category.{u1, u3, u4, u6} S _inst_1 D _inst_3)) (CategoryTheory.Functor.category.{max u5 u3, max u4 u3, max (max (max u5 u6) u2) u3, max (max (max u4 u6) u1) u3} (CategoryTheory.Functor.{u2, u3, u5, u6} L _inst_2 D _inst_3) (CategoryTheory.Functor.category.{u2, u3, u5, u6} L _inst_2 D _inst_3) (CategoryTheory.Functor.{u1, u3, u4, u6} S _inst_1 D _inst_3) (CategoryTheory.Functor.category.{u1, u3, u4, u6} S _inst_1 D _inst_3)) (CategoryTheory.whiskeringLeft.{u4, u1, u5, u2, u6, u3} S _inst_1 L _inst_2 D _inst_3)) ι)
+Case conversion may be inaccurate. Consider using '#align category_theory.Lan.adjunction CategoryTheory.Lan.adjunctionₓ'. -/
 /-- The adjunction associated to `Lan`. -/
 def adjunction [∀ X, HasColimitsOfShape (CostructuredArrow ι X) D] :
     lan ι ⊣ (whiskeringLeft _ _ D).obj ι :=
   Adjunction.adjunctionOfEquivLeft _ _
-#align category_theory.Lan.adjunction CategoryTheory.lan.adjunction
-
+#align category_theory.Lan.adjunction CategoryTheory.Lan.adjunction
+
+/- warning: category_theory.Lan.coreflective -> CategoryTheory.Lan.coreflective is a dubious translation:
+lean 3 declaration is
+  forall {S : Type.{u4}} {L : Type.{u5}} (D : Type.{u6}) [_inst_1 : CategoryTheory.Category.{u1, u4} S] [_inst_2 : CategoryTheory.Category.{u2, u5} L] [_inst_3 : CategoryTheory.Category.{u3, u6} D] (ι : CategoryTheory.Functor.{u1, u2, u4, u5} S _inst_1 L _inst_2) [_inst_4 : CategoryTheory.Full.{u1, u2, u4, u5} S _inst_1 L _inst_2 ι] [_inst_5 : CategoryTheory.Faithful.{u1, u2, u4, u5} S _inst_1 L _inst_2 ι] [_inst_6 : forall (X : L), CategoryTheory.Limits.HasColimitsOfShape.{max u1 u2, max u4 u2, u3, u6} (CategoryTheory.CostructuredArrow.{u1, u2, u4, u5} S _inst_1 L _inst_2 ι X) (CategoryTheory.CostructuredArrow.category.{u2, u5, u4, u1} S _inst_1 L _inst_2 ι X) D _inst_3], CategoryTheory.IsIso.{max (max u1 u3 u4 u6) u4 u3, max (max u4 u3) u1 u3 u4 u6} (CategoryTheory.Functor.{max u4 u3, max u4 u3, max u1 u3 u4 u6, max u1 u3 u4 u6} (CategoryTheory.Functor.{u1, u3, u4, u6} S _inst_1 D _inst_3) (CategoryTheory.Functor.category.{u1, u3, u4, u6} S _inst_1 D _inst_3) (CategoryTheory.Functor.{u1, u3, u4, u6} S _inst_1 D _inst_3) (CategoryTheory.Functor.category.{u1, u3, u4, u6} S _inst_1 D _inst_3)) (CategoryTheory.Functor.category.{max u4 u3, max u4 u3, max u1 u3 u4 u6, max u1 u3 u4 u6} (CategoryTheory.Functor.{u1, u3, u4, u6} S _inst_1 D _inst_3) (CategoryTheory.Functor.category.{u1, u3, u4, u6} S _inst_1 D _inst_3) (CategoryTheory.Functor.{u1, u3, u4, u6} S _inst_1 D _inst_3) (CategoryTheory.Functor.category.{u1, u3, u4, u6} S _inst_1 D _inst_3)) (CategoryTheory.Functor.id.{max u4 u3, max u1 u3 u4 u6} (CategoryTheory.Functor.{u1, u3, u4, u6} S _inst_1 D _inst_3) (CategoryTheory.Functor.category.{u1, u3, u4, u6} S _inst_1 D _inst_3)) (CategoryTheory.Functor.comp.{max u4 u3, max u5 u3, max u4 u3, max u1 u3 u4 u6, max u2 u3 u5 u6, max u1 u3 u4 u6} (CategoryTheory.Functor.{u1, u3, u4, u6} S _inst_1 D _inst_3) (CategoryTheory.Functor.category.{u1, u3, u4, u6} S _inst_1 D _inst_3) (CategoryTheory.Functor.{u2, u3, u5, u6} L _inst_2 D _inst_3) (CategoryTheory.Functor.category.{u2, u3, u5, u6} L _inst_2 D _inst_3) (CategoryTheory.Functor.{u1, u3, u4, u6} S _inst_1 D _inst_3) (CategoryTheory.Functor.category.{u1, u3, u4, u6} S _inst_1 D _inst_3) (CategoryTheory.lan.{u1, u2, u3, u4, u5, u6} S L D _inst_1 _inst_2 _inst_3 ι (CategoryTheory.Lan.adjunction._proof_1.{u4, u5, u6, u1, u2, u3} S L D _inst_1 _inst_2 _inst_3 ι (fun (X : L) => _inst_6 X))) (CategoryTheory.Functor.obj.{max u4 u2, max (max u2 u3 u5 u6) u4 u3, max u1 u2 u4 u5, max (max u5 u3) (max u4 u3) (max u2 u3 u5 u6) u1 u3 u4 u6} (CategoryTheory.Functor.{u1, u2, u4, u5} S _inst_1 L _inst_2) (CategoryTheory.Functor.category.{u1, u2, u4, u5} S _inst_1 L _inst_2) (CategoryTheory.Functor.{max u5 u3, max u4 u3, max u2 u3 u5 u6, max u1 u3 u4 u6} (CategoryTheory.Functor.{u2, u3, u5, u6} L _inst_2 D _inst_3) (CategoryTheory.Functor.category.{u2, u3, u5, u6} L _inst_2 D _inst_3) (CategoryTheory.Functor.{u1, u3, u4, u6} S _inst_1 D _inst_3) (CategoryTheory.Functor.category.{u1, u3, u4, u6} S _inst_1 D _inst_3)) (CategoryTheory.Functor.category.{max u5 u3, max u4 u3, max u2 u3 u5 u6, max u1 u3 u4 u6} (CategoryTheory.Functor.{u2, u3, u5, u6} L _inst_2 D _inst_3) (CategoryTheory.Functor.category.{u2, u3, u5, u6} L _inst_2 D _inst_3) (CategoryTheory.Functor.{u1, u3, u4, u6} S _inst_1 D _inst_3) (CategoryTheory.Functor.category.{u1, u3, u4, u6} S _inst_1 D _inst_3)) (CategoryTheory.whiskeringLeft.{u4, u1, u5, u2, u6, u3} S _inst_1 L _inst_2 D _inst_3) ι)) (CategoryTheory.Adjunction.unit.{max u4 u3, max u5 u3, max u1 u3 u4 u6, max u2 u3 u5 u6} (CategoryTheory.Functor.{u1, u3, u4, u6} S _inst_1 D _inst_3) (CategoryTheory.Functor.category.{u1, u3, u4, u6} S _inst_1 D _inst_3) (CategoryTheory.Functor.{u2, u3, u5, u6} L _inst_2 D _inst_3) (CategoryTheory.Functor.category.{u2, u3, u5, u6} L _inst_2 D _inst_3) (CategoryTheory.lan.{u1, u2, u3, u4, u5, u6} S L D _inst_1 _inst_2 _inst_3 ι (CategoryTheory.Lan.adjunction._proof_1.{u4, u5, u6, u1, u2, u3} S L D _inst_1 _inst_2 _inst_3 ι (fun (X : L) => _inst_6 X))) (CategoryTheory.Functor.obj.{max u4 u2, max (max u2 u3 u5 u6) u4 u3, max u1 u2 u4 u5, max (max u5 u3) (max u4 u3) (max u2 u3 u5 u6) u1 u3 u4 u6} (CategoryTheory.Functor.{u1, u2, u4, u5} S _inst_1 L _inst_2) (CategoryTheory.Functor.category.{u1, u2, u4, u5} S _inst_1 L _inst_2) (CategoryTheory.Functor.{max u5 u3, max u4 u3, max u2 u3 u5 u6, max u1 u3 u4 u6} (CategoryTheory.Functor.{u2, u3, u5, u6} L _inst_2 D _inst_3) (CategoryTheory.Functor.category.{u2, u3, u5, u6} L _inst_2 D _inst_3) (CategoryTheory.Functor.{u1, u3, u4, u6} S _inst_1 D _inst_3) (CategoryTheory.Functor.category.{u1, u3, u4, u6} S _inst_1 D _inst_3)) (CategoryTheory.Functor.category.{max u5 u3, max u4 u3, max u2 u3 u5 u6, max u1 u3 u4 u6} (CategoryTheory.Functor.{u2, u3, u5, u6} L _inst_2 D _inst_3) (CategoryTheory.Functor.category.{u2, u3, u5, u6} L _inst_2 D _inst_3) (CategoryTheory.Functor.{u1, u3, u4, u6} S _inst_1 D _inst_3) (CategoryTheory.Functor.category.{u1, u3, u4, u6} S _inst_1 D _inst_3)) (CategoryTheory.whiskeringLeft.{u4, u1, u5, u2, u6, u3} S _inst_1 L _inst_2 D _inst_3) ι) (CategoryTheory.Lan.adjunction.{u1, u2, u3, u4, u5, u6} S L D _inst_1 _inst_2 _inst_3 ι (fun (X : L) => _inst_6 X)))
+but is expected to have type
+  forall {S : Type.{u4}} {L : Type.{u5}} (D : Type.{u6}) [_inst_1 : CategoryTheory.Category.{u1, u4} S] [_inst_2 : CategoryTheory.Category.{u2, u5} L] [_inst_3 : CategoryTheory.Category.{u3, u6} D] (ι : CategoryTheory.Functor.{u1, u2, u4, u5} S _inst_1 L _inst_2) [_inst_4 : CategoryTheory.Full.{u1, u2, u4, u5} S _inst_1 L _inst_2 ι] [_inst_5 : CategoryTheory.Faithful.{u1, u2, u4, u5} S _inst_1 L _inst_2 ι] [_inst_6 : forall (X : L), CategoryTheory.Limits.HasColimitsOfShape.{max u1 u2, max u4 u2, u3, u6} (CategoryTheory.CostructuredArrow.{u1, u2, u4, u5} S _inst_1 L _inst_2 ι X) (CategoryTheory.instCategoryCostructuredArrow.{u1, u2, u4, u5} S _inst_1 L _inst_2 ι X) D _inst_3], CategoryTheory.IsIso.{max (max (max u4 u6) u1) u3, max (max (max u4 u6) u1) u3} (CategoryTheory.Functor.{max u4 u3, max u4 u3, max (max (max u4 u6) u1) u3, max (max (max u4 u6) u1) u3} (CategoryTheory.Functor.{u1, u3, u4, u6} S _inst_1 D _inst_3) (CategoryTheory.Functor.category.{u1, u3, u4, u6} S _inst_1 D _inst_3) (CategoryTheory.Functor.{u1, u3, u4, u6} S _inst_1 D _inst_3) (CategoryTheory.Functor.category.{u1, u3, u4, u6} S _inst_1 D _inst_3)) (CategoryTheory.Functor.category.{max u4 u3, max u4 u3, max (max (max u4 u6) u1) u3, max (max (max u4 u6) u1) u3} (CategoryTheory.Functor.{u1, u3, u4, u6} S _inst_1 D _inst_3) (CategoryTheory.Functor.category.{u1, u3, u4, u6} S _inst_1 D _inst_3) (CategoryTheory.Functor.{u1, u3, u4, u6} S _inst_1 D _inst_3) (CategoryTheory.Functor.category.{u1, u3, u4, u6} S _inst_1 D _inst_3)) (CategoryTheory.Functor.id.{max u4 u3, max (max (max u4 u6) u1) u3} (CategoryTheory.Functor.{u1, u3, u4, u6} S _inst_1 D _inst_3) (CategoryTheory.Functor.category.{u1, u3, u4, u6} S _inst_1 D _inst_3)) (CategoryTheory.Functor.comp.{max u4 u3, max u5 u3, max u4 u3, max (max (max u4 u6) u1) u3, max (max (max u5 u6) u2) u3, max (max (max u4 u6) u1) u3} (CategoryTheory.Functor.{u1, u3, u4, u6} S _inst_1 D _inst_3) (CategoryTheory.Functor.category.{u1, u3, u4, u6} S _inst_1 D _inst_3) (CategoryTheory.Functor.{u2, u3, u5, u6} L _inst_2 D _inst_3) (CategoryTheory.Functor.category.{u2, u3, u5, u6} L _inst_2 D _inst_3) (CategoryTheory.Functor.{u1, u3, u4, u6} S _inst_1 D _inst_3) (CategoryTheory.Functor.category.{u1, u3, u4, u6} S _inst_1 D _inst_3) (CategoryTheory.lan.{u1, u2, u3, u4, u5, u6} S L D _inst_1 _inst_2 _inst_3 ι (fun (X : L) => _inst_6 X)) (Prefunctor.obj.{max (succ u2) (succ u4), max (max (max (max (succ u6) (succ u3)) (succ u2)) (succ u5)) (succ u4), max (max (max u2 u5) u1) u4, max (max (max (max (max u6 u3) u2) u5) u1) u4} (CategoryTheory.Functor.{u1, u2, u4, u5} S _inst_1 L _inst_2) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u4, max (max (max u2 u5) u1) u4} (CategoryTheory.Functor.{u1, u2, u4, u5} S _inst_1 L _inst_2) (CategoryTheory.Category.toCategoryStruct.{max u2 u4, max (max (max u2 u5) u1) u4} (CategoryTheory.Functor.{u1, u2, u4, u5} S _inst_1 L _inst_2) (CategoryTheory.Functor.category.{u1, u2, u4, u5} S _inst_1 L _inst_2))) (CategoryTheory.Functor.{max u5 u3, max u4 u3, max (max (max u6 u5) u3) u2, max (max (max u6 u4) u3) u1} (CategoryTheory.Functor.{u2, u3, u5, u6} L _inst_2 D _inst_3) (CategoryTheory.Functor.category.{u2, u3, u5, u6} L _inst_2 D _inst_3) (CategoryTheory.Functor.{u1, u3, u4, u6} S _inst_1 D _inst_3) (CategoryTheory.Functor.category.{u1, u3, u4, u6} S _inst_1 D _inst_3)) (CategoryTheory.CategoryStruct.toQuiver.{max (max (max (max u6 u3) u2) u5) u4, max (max (max (max (max u6 u3) u2) u5) u1) u4} (CategoryTheory.Functor.{max u5 u3, max u4 u3, max (max (max u6 u5) u3) u2, max (max (max u6 u4) u3) u1} (CategoryTheory.Functor.{u2, u3, u5, u6} L _inst_2 D _inst_3) (CategoryTheory.Functor.category.{u2, u3, u5, u6} L _inst_2 D _inst_3) (CategoryTheory.Functor.{u1, u3, u4, u6} S _inst_1 D _inst_3) (CategoryTheory.Functor.category.{u1, u3, u4, u6} S _inst_1 D _inst_3)) (CategoryTheory.Category.toCategoryStruct.{max (max (max (max u6 u3) u2) u5) u4, max (max (max (max (max u6 u3) u2) u5) u1) u4} (CategoryTheory.Functor.{max u5 u3, max u4 u3, max (max (max u6 u5) u3) u2, max (max (max u6 u4) u3) u1} (CategoryTheory.Functor.{u2, u3, u5, u6} L _inst_2 D _inst_3) (CategoryTheory.Functor.category.{u2, u3, u5, u6} L _inst_2 D _inst_3) (CategoryTheory.Functor.{u1, u3, u4, u6} S _inst_1 D _inst_3) (CategoryTheory.Functor.category.{u1, u3, u4, u6} S _inst_1 D _inst_3)) (CategoryTheory.Functor.category.{max u5 u3, max u4 u3, max (max (max u5 u6) u2) u3, max (max (max u4 u6) u1) u3} (CategoryTheory.Functor.{u2, u3, u5, u6} L _inst_2 D _inst_3) (CategoryTheory.Functor.category.{u2, u3, u5, u6} L _inst_2 D _inst_3) (CategoryTheory.Functor.{u1, u3, u4, u6} S _inst_1 D _inst_3) (CategoryTheory.Functor.category.{u1, u3, u4, u6} S _inst_1 D _inst_3)))) (CategoryTheory.Functor.toPrefunctor.{max u2 u4, max (max (max (max u6 u3) u2) u5) u4, max (max (max u2 u5) u1) u4, max (max (max (max (max u6 u3) u2) u5) u1) u4} (CategoryTheory.Functor.{u1, u2, u4, u5} S _inst_1 L _inst_2) (CategoryTheory.Functor.category.{u1, u2, u4, u5} S _inst_1 L _inst_2) (CategoryTheory.Functor.{max u5 u3, max u4 u3, max (max (max u6 u5) u3) u2, max (max (max u6 u4) u3) u1} (CategoryTheory.Functor.{u2, u3, u5, u6} L _inst_2 D _inst_3) (CategoryTheory.Functor.category.{u2, u3, u5, u6} L _inst_2 D _inst_3) (CategoryTheory.Functor.{u1, u3, u4, u6} S _inst_1 D _inst_3) (CategoryTheory.Functor.category.{u1, u3, u4, u6} S _inst_1 D _inst_3)) (CategoryTheory.Functor.category.{max u5 u3, max u4 u3, max (max (max u5 u6) u2) u3, max (max (max u4 u6) u1) u3} (CategoryTheory.Functor.{u2, u3, u5, u6} L _inst_2 D _inst_3) (CategoryTheory.Functor.category.{u2, u3, u5, u6} L _inst_2 D _inst_3) (CategoryTheory.Functor.{u1, u3, u4, u6} S _inst_1 D _inst_3) (CategoryTheory.Functor.category.{u1, u3, u4, u6} S _inst_1 D _inst_3)) (CategoryTheory.whiskeringLeft.{u4, u1, u5, u2, u6, u3} S _inst_1 L _inst_2 D _inst_3)) ι)) (CategoryTheory.Adjunction.unit.{max u4 u3, max u5 u3, max (max (max u4 u6) u1) u3, max (max (max u5 u6) u2) u3} (CategoryTheory.Functor.{u1, u3, u4, u6} S _inst_1 D _inst_3) (CategoryTheory.Functor.category.{u1, u3, u4, u6} S _inst_1 D _inst_3) (CategoryTheory.Functor.{u2, u3, u5, u6} L _inst_2 D _inst_3) (CategoryTheory.Functor.category.{u2, u3, u5, u6} L _inst_2 D _inst_3) (CategoryTheory.lan.{u1, u2, u3, u4, u5, u6} S L D _inst_1 _inst_2 _inst_3 ι (fun (X : L) => _inst_6 X)) (Prefunctor.obj.{max (succ u2) (succ u4), max (max (max (max (succ u6) (succ u3)) (succ u2)) (succ u5)) (succ u4), max (max (max u2 u5) u1) u4, max (max (max (max (max u6 u3) u2) u5) u1) u4} (CategoryTheory.Functor.{u1, u2, u4, u5} S _inst_1 L _inst_2) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u4, max (max (max u2 u5) u1) u4} (CategoryTheory.Functor.{u1, u2, u4, u5} S _inst_1 L _inst_2) (CategoryTheory.Category.toCategoryStruct.{max u2 u4, max (max (max u2 u5) u1) u4} (CategoryTheory.Functor.{u1, u2, u4, u5} S _inst_1 L _inst_2) (CategoryTheory.Functor.category.{u1, u2, u4, u5} S _inst_1 L _inst_2))) (CategoryTheory.Functor.{max u5 u3, max u4 u3, max (max (max u6 u5) u3) u2, max (max (max u6 u4) u3) u1} (CategoryTheory.Functor.{u2, u3, u5, u6} L _inst_2 D _inst_3) (CategoryTheory.Functor.category.{u2, u3, u5, u6} L _inst_2 D _inst_3) (CategoryTheory.Functor.{u1, u3, u4, u6} S _inst_1 D _inst_3) (CategoryTheory.Functor.category.{u1, u3, u4, u6} S _inst_1 D _inst_3)) (CategoryTheory.CategoryStruct.toQuiver.{max (max (max (max u6 u3) u2) u5) u4, max (max (max (max (max u6 u3) u2) u5) u1) u4} (CategoryTheory.Functor.{max u5 u3, max u4 u3, max (max (max u6 u5) u3) u2, max (max (max u6 u4) u3) u1} (CategoryTheory.Functor.{u2, u3, u5, u6} L _inst_2 D _inst_3) (CategoryTheory.Functor.category.{u2, u3, u5, u6} L _inst_2 D _inst_3) (CategoryTheory.Functor.{u1, u3, u4, u6} S _inst_1 D _inst_3) (CategoryTheory.Functor.category.{u1, u3, u4, u6} S _inst_1 D _inst_3)) (CategoryTheory.Category.toCategoryStruct.{max (max (max (max u6 u3) u2) u5) u4, max (max (max (max (max u6 u3) u2) u5) u1) u4} (CategoryTheory.Functor.{max u5 u3, max u4 u3, max (max (max u6 u5) u3) u2, max (max (max u6 u4) u3) u1} (CategoryTheory.Functor.{u2, u3, u5, u6} L _inst_2 D _inst_3) (CategoryTheory.Functor.category.{u2, u3, u5, u6} L _inst_2 D _inst_3) (CategoryTheory.Functor.{u1, u3, u4, u6} S _inst_1 D _inst_3) (CategoryTheory.Functor.category.{u1, u3, u4, u6} S _inst_1 D _inst_3)) (CategoryTheory.Functor.category.{max u5 u3, max u4 u3, max (max (max u5 u6) u2) u3, max (max (max u4 u6) u1) u3} (CategoryTheory.Functor.{u2, u3, u5, u6} L _inst_2 D _inst_3) (CategoryTheory.Functor.category.{u2, u3, u5, u6} L _inst_2 D _inst_3) (CategoryTheory.Functor.{u1, u3, u4, u6} S _inst_1 D _inst_3) (CategoryTheory.Functor.category.{u1, u3, u4, u6} S _inst_1 D _inst_3)))) (CategoryTheory.Functor.toPrefunctor.{max u2 u4, max (max (max (max u6 u3) u2) u5) u4, max (max (max u2 u5) u1) u4, max (max (max (max (max u6 u3) u2) u5) u1) u4} (CategoryTheory.Functor.{u1, u2, u4, u5} S _inst_1 L _inst_2) (CategoryTheory.Functor.category.{u1, u2, u4, u5} S _inst_1 L _inst_2) (CategoryTheory.Functor.{max u5 u3, max u4 u3, max (max (max u6 u5) u3) u2, max (max (max u6 u4) u3) u1} (CategoryTheory.Functor.{u2, u3, u5, u6} L _inst_2 D _inst_3) (CategoryTheory.Functor.category.{u2, u3, u5, u6} L _inst_2 D _inst_3) (CategoryTheory.Functor.{u1, u3, u4, u6} S _inst_1 D _inst_3) (CategoryTheory.Functor.category.{u1, u3, u4, u6} S _inst_1 D _inst_3)) (CategoryTheory.Functor.category.{max u5 u3, max u4 u3, max (max (max u5 u6) u2) u3, max (max (max u4 u6) u1) u3} (CategoryTheory.Functor.{u2, u3, u5, u6} L _inst_2 D _inst_3) (CategoryTheory.Functor.category.{u2, u3, u5, u6} L _inst_2 D _inst_3) (CategoryTheory.Functor.{u1, u3, u4, u6} S _inst_1 D _inst_3) (CategoryTheory.Functor.category.{u1, u3, u4, u6} S _inst_1 D _inst_3)) (CategoryTheory.whiskeringLeft.{u4, u1, u5, u2, u6, u3} S _inst_1 L _inst_2 D _inst_3)) ι) (CategoryTheory.Lan.adjunction.{u1, u2, u3, u4, u5, u6} S L D _inst_1 _inst_2 _inst_3 ι (fun (X : L) => _inst_6 X)))
+Case conversion may be inaccurate. Consider using '#align category_theory.Lan.coreflective CategoryTheory.Lan.coreflectiveₓ'. -/
 theorem coreflective [Full ι] [Faithful ι] [∀ X, HasColimitsOfShape (CostructuredArrow ι X) D] :
     IsIso (adjunction D ι).Unit :=
   by
@@ -305,7 +357,7 @@ theorem coreflective [Full ι] [Faithful ι] [∀ X, HasColimitsOfShape (Costruc
     is_iso.of_iso
       ((colimit.is_colimit _).coconePointUniqueUpToIso
           (colimit_of_diagram_terminal costructured_arrow.mk_id_terminal _)).symm
-#align category_theory.Lan.coreflective CategoryTheory.lan.coreflective
+#align category_theory.Lan.coreflective CategoryTheory.Lan.coreflective
 
 end Lan
 
Diff
@@ -63,7 +63,7 @@ variable {ι}
 @[simp]
 def cone {F : S ⥤ D} {G : L ⥤ D} (x : L) (f : ι ⋙ G ⟶ F) : Cone (diagram ι F x)
     where
-  x := G.obj x
+  pt := G.obj x
   π :=
     { app := fun i => G.map i.Hom ≫ f.app i.right
       naturality' := by
@@ -183,7 +183,7 @@ variable {ι}
 @[simp]
 def cocone {F : S ⥤ D} {G : L ⥤ D} (x : L) (f : F ⟶ ι ⋙ G) : Cocone (diagram ι F x)
     where
-  x := G.obj x
+  pt := G.obj x
   ι :=
     { app := fun i => f.app i.left ≫ G.map i.Hom
       naturality' := by

Changes in mathlib4

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

A PR accompanying #12339.

Zulip discussion

Diff
@@ -118,8 +118,8 @@ def equiv (F : S ⥤ D) [h : ∀ x, HasLimit (diagram ι F x)] (G : L ⥤ D) :
         let t : StructuredArrow.mk (𝟙 (ι.obj x)) ⟶
           (StructuredArrow.map (ι.map ff)).obj (StructuredArrow.mk (𝟙 (ι.obj y))) :=
           StructuredArrow.homMk ff ?_
-        convert (limit.w (diagram ι F (ι.obj x)) t).symm using 1
-        simp }
+        · convert (limit.w (diagram ι F (ι.obj x)) t).symm using 1
+        · simp }
   invFun f :=
     { app := fun x => limit.lift (diagram ι F x) (cone _ f)
       naturality := by
chore(CategoryTheory): address porting note in KanExtension file (#12148)
Diff
@@ -95,13 +95,6 @@ def loc (F : S ⥤ D) [h : ∀ x, HasLimit (diagram ι F x)] : L ⥤ D
     intro x y z f g
     apply limit.hom_ext
     intro j
-    -- Porting note: The fact that we need to add these instances all over the place
-    -- is certainly not ideal.
-    haveI : HasLimit (StructuredArrow.map f ⋙ diagram ι F _) := h _
-    haveI : HasLimit (StructuredArrow.map g ⋙ diagram ι F _) := h _
-    haveI : HasLimit (StructuredArrow.map (f ≫ g) ⋙ diagram ι F _) := h _
-    haveI : HasLimit (StructuredArrow.map g ⋙ StructuredArrow.map f ⋙ diagram ι F _) := h _
-    haveI : HasLimit ((StructuredArrow.map g ⋙ StructuredArrow.map f) ⋙ diagram ι F _) := h _
     erw [limit.pre_pre, limit.pre_π, limit.pre_π]
     congr 1
     aesop_cat
@@ -255,6 +248,8 @@ def loc (F : S ⥤ D) [I : ∀ x, HasColimit (diagram ι F x)] : L ⥤ D
     let dd := diagram ι F z
     -- Porting note: It seems that even Lean3 had some trouble with instances in this case.
     -- I don't know why lean can't deduce the following three instances...
+    -- The corresponding `haveI` statements could be removed from `Ran.loc` and it just worked,
+    -- here it doesn't...
     haveI : HasColimit (ff ⋙ gg ⋙ dd) := I _
     haveI : HasColimit ((ff ⋙ gg) ⋙ dd) := I _
     haveI : HasColimit (gg ⋙ dd) := I _
chore(CategoryTheory): move Full, Faithful, EssSurj, IsEquivalence and ReflectsIsomorphisms to the Functor namespace (#11985)

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

Diff
@@ -180,7 +180,7 @@ def adjunction [∀ X, HasLimitsOfShape (StructuredArrow X ι) D] :
 set_option linter.uppercaseLean3 false in
 #align category_theory.Ran.adjunction CategoryTheory.Ran.adjunction
 
-theorem reflective [Full ι] [Faithful ι] [∀ X, HasLimitsOfShape (StructuredArrow X ι) D] :
+theorem reflective [ι.Full] [ι.Faithful] [∀ X, HasLimitsOfShape (StructuredArrow X ι) D] :
     IsIso (adjunction D ι).counit := by
   suffices ∀ (X : S ⥤ D), IsIso (NatTrans.app (adjunction D ι).counit X) by
     apply NatIso.isIso_of_isIso_app
@@ -354,7 +354,7 @@ def adjunction [∀ F : S ⥤ D, ∀ x, HasColimit (Lan.diagram ι F x)] :
 set_option linter.uppercaseLean3 false in
 #align category_theory.Lan.adjunction CategoryTheory.Lan.adjunction
 
-theorem coreflective [Full ι] [Faithful ι] [∀ F : S ⥤ D, ∀ x, HasColimit (Lan.diagram ι F x)] :
+theorem coreflective [ι.Full] [ι.Faithful] [∀ F : S ⥤ D, ∀ x, HasColimit (Lan.diagram ι F x)] :
     IsIso (adjunction D ι).unit := by
   suffices ∀ (X : S ⥤ D), IsIso (NatTrans.app (adjunction D ι).unit X) by
     apply NatIso.isIso_of_isIso_app
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
@@ -40,9 +40,7 @@ open Limits
 universe v v₁ v₂ v₃ u₁ u₂ u₃
 
 variable {S : Type u₁} {L : Type u₂} {D : Type u₃}
-
 variable [Category.{v₁} S] [Category.{v₂} L] [Category.{v₃} D]
-
 variable (ι : S ⥤ L)
 
 namespace Ran
chore: classify was tidy porting notes (#10937)

Classifies by adding issue number (#10936) to porting notes claiming anything semantically equivalent to:

  • "used to be tidy"
  • "was tidy "
Diff
@@ -161,7 +161,7 @@ end Ran
 @[simps!]
 def ran [∀ X, HasLimitsOfShape (StructuredArrow X ι) D] : (S ⥤ D) ⥤ L ⥤ D :=
   Adjunction.rightAdjointOfEquiv (fun F G => (Ran.equiv ι G F).symm) (by {
-    -- Porting note: was `tidy`
+    -- Porting note (#10936): was `tidy`
     intros X' X Y f g
     ext t
     apply limit.hom_ext
chore: prepare Lean version bump with explicit simp (#10999)

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

Diff
@@ -285,14 +285,14 @@ def equiv (F : S ⥤ D) [I : ∀ x, HasColimit (diagram ι F x)] (G : L ⥤ D) :
         erw [colimit.ι_pre (diagram ι F (ι.obj y)) fff (CostructuredArrow.mk (𝟙 _))]
         let xx : CostructuredArrow ι (ι.obj y) := CostructuredArrow.mk (ι.map ff)
         let yy : CostructuredArrow ι (ι.obj y) := CostructuredArrow.mk (𝟙 _)
-        let fff : xx ⟶ yy :=
+        let fff' : xx ⟶ yy :=
           CostructuredArrow.homMk ff
             (by
-              simp only [CostructuredArrow.mk_hom_eq_self]
+              simp only [xx, CostructuredArrow.mk_hom_eq_self]
               erw [Category.comp_id])
-        erw [colimit.w (diagram ι F (ι.obj y)) fff]
+        erw [colimit.w (diagram ι F (ι.obj y)) fff']
         congr
-        simp }
+        simp [fff] }
   invFun f :=
     { app := fun x => colimit.desc (diagram ι F x) (cocone _ f)
       naturality := by
refactor: create folder CategoryTheory/Comma (#10108)
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: Bhavik Mehta, Adam Topaz
 -/
+import Mathlib.CategoryTheory.Comma.StructuredArrow
 import Mathlib.CategoryTheory.Limits.Shapes.Terminal
 import Mathlib.CategoryTheory.PUnit
-import Mathlib.CategoryTheory.StructuredArrow
 
 #align_import category_theory.limits.kan_extension from "leanprover-community/mathlib"@"c9c9fa15fec7ca18e9ec97306fb8764bfe988a7e"
 
feat(CategoryTheory/Limits/KanExtension): generalize assumptions (#10003)
Diff
@@ -334,7 +334,7 @@ end Lan
 
 /-- The left Kan extension of a functor. -/
 @[simps!]
-def lan [∀ X, HasColimitsOfShape (CostructuredArrow ι X) D] : (S ⥤ D) ⥤ L ⥤ D :=
+def lan [∀ F : S ⥤ D, ∀ x, HasColimit (Lan.diagram ι F x)] : (S ⥤ D) ⥤ L ⥤ D :=
   Adjunction.leftAdjointOfEquiv (fun F G => Lan.equiv ι F G) (by {
     intros X' X Y f g
     ext
@@ -350,13 +350,13 @@ namespace Lan
 variable (D)
 
 /-- The adjunction associated to `Lan`. -/
-def adjunction [∀ X, HasColimitsOfShape (CostructuredArrow ι X) D] :
+def adjunction [∀ F : S ⥤ D, ∀ x, HasColimit (Lan.diagram ι F x)] :
     lan ι ⊣ (whiskeringLeft _ _ D).obj ι :=
   Adjunction.adjunctionOfEquivLeft _ _
 set_option linter.uppercaseLean3 false in
 #align category_theory.Lan.adjunction CategoryTheory.Lan.adjunction
 
-theorem coreflective [Full ι] [Faithful ι] [∀ X, HasColimitsOfShape (CostructuredArrow ι X) D] :
+theorem coreflective [Full ι] [Faithful ι] [∀ F : S ⥤ D, ∀ x, HasColimit (Lan.diagram ι F x)] :
     IsIso (adjunction D ι).unit := by
   suffices ∀ (X : S ⥤ D), IsIso (NatTrans.app (adjunction D ι).unit X) by
     apply NatIso.isIso_of_isIso_app
Revert "chore: revert #7703 (#7710)"

This reverts commit f3695eb2.

Diff
@@ -324,6 +324,12 @@ def equiv (F : S ⥤ D) [I : ∀ x, HasColimit (diagram ι F x)] (G : L ⥤ D) :
 set_option linter.uppercaseLean3 false in
 #align category_theory.Lan.equiv CategoryTheory.Lan.equiv
 
+-- These lemmas have always been bad (#7657), but leanprover/lean4#2644 made `simp` start noticing
+attribute [nolint simpNF] CategoryTheory.Ran.equiv_symm_apply_app
+  CategoryTheory.Ran.equiv_apply_app
+  CategoryTheory.Lan.equiv_symm_apply_app
+  CategoryTheory.Lan.equiv_apply_app
+
 end Lan
 
 /-- The left Kan extension of a functor. -/
@@ -332,7 +338,10 @@ def lan [∀ X, HasColimitsOfShape (CostructuredArrow ι X) D] : (S ⥤ D) ⥤ L
   Adjunction.leftAdjointOfEquiv (fun F G => Lan.equiv ι F G) (by {
     intros X' X Y f g
     ext
-    simp [Lan.equiv] })
+    simp [Lan.equiv]
+    -- This used to be the end of the proof before leanprover/lean4#2644
+    erw [Equiv.coe_fn_mk, Equiv.coe_fn_mk]
+    simp })
 set_option linter.uppercaseLean3 false in
 #align category_theory.Lan CategoryTheory.lan
 
chore: revert #7703 (#7710)

This reverts commit 26eb2b0a.

Diff
@@ -324,12 +324,6 @@ def equiv (F : S ⥤ D) [I : ∀ x, HasColimit (diagram ι F x)] (G : L ⥤ D) :
 set_option linter.uppercaseLean3 false in
 #align category_theory.Lan.equiv CategoryTheory.Lan.equiv
 
--- These lemmas have always been bad (#7657), but leanprover/lean4#2644 made `simp` start noticing
-attribute [nolint simpNF] CategoryTheory.Ran.equiv_symm_apply_app
-  CategoryTheory.Ran.equiv_apply_app
-  CategoryTheory.Lan.equiv_symm_apply_app
-  CategoryTheory.Lan.equiv_apply_app
-
 end Lan
 
 /-- The left Kan extension of a functor. -/
@@ -338,10 +332,7 @@ def lan [∀ X, HasColimitsOfShape (CostructuredArrow ι X) D] : (S ⥤ D) ⥤ L
   Adjunction.leftAdjointOfEquiv (fun F G => Lan.equiv ι F G) (by {
     intros X' X Y f g
     ext
-    simp [Lan.equiv]
-    -- This used to be the end of the proof before leanprover/lean4#2644
-    erw [Equiv.coe_fn_mk, Equiv.coe_fn_mk]
-    simp })
+    simp [Lan.equiv] })
 set_option linter.uppercaseLean3 false in
 #align category_theory.Lan CategoryTheory.lan
 
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
@@ -324,6 +324,12 @@ def equiv (F : S ⥤ D) [I : ∀ x, HasColimit (diagram ι F x)] (G : L ⥤ D) :
 set_option linter.uppercaseLean3 false in
 #align category_theory.Lan.equiv CategoryTheory.Lan.equiv
 
+-- These lemmas have always been bad (#7657), but leanprover/lean4#2644 made `simp` start noticing
+attribute [nolint simpNF] CategoryTheory.Ran.equiv_symm_apply_app
+  CategoryTheory.Ran.equiv_apply_app
+  CategoryTheory.Lan.equiv_symm_apply_app
+  CategoryTheory.Lan.equiv_apply_app
+
 end Lan
 
 /-- The left Kan extension of a functor. -/
@@ -332,7 +338,10 @@ def lan [∀ X, HasColimitsOfShape (CostructuredArrow ι X) D] : (S ⥤ D) ⥤ L
   Adjunction.leftAdjointOfEquiv (fun F G => Lan.equiv ι F G) (by {
     intros X' X Y f g
     ext
-    simp [Lan.equiv] })
+    simp [Lan.equiv]
+    -- This used to be the end of the proof before leanprover/lean4#2644
+    erw [Equiv.coe_fn_mk, Equiv.coe_fn_mk]
+    simp })
 set_option linter.uppercaseLean3 false in
 #align category_theory.Lan CategoryTheory.lan
 
chore: avoid lean3 style have/suffices (#6964)

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

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

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

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

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

Diff
@@ -184,11 +184,11 @@ set_option linter.uppercaseLean3 false in
 
 theorem reflective [Full ι] [Faithful ι] [∀ X, HasLimitsOfShape (StructuredArrow X ι) D] :
     IsIso (adjunction D ι).counit := by
-  suffices : ∀ (X : S ⥤ D), IsIso (NatTrans.app (adjunction D ι).counit X)
-  · apply NatIso.isIso_of_isIso_app
+  suffices ∀ (X : S ⥤ D), IsIso (NatTrans.app (adjunction D ι).counit X) by
+    apply NatIso.isIso_of_isIso_app
   intro F
-  suffices : ∀ (X : S), IsIso (NatTrans.app (NatTrans.app (adjunction D ι).counit F) X)
-  · apply NatIso.isIso_of_isIso_app
+  suffices ∀ (X : S), IsIso (NatTrans.app (NatTrans.app (adjunction D ι).counit F) X) by
+    apply NatIso.isIso_of_isIso_app
   intro X
   dsimp [adjunction, equiv]
   simp only [Category.id_comp]
@@ -349,11 +349,11 @@ set_option linter.uppercaseLean3 false in
 
 theorem coreflective [Full ι] [Faithful ι] [∀ X, HasColimitsOfShape (CostructuredArrow ι X) D] :
     IsIso (adjunction D ι).unit := by
-  suffices : ∀ (X : S ⥤ D), IsIso (NatTrans.app (adjunction D ι).unit X)
-  · apply NatIso.isIso_of_isIso_app
+  suffices ∀ (X : S ⥤ D), IsIso (NatTrans.app (adjunction D ι).unit X) by
+    apply NatIso.isIso_of_isIso_app
   intro F
-  suffices : ∀ (X : S), IsIso (NatTrans.app (NatTrans.app (adjunction D ι).unit F) X)
-  · apply NatIso.isIso_of_isIso_app
+  suffices ∀ (X : S), IsIso (NatTrans.app (NatTrans.app (adjunction D ι).unit F) X) by
+    apply NatIso.isIso_of_isIso_app
   intro X
   dsimp [adjunction, equiv]
   simp only [Category.comp_id]
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: Bhavik Mehta, Adam Topaz
-
-! This file was ported from Lean 3 source module category_theory.limits.kan_extension
-! leanprover-community/mathlib commit c9c9fa15fec7ca18e9ec97306fb8764bfe988a7e
-! Please do not edit these lines, except to modify the commit id
-! if you have ported upstream changes.
 -/
 import Mathlib.CategoryTheory.Limits.Shapes.Terminal
 import Mathlib.CategoryTheory.PUnit
 import Mathlib.CategoryTheory.StructuredArrow
 
+#align_import category_theory.limits.kan_extension from "leanprover-community/mathlib"@"c9c9fa15fec7ca18e9ec97306fb8764bfe988a7e"
+
 /-!
 
 # Kan extensions
chore: no newline before aligns (#3735)

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

Diff
@@ -56,7 +56,7 @@ attribute [local simp] StructuredArrow.proj
 abbrev diagram (F : S ⥤ D) (x : L) : StructuredArrow x ι ⥤ D :=
   StructuredArrow.proj x ι ⋙ F
 set_option linter.uppercaseLean3 false in
-  #align category_theory.Ran.diagram CategoryTheory.Ran.diagram
+#align category_theory.Ran.diagram CategoryTheory.Ran.diagram
 
 variable {ι}
 
@@ -76,7 +76,7 @@ def cone {F : S ⥤ D} {G : L ⥤ D} (x : L) (f : ι ⋙ G ⟶ F) : Cone (diagra
         have := f.naturality
         aesop_cat }
 set_option linter.uppercaseLean3 false in
-  #align category_theory.Ran.cone CategoryTheory.Ran.cone
+#align category_theory.Ran.cone CategoryTheory.Ran.cone
 
 variable (ι)
 
@@ -111,7 +111,7 @@ def loc (F : S ⥤ D) [h : ∀ x, HasLimit (diagram ι F x)] : L ⥤ D
     congr 1
     aesop_cat
 set_option linter.uppercaseLean3 false in
-  #align category_theory.Ran.loc CategoryTheory.Ran.loc
+#align category_theory.Ran.loc CategoryTheory.Ran.loc
 
 /-- An auxiliary definition used to define `Ran` and `Ran.adjunction`. -/
 @[simps]
@@ -156,7 +156,7 @@ def equiv (F : S ⥤ D) [h : ∀ x, HasLimit (diagram ι F x)] (G : L ⥤ D) :
     aesop_cat
   right_inv := by aesop_cat
 set_option linter.uppercaseLean3 false in
-  #align category_theory.Ran.equiv CategoryTheory.Ran.equiv
+#align category_theory.Ran.equiv CategoryTheory.Ran.equiv
 
 end Ran
 
@@ -172,7 +172,7 @@ def ran [∀ X, HasLimitsOfShape (StructuredArrow X ι) D] : (S ⥤ D) ⥤ L ⥤
     dsimp [Ran.equiv]
     simp })
 set_option linter.uppercaseLean3 false in
-  #align category_theory.Ran CategoryTheory.ran
+#align category_theory.Ran CategoryTheory.ran
 
 namespace Ran
 
@@ -183,7 +183,7 @@ def adjunction [∀ X, HasLimitsOfShape (StructuredArrow X ι) D] :
     (whiskeringLeft _ _ D).obj ι ⊣ ran ι :=
   Adjunction.adjunctionOfEquivRight _ _
 set_option linter.uppercaseLean3 false in
-  #align category_theory.Ran.adjunction CategoryTheory.Ran.adjunction
+#align category_theory.Ran.adjunction CategoryTheory.Ran.adjunction
 
 theorem reflective [Full ι] [Faithful ι] [∀ X, HasLimitsOfShape (StructuredArrow X ι) D] :
     IsIso (adjunction D ι).counit := by
@@ -200,7 +200,7 @@ theorem reflective [Full ι] [Faithful ι] [∀ X, HasLimitsOfShape (StructuredA
       ((limit.isLimit _).conePointUniqueUpToIso
         (limitOfDiagramInitial StructuredArrow.mkIdInitial _))
 set_option linter.uppercaseLean3 false in
-  #align category_theory.Ran.reflective CategoryTheory.Ran.reflective
+#align category_theory.Ran.reflective CategoryTheory.Ran.reflective
 
 end Ran
 
@@ -212,7 +212,7 @@ attribute [local simp] CostructuredArrow.proj
 abbrev diagram (F : S ⥤ D) (x : L) : CostructuredArrow ι x ⥤ D :=
   CostructuredArrow.proj ι x ⋙ F
 set_option linter.uppercaseLean3 false in
-  #align category_theory.Lan.diagram CategoryTheory.Lan.diagram
+#align category_theory.Lan.diagram CategoryTheory.Lan.diagram
 
 variable {ι}
 
@@ -230,7 +230,7 @@ def cocone {F : S ⥤ D} {G : L ⥤ D} (x : L) (f : F ⟶ ι ⋙ G) : Cocone (di
         rw [← G.map_comp, ff]
         aesop_cat }
 set_option linter.uppercaseLean3 false in
-  #align category_theory.Lan.cocone CategoryTheory.Lan.cocone
+#align category_theory.Lan.cocone CategoryTheory.Lan.cocone
 
 variable (ι)
 
@@ -268,7 +268,7 @@ def loc (F : S ⥤ D) [I : ∀ x, HasColimit (diagram ι F x)] : L ⥤ D
     congr 1
     simp
 set_option linter.uppercaseLean3 false in
-  #align category_theory.Lan.loc CategoryTheory.Lan.loc
+#align category_theory.Lan.loc CategoryTheory.Lan.loc
 
 /-- An auxiliary definition used to define `Lan` and `Lan.adjunction`. -/
 @[simps]
@@ -325,7 +325,7 @@ def equiv (F : S ⥤ D) [I : ∀ x, HasColimit (diagram ι F x)] (G : L ⥤ D) :
     rfl
   right_inv := by aesop_cat
 set_option linter.uppercaseLean3 false in
-  #align category_theory.Lan.equiv CategoryTheory.Lan.equiv
+#align category_theory.Lan.equiv CategoryTheory.Lan.equiv
 
 end Lan
 
@@ -337,7 +337,7 @@ def lan [∀ X, HasColimitsOfShape (CostructuredArrow ι X) D] : (S ⥤ D) ⥤ L
     ext
     simp [Lan.equiv] })
 set_option linter.uppercaseLean3 false in
-  #align category_theory.Lan CategoryTheory.lan
+#align category_theory.Lan CategoryTheory.lan
 
 namespace Lan
 
@@ -348,7 +348,7 @@ def adjunction [∀ X, HasColimitsOfShape (CostructuredArrow ι X) D] :
     lan ι ⊣ (whiskeringLeft _ _ D).obj ι :=
   Adjunction.adjunctionOfEquivLeft _ _
 set_option linter.uppercaseLean3 false in
-  #align category_theory.Lan.adjunction CategoryTheory.Lan.adjunction
+#align category_theory.Lan.adjunction CategoryTheory.Lan.adjunction
 
 theorem coreflective [Full ι] [Faithful ι] [∀ X, HasColimitsOfShape (CostructuredArrow ι X) D] :
     IsIso (adjunction D ι).unit := by
@@ -365,7 +365,7 @@ theorem coreflective [Full ι] [Faithful ι] [∀ X, HasColimitsOfShape (Costruc
       ((colimit.isColimit _).coconePointUniqueUpToIso
           (colimitOfDiagramTerminal CostructuredArrow.mkIdTerminal _)).symm
 set_option linter.uppercaseLean3 false in
-  #align category_theory.Lan.coreflective CategoryTheory.Lan.coreflective
+#align category_theory.Lan.coreflective CategoryTheory.Lan.coreflective
 
 end Lan
 
feat: port CategoryTheory.Limits.KanExtension (#2601)

Co-authored-by: Johan Commelin <johan@commelin.net>

Dependencies 106

107 files ported (100.0%)
40472 lines ported (100.0%)

All dependencies are ported!