category_theory.localization.constructionMathlib.CategoryTheory.Localization.Construction

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)

(last sync)

Changes in mathlib3port

mathlib3
mathlib3port
Diff
@@ -3,7 +3,7 @@ Copyright (c) 2022 Joël Riou. All rights reserved.
 Released under Apache 2.0 license as described in the file LICENSE.
 Authors: Joël Riou
 -/
-import CategoryTheory.MorphismProperty
+import CategoryTheory.MorphismProperty.Basic
 import CategoryTheory.Category.Quiv
 
 #align_import category_theory.localization.construction from "leanprover-community/mathlib"@"cb3ceec8485239a61ed51d944cb9a95b68c6bafc"
Diff
@@ -218,7 +218,7 @@ theorem uniq (G₁ G₂ : W.Localization ⥤ D) (h : W.Q ⋙ G₁ = W.Q ⋙ G₂
       · simpa only using functor.congr_hom h f
       · have hw : W.Q.map w = (Wiso w hw).Hom := rfl
         have hw' := functor.congr_hom h w
-        simp only [functor.comp_map, hw] at hw' 
+        simp only [functor.comp_map, hw] at hw'
         refine' functor.congr_inv_of_congr_hom _ _ _ _ _ hw'
         all_goals apply functor.congr_obj h
 #align category_theory.localization.construction.uniq CategoryTheory.Localization.Construction.uniq
@@ -350,7 +350,7 @@ theorem natTrans_hcomp_injective {F G : W.Localization ⥤ D} {τ₁ τ₂ : F 
     (h : 𝟙 W.Q ◫ τ₁ = 𝟙 W.Q ◫ τ₂) : τ₁ = τ₂ := by
   ext X
   have eq := (obj_equiv W).right_inv X
-  simp only [obj_equiv] at eq 
+  simp only [obj_equiv] at eq
   rw [← Eq, ← nat_trans.id_hcomp_app, ← nat_trans.id_hcomp_app, h]
 #align category_theory.localization.construction.nat_trans_hcomp_injective CategoryTheory.Localization.Construction.natTrans_hcomp_injective
 -/
Diff
@@ -3,8 +3,8 @@ Copyright (c) 2022 Joël Riou. All rights reserved.
 Released under Apache 2.0 license as described in the file LICENSE.
 Authors: Joël Riou
 -/
-import Mathbin.CategoryTheory.MorphismProperty
-import Mathbin.CategoryTheory.Category.Quiv
+import CategoryTheory.MorphismProperty
+import CategoryTheory.Category.Quiv
 
 #align_import category_theory.localization.construction from "leanprover-community/mathlib"@"cb3ceec8485239a61ed51d944cb9a95b68c6bafc"
 
@@ -167,7 +167,7 @@ variable {W} (G : C ⥤ D) (hG : W.IsInvertedBy G)
 /-- The lifting of a functor to the path category of `loc_quiver W` -/
 @[simps]
 def liftToPathCategory : Paths (LocQuiver W) ⥤ D :=
-  QuivCat.lift
+  Quiv.lift
     { obj := fun X => G.obj X.obj
       map := fun X Y => by
         rintro (f | ⟨g, hg⟩)
Diff
@@ -88,13 +88,15 @@ def ψ₂ {X Y : C} (w : X ⟶ Y) (hw : W w) : ιPaths W Y ⟶ ιPaths W X :=
 #align category_theory.localization.construction.ψ₂ CategoryTheory.Localization.Construction.ψ₂
 -/
 
+#print CategoryTheory.Localization.Construction.relations /-
 /-- The relations by which we take the quotient in order to get the localized category. -/
 inductive relations : HomRel (Paths (LocQuiver W))
   | id (X : C) : relations (ψ₁ W (𝟙 X)) (𝟙 _)
   | comp {X Y Z : C} (f : X ⟶ Y) (g : Y ⟶ Z) : relations (ψ₁ W (f ≫ g)) (ψ₁ W f ≫ ψ₁ W g)
   | Winv₁ {X Y : C} (w : X ⟶ Y) (hw : W w) : relations (ψ₁ W w ≫ ψ₂ W w hw) (𝟙 _)
   | Winv₂ {X Y : C} (w : X ⟶ Y) (hw : W w) : relations (ψ₂ W w hw ≫ ψ₁ W w) (𝟙 _)
-#align category_theory.localization.construction.relations CategoryTheory.Localization.Construction.relationsₓ
+#align category_theory.localization.construction.relations CategoryTheory.Localization.Construction.relations
+-/
 
 end Construction
 
Diff
@@ -88,15 +88,13 @@ def ψ₂ {X Y : C} (w : X ⟶ Y) (hw : W w) : ιPaths W Y ⟶ ιPaths W X :=
 #align category_theory.localization.construction.ψ₂ CategoryTheory.Localization.Construction.ψ₂
 -/
 
-#print CategoryTheory.Localization.Construction.relations /-
 /-- The relations by which we take the quotient in order to get the localized category. -/
 inductive relations : HomRel (Paths (LocQuiver W))
   | id (X : C) : relations (ψ₁ W (𝟙 X)) (𝟙 _)
   | comp {X Y Z : C} (f : X ⟶ Y) (g : Y ⟶ Z) : relations (ψ₁ W (f ≫ g)) (ψ₁ W f ≫ ψ₁ W g)
   | Winv₁ {X Y : C} (w : X ⟶ Y) (hw : W w) : relations (ψ₁ W w ≫ ψ₂ W w hw) (𝟙 _)
   | Winv₂ {X Y : C} (w : X ⟶ Y) (hw : W w) : relations (ψ₂ W w hw ≫ ψ₁ W w) (𝟙 _)
-#align category_theory.localization.construction.relations CategoryTheory.Localization.Construction.relations
--/
+#align category_theory.localization.construction.relations CategoryTheory.Localization.Construction.relationsₓ
 
 end Construction
 
Diff
@@ -2,15 +2,12 @@
 Copyright (c) 2022 Joël Riou. All rights reserved.
 Released under Apache 2.0 license as described in the file LICENSE.
 Authors: Joël Riou
-
-! This file was ported from Lean 3 source module category_theory.localization.construction
-! leanprover-community/mathlib commit cb3ceec8485239a61ed51d944cb9a95b68c6bafc
-! Please do not edit these lines, except to modify the commit id
-! if you have ported upstream changes.
 -/
 import Mathbin.CategoryTheory.MorphismProperty
 import Mathbin.CategoryTheory.Category.Quiv
 
+#align_import category_theory.localization.construction from "leanprover-community/mathlib"@"cb3ceec8485239a61ed51d944cb9a95b68c6bafc"
+
 /-!
 
 # Construction of the localized category
Diff
@@ -252,7 +252,7 @@ theorem morphismProperty_is_top (P : MorphismProperty W.Localization)
     (hP₁ : ∀ ⦃X Y : C⦄ (f : X ⟶ Y), P (W.Q.map f))
     (hP₂ : ∀ ⦃X Y : C⦄ (w : X ⟶ Y) (hw : W w), P (winv w hw)) (hP₃ : P.StableUnderComposition) :
     P = ⊤ := by
-  ext (X Y f)
+  ext X Y f
   constructor
   · intro hf
     simp only [Pi.top_apply]
Diff
@@ -138,6 +138,7 @@ namespace Construction
 
 variable {W}
 
+#print CategoryTheory.Localization.Construction.wIso /-
 /-- The isomorphism in `W.localization` associated to a morphism `w` in W -/
 def wIso {X Y : C} (w : X ⟶ Y) (hw : W w) : Iso (W.Q.obj X) (W.Q.obj Y)
     where
@@ -146,11 +147,14 @@ def wIso {X Y : C} (w : X ⟶ Y) (hw : W w) : Iso (W.Q.obj X) (W.Q.obj Y)
   hom_inv_id' := Quotient.sound _ (relations.Winv₁ w hw)
   inv_hom_id' := Quotient.sound _ (relations.Winv₂ w hw)
 #align category_theory.localization.construction.Wiso CategoryTheory.Localization.Construction.wIso
+-/
 
+#print CategoryTheory.Localization.Construction.winv /-
 /-- The formal inverse in `W.localization` of a morphism `w` in `W`. -/
 abbrev winv {X Y : C} (w : X ⟶ Y) (hw : W w) :=
   (wIso w hw).inv
 #align category_theory.localization.construction.Winv CategoryTheory.Localization.Construction.winv
+-/
 
 variable (W)
 
@@ -162,8 +166,6 @@ theorem CategoryTheory.MorphismProperty.Q_inverts : W.IsInvertedBy W.Q := fun X
 
 variable {W} (G : C ⥤ D) (hG : W.IsInvertedBy G)
 
-include G hG
-
 #print CategoryTheory.Localization.Construction.liftToPathCategory /-
 /-- The lifting of a functor to the path category of `loc_quiver W` -/
 @[simps]
@@ -190,6 +192,7 @@ def lift : W.Localization ⥤ D :=
 #align category_theory.localization.construction.lift CategoryTheory.Localization.Construction.lift
 -/
 
+#print CategoryTheory.Localization.Construction.fac /-
 @[simp]
 theorem fac : W.Q ⋙ lift G hG = G :=
   Functor.ext (fun X => rfl)
@@ -199,9 +202,9 @@ theorem fac : W.Q ⋙ lift G hG = G :=
       dsimp [lift, lift_to_path_category, morphism_property.Q]
       rw [compose_path_to_path])
 #align category_theory.localization.construction.fac CategoryTheory.Localization.Construction.fac
+-/
 
-omit G hG
-
+#print CategoryTheory.Localization.Construction.uniq /-
 theorem uniq (G₁ G₂ : W.Localization ⥤ D) (h : W.Q ⋙ G₁ = W.Q ⋙ G₂) : G₁ = G₂ :=
   by
   suffices h' : quotient.functor _ ⋙ G₁ = quotient.functor _ ⋙ G₂
@@ -222,6 +225,7 @@ theorem uniq (G₁ G₂ : W.Localization ⥤ D) (h : W.Q ⋙ G₁ = W.Q ⋙ G₂
         refine' functor.congr_inv_of_congr_hom _ _ _ _ _ hw'
         all_goals apply functor.congr_obj h
 #align category_theory.localization.construction.uniq CategoryTheory.Localization.Construction.uniq
+-/
 
 variable (W)
 
@@ -239,6 +243,7 @@ def objEquiv : C ≃ W.Localization where
 
 variable {W}
 
+#print CategoryTheory.Localization.Construction.morphismProperty_is_top /-
 /-- A `morphism_property` in `W.localization` is satisfied by all
 morphisms in the localized category if it contains the image of the
 morphisms in the original category, the inverses of the morphisms
@@ -273,7 +278,9 @@ theorem morphismProperty_is_top (P : MorphismProperty W.Localization)
       · apply hP₁
       · apply hP₂
 #align category_theory.localization.construction.morphism_property_is_top CategoryTheory.Localization.Construction.morphismProperty_is_top
+-/
 
+#print CategoryTheory.Localization.Construction.morphismProperty_is_top' /-
 /-- A `morphism_property` in `W.localization` is satisfied by all
 morphisms in the localized category if it contains the image of the
 morphisms in the original category, if is stable under composition
@@ -284,13 +291,13 @@ theorem morphismProperty_is_top' (P : MorphismProperty W.Localization)
     (hP₃ : P.StableUnderComposition) : P = ⊤ :=
   morphismProperty_is_top P hP₁ (fun X Y w hw => hP₂ _ (hP₁ w)) hP₃
 #align category_theory.localization.construction.morphism_property_is_top' CategoryTheory.Localization.Construction.morphismProperty_is_top'
+-/
 
 namespace NatTransExtension
 
 variable {F₁ F₂ : W.Localization ⥤ D} (τ : W.Q ⋙ F₁ ⟶ W.Q ⋙ F₂)
 
-include τ
-
+#print CategoryTheory.Localization.Construction.NatTransExtension.app /-
 /-- If `F₁` and `F₂` are functors `W.localization ⥤ D` and if we have
 `τ : W.Q ⋙ F₁ ⟶ W.Q ⋙ F₂`, we shall define a natural transformation `F₁ ⟶ F₂`.
 This is the `app` field of this natural transformation. -/
@@ -298,11 +305,14 @@ def app (X : W.Localization) : F₁.obj X ⟶ F₂.obj X :=
   eqToHom (congr_arg F₁.obj ((objEquiv W).right_inv X).symm) ≫
     τ.app ((objEquiv W).invFun X) ≫ eqToHom (congr_arg F₂.obj ((objEquiv W).right_inv X))
 #align category_theory.localization.construction.nat_trans_extension.app CategoryTheory.Localization.Construction.NatTransExtension.app
+-/
 
+#print CategoryTheory.Localization.Construction.NatTransExtension.app_eq /-
 @[simp]
 theorem app_eq (X : C) : (app τ) (W.Q.obj X) = τ.app X := by
   simpa only [app, eq_to_hom_refl, comp_id, id_comp]
 #align category_theory.localization.construction.nat_trans_extension.app_eq CategoryTheory.Localization.Construction.NatTransExtension.app_eq
+-/
 
 end NatTransExtension
 
@@ -328,6 +338,7 @@ def natTransExtension {F₁ F₂ : W.Localization ⥤ D} (τ : W.Q ⋙ F₁ ⟶
 #align category_theory.localization.construction.nat_trans_extension CategoryTheory.Localization.Construction.natTransExtension
 -/
 
+#print CategoryTheory.Localization.Construction.natTransExtension_hcomp /-
 @[simp]
 theorem natTransExtension_hcomp {F G : W.Localization ⥤ D} (τ : W.Q ⋙ F ⟶ W.Q ⋙ G) :
     𝟙 W.Q ◫ natTransExtension τ = τ := by
@@ -335,7 +346,9 @@ theorem natTransExtension_hcomp {F G : W.Localization ⥤ D} (τ : W.Q ⋙ F ⟶
   simp only [nat_trans.hcomp_app, nat_trans.id_app, G.map_id, comp_id, nat_trans_extension_app,
     nat_trans_extension.app_eq]
 #align category_theory.localization.construction.nat_trans_extension_hcomp CategoryTheory.Localization.Construction.natTransExtension_hcomp
+-/
 
+#print CategoryTheory.Localization.Construction.natTrans_hcomp_injective /-
 theorem natTrans_hcomp_injective {F G : W.Localization ⥤ D} {τ₁ τ₂ : F ⟶ G}
     (h : 𝟙 W.Q ◫ τ₁ = 𝟙 W.Q ◫ τ₂) : τ₁ = τ₂ := by
   ext X
@@ -343,6 +356,7 @@ theorem natTrans_hcomp_injective {F G : W.Localization ⥤ D} {τ₁ τ₂ : F 
   simp only [obj_equiv] at eq 
   rw [← Eq, ← nat_trans.id_hcomp_app, ← nat_trans.id_hcomp_app, h]
 #align category_theory.localization.construction.nat_trans_hcomp_injective CategoryTheory.Localization.Construction.natTrans_hcomp_injective
+-/
 
 variable (W D)
 
@@ -419,6 +433,7 @@ def counitIso : inverse W D ⋙ functor W D ≅ 𝟭 (W.FunctorsInverting D) :=
 
 end WhiskeringLeftEquivalence
 
+#print CategoryTheory.Localization.Construction.whiskeringLeftEquivalence /-
 /-- The equivalence of categories `(W.localization ⥤ D) ≌ (W.functors_inverting D)`
 induced by the composition with `W.Q : C ⥤ W.localization`. -/
 def whiskeringLeftEquivalence : W.Localization ⥤ D ≌ W.FunctorsInverting D
@@ -432,6 +447,7 @@ def whiskeringLeftEquivalence : W.Localization ⥤ D ≌ W.FunctorsInverting D
     simpa only [eq_to_hom_app, whiskering_left_equivalence.unit_iso_hom,
       whiskering_left_equivalence.counit_iso_hom, eq_to_hom_map, eq_to_hom_trans, eq_to_hom_refl]
 #align category_theory.localization.construction.whiskering_left_equivalence CategoryTheory.Localization.Construction.whiskeringLeftEquivalence
+-/
 
 end Construction
 
Diff
@@ -114,7 +114,8 @@ open Localization.Construction
 in `W : morphism_property C` -/
 @[nolint has_nonempty_instance]
 def Localization :=
-  CategoryTheory.Quotient (Localization.Construction.relations W)deriving Category
+  CategoryTheory.Quotient (Localization.Construction.relations W)
+deriving Category
 #align category_theory.morphism_property.localization CategoryTheory.MorphismProperty.Localization
 -/
 
@@ -217,7 +218,7 @@ theorem uniq (G₁ G₂ : W.Localization ⥤ D) (h : W.Q ⋙ G₁ = W.Q ⋙ G₂
       · simpa only using functor.congr_hom h f
       · have hw : W.Q.map w = (Wiso w hw).Hom := rfl
         have hw' := functor.congr_hom h w
-        simp only [functor.comp_map, hw] at hw'
+        simp only [functor.comp_map, hw] at hw' 
         refine' functor.congr_inv_of_congr_hom _ _ _ _ _ hw'
         all_goals apply functor.congr_obj h
 #align category_theory.localization.construction.uniq CategoryTheory.Localization.Construction.uniq
@@ -339,7 +340,7 @@ theorem natTrans_hcomp_injective {F G : W.Localization ⥤ D} {τ₁ τ₂ : F 
     (h : 𝟙 W.Q ◫ τ₁ = 𝟙 W.Q ◫ τ₂) : τ₁ = τ₂ := by
   ext X
   have eq := (obj_equiv W).right_inv X
-  simp only [obj_equiv] at eq
+  simp only [obj_equiv] at eq 
   rw [← Eq, ← nat_trans.id_hcomp_app, ← nat_trans.id_hcomp_app, h]
 #align category_theory.localization.construction.nat_trans_hcomp_injective CategoryTheory.Localization.Construction.natTrans_hcomp_injective
 
@@ -371,14 +372,14 @@ def inverse : W.FunctorsInverting D ⥤ W.Localization ⥤ D
         rw [nat_trans_extension_hcomp]
         ext X
         simpa only [nat_trans.comp_app, eq_to_hom_app, eq_to_hom_refl, comp_id, id_comp,
-          nat_trans.hcomp_id_app, nat_trans.id_app, Functor.map_id] )
+          nat_trans.hcomp_id_app, nat_trans.id_app, Functor.map_id])
   map_comp' G₁ G₂ G₃ τ₁ τ₂ :=
     natTrans_hcomp_injective
       (by
         ext X
         simpa only [nat_trans_extension_hcomp, nat_trans.comp_app, eq_to_hom_app, eq_to_hom_refl,
           id_comp, comp_id, nat_trans.hcomp_app, nat_trans.id_app, Functor.map_id,
-          nat_trans_extension_app, nat_trans_extension.app_eq] )
+          nat_trans_extension_app, nat_trans_extension.app_eq])
 #align category_theory.localization.construction.whiskering_left_equivalence.inverse CategoryTheory.Localization.Construction.WhiskeringLeftEquivalence.inverse
 -/
 
Diff
@@ -137,12 +137,6 @@ namespace Construction
 
 variable {W}
 
-/- warning: category_theory.localization.construction.Wiso -> CategoryTheory.Localization.Construction.wIso is a dubious translation:
-lean 3 declaration is
-  forall {C : Type.{u1}} [_inst_1 : CategoryTheory.Category.{u2, u1} C] {W : CategoryTheory.MorphismProperty.{u2, u1} C _inst_1} {X : C} {Y : C} (w : Quiver.Hom.{succ u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1)) X Y), (W X Y w) -> (CategoryTheory.Iso.{max u1 u2, u1} (CategoryTheory.MorphismProperty.Localization.{u1, u2} C _inst_1 W) (CategoryTheory.MorphismProperty.Localization.category.{u1, u2} C _inst_1 W) (CategoryTheory.Functor.obj.{u2, max u1 u2, u1, u1} C _inst_1 (CategoryTheory.MorphismProperty.Localization.{u1, u2} C _inst_1 W) (CategoryTheory.MorphismProperty.Localization.category.{u1, u2} C _inst_1 W) (CategoryTheory.MorphismProperty.Q.{u1, u2} C _inst_1 W) X) (CategoryTheory.Functor.obj.{u2, max u1 u2, u1, u1} C _inst_1 (CategoryTheory.MorphismProperty.Localization.{u1, u2} C _inst_1 W) (CategoryTheory.MorphismProperty.Localization.category.{u1, u2} C _inst_1 W) (CategoryTheory.MorphismProperty.Q.{u1, u2} C _inst_1 W) Y))
-but is expected to have type
-  forall {C : Type.{u1}} [_inst_1 : CategoryTheory.Category.{u2, u1} C] {W : CategoryTheory.MorphismProperty.{u2, u1} C _inst_1} {X : C} {Y : C} (w : Quiver.Hom.{succ u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1)) X Y), (W X Y w) -> (CategoryTheory.Iso.{max u1 u2, u1} (CategoryTheory.MorphismProperty.Localization.{u1, u2} C _inst_1 W) (CategoryTheory.MorphismProperty.instCategoryLocalization.{u1, u2} C _inst_1 W) (Prefunctor.obj.{succ u2, max (succ u1) (succ u2), u1, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1)) (CategoryTheory.MorphismProperty.Localization.{u1, u2} C _inst_1 W) (CategoryTheory.CategoryStruct.toQuiver.{max u1 u2, u1} (CategoryTheory.MorphismProperty.Localization.{u1, u2} C _inst_1 W) (CategoryTheory.Category.toCategoryStruct.{max u1 u2, u1} (CategoryTheory.MorphismProperty.Localization.{u1, u2} C _inst_1 W) (CategoryTheory.MorphismProperty.instCategoryLocalization.{u1, u2} C _inst_1 W))) (CategoryTheory.Functor.toPrefunctor.{u2, max u1 u2, u1, u1} C _inst_1 (CategoryTheory.MorphismProperty.Localization.{u1, u2} C _inst_1 W) (CategoryTheory.MorphismProperty.instCategoryLocalization.{u1, u2} C _inst_1 W) (CategoryTheory.MorphismProperty.Q.{u1, u2} C _inst_1 W)) X) (Prefunctor.obj.{succ u2, max (succ u1) (succ u2), u1, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1)) (CategoryTheory.MorphismProperty.Localization.{u1, u2} C _inst_1 W) (CategoryTheory.CategoryStruct.toQuiver.{max u1 u2, u1} (CategoryTheory.MorphismProperty.Localization.{u1, u2} C _inst_1 W) (CategoryTheory.Category.toCategoryStruct.{max u1 u2, u1} (CategoryTheory.MorphismProperty.Localization.{u1, u2} C _inst_1 W) (CategoryTheory.MorphismProperty.instCategoryLocalization.{u1, u2} C _inst_1 W))) (CategoryTheory.Functor.toPrefunctor.{u2, max u1 u2, u1, u1} C _inst_1 (CategoryTheory.MorphismProperty.Localization.{u1, u2} C _inst_1 W) (CategoryTheory.MorphismProperty.instCategoryLocalization.{u1, u2} C _inst_1 W) (CategoryTheory.MorphismProperty.Q.{u1, u2} C _inst_1 W)) Y))
-Case conversion may be inaccurate. Consider using '#align category_theory.localization.construction.Wiso CategoryTheory.Localization.Construction.wIsoₓ'. -/
 /-- The isomorphism in `W.localization` associated to a morphism `w` in W -/
 def wIso {X Y : C} (w : X ⟶ Y) (hw : W w) : Iso (W.Q.obj X) (W.Q.obj Y)
     where
@@ -152,12 +146,6 @@ def wIso {X Y : C} (w : X ⟶ Y) (hw : W w) : Iso (W.Q.obj X) (W.Q.obj Y)
   inv_hom_id' := Quotient.sound _ (relations.Winv₂ w hw)
 #align category_theory.localization.construction.Wiso CategoryTheory.Localization.Construction.wIso
 
-/- warning: category_theory.localization.construction.Winv -> CategoryTheory.Localization.Construction.winv is a dubious translation:
-lean 3 declaration is
-  forall {C : Type.{u1}} [_inst_1 : CategoryTheory.Category.{u2, u1} C] {W : CategoryTheory.MorphismProperty.{u2, u1} C _inst_1} {X : C} {Y : C} (w : Quiver.Hom.{succ u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1)) X Y), (W X Y w) -> (Quiver.Hom.{succ (max u1 u2), u1} (CategoryTheory.MorphismProperty.Localization.{u1, u2} C _inst_1 (fun {X : C} {Y : C} (w : Quiver.Hom.{succ u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1)) X Y) => W X Y w)) (CategoryTheory.CategoryStruct.toQuiver.{max u1 u2, u1} (CategoryTheory.MorphismProperty.Localization.{u1, u2} C _inst_1 (fun {X : C} {Y : C} (w : Quiver.Hom.{succ u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1)) X Y) => W X Y w)) (CategoryTheory.Category.toCategoryStruct.{max u1 u2, u1} (CategoryTheory.MorphismProperty.Localization.{u1, u2} C _inst_1 (fun {X : C} {Y : C} (w : Quiver.Hom.{succ u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1)) X Y) => W X Y w)) (CategoryTheory.MorphismProperty.Localization.category.{u1, u2} C _inst_1 (fun {X : C} {Y : C} (w : Quiver.Hom.{succ u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1)) X Y) => W X Y w)))) (CategoryTheory.Functor.obj.{u2, max u1 u2, u1, u1} C _inst_1 (CategoryTheory.MorphismProperty.Localization.{u1, u2} C _inst_1 (fun {X : C} {Y : C} (w : Quiver.Hom.{succ u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1)) X Y) => W X Y w)) (CategoryTheory.MorphismProperty.Localization.category.{u1, u2} C _inst_1 (fun {X : C} {Y : C} (w : Quiver.Hom.{succ u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1)) X Y) => W X Y w)) (CategoryTheory.MorphismProperty.Q.{u1, u2} C _inst_1 (fun {X : C} {Y : C} (w : Quiver.Hom.{succ u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1)) X Y) => W X Y w)) Y) (CategoryTheory.Functor.obj.{u2, max u1 u2, u1, u1} C _inst_1 (CategoryTheory.MorphismProperty.Localization.{u1, u2} C _inst_1 (fun {X : C} {Y : C} (w : Quiver.Hom.{succ u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1)) X Y) => W X Y w)) (CategoryTheory.MorphismProperty.Localization.category.{u1, u2} C _inst_1 (fun {X : C} {Y : C} (w : Quiver.Hom.{succ u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1)) X Y) => W X Y w)) (CategoryTheory.MorphismProperty.Q.{u1, u2} C _inst_1 (fun {X : C} {Y : C} (w : Quiver.Hom.{succ u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1)) X Y) => W X Y w)) X))
-but is expected to have type
-  forall {C : Type.{u1}} [_inst_1 : CategoryTheory.Category.{u2, u1} C] {W : CategoryTheory.MorphismProperty.{u2, u1} C _inst_1} {X : C} {Y : C} (w : Quiver.Hom.{succ u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1)) X Y), (W X Y w) -> (Quiver.Hom.{succ (max u1 u2), u1} (CategoryTheory.MorphismProperty.Localization.{u1, u2} C _inst_1 W) (CategoryTheory.CategoryStruct.toQuiver.{max u1 u2, u1} (CategoryTheory.MorphismProperty.Localization.{u1, u2} C _inst_1 W) (CategoryTheory.Category.toCategoryStruct.{max u1 u2, u1} (CategoryTheory.MorphismProperty.Localization.{u1, u2} C _inst_1 W) (CategoryTheory.MorphismProperty.instCategoryLocalization.{u1, u2} C _inst_1 W))) (Prefunctor.obj.{succ u2, max (succ u1) (succ u2), u1, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1)) (CategoryTheory.MorphismProperty.Localization.{u1, u2} C _inst_1 W) (CategoryTheory.CategoryStruct.toQuiver.{max u1 u2, u1} (CategoryTheory.MorphismProperty.Localization.{u1, u2} C _inst_1 W) (CategoryTheory.Category.toCategoryStruct.{max u1 u2, u1} (CategoryTheory.MorphismProperty.Localization.{u1, u2} C _inst_1 W) (CategoryTheory.MorphismProperty.instCategoryLocalization.{u1, u2} C _inst_1 W))) (CategoryTheory.Functor.toPrefunctor.{u2, max u1 u2, u1, u1} C _inst_1 (CategoryTheory.MorphismProperty.Localization.{u1, u2} C _inst_1 W) (CategoryTheory.MorphismProperty.instCategoryLocalization.{u1, u2} C _inst_1 W) (CategoryTheory.MorphismProperty.Q.{u1, u2} C _inst_1 W)) Y) (Prefunctor.obj.{succ u2, max (succ u1) (succ u2), u1, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1)) (CategoryTheory.MorphismProperty.Localization.{u1, u2} C _inst_1 W) (CategoryTheory.CategoryStruct.toQuiver.{max u1 u2, u1} (CategoryTheory.MorphismProperty.Localization.{u1, u2} C _inst_1 W) (CategoryTheory.Category.toCategoryStruct.{max u1 u2, u1} (CategoryTheory.MorphismProperty.Localization.{u1, u2} C _inst_1 W) (CategoryTheory.MorphismProperty.instCategoryLocalization.{u1, u2} C _inst_1 W))) (CategoryTheory.Functor.toPrefunctor.{u2, max u1 u2, u1, u1} C _inst_1 (CategoryTheory.MorphismProperty.Localization.{u1, u2} C _inst_1 W) (CategoryTheory.MorphismProperty.instCategoryLocalization.{u1, u2} C _inst_1 W) (CategoryTheory.MorphismProperty.Q.{u1, u2} C _inst_1 W)) X))
-Case conversion may be inaccurate. Consider using '#align category_theory.localization.construction.Winv CategoryTheory.Localization.Construction.winvₓ'. -/
 /-- The formal inverse in `W.localization` of a morphism `w` in `W`. -/
 abbrev winv {X Y : C} (w : X ⟶ Y) (hw : W w) :=
   (wIso w hw).inv
@@ -201,12 +189,6 @@ def lift : W.Localization ⥤ D :=
 #align category_theory.localization.construction.lift CategoryTheory.Localization.Construction.lift
 -/
 
-/- warning: category_theory.localization.construction.fac -> CategoryTheory.Localization.Construction.fac is a dubious translation:
-lean 3 declaration is
-  forall {C : Type.{u1}} [_inst_1 : CategoryTheory.Category.{u2, u1} C] {W : CategoryTheory.MorphismProperty.{u2, u1} C _inst_1} {D : Type.{u3}} [_inst_2 : CategoryTheory.Category.{u4, u3} D] (G : CategoryTheory.Functor.{u2, u4, u1, u3} C _inst_1 D _inst_2) (hG : CategoryTheory.MorphismProperty.IsInvertedBy.{u2, u1, u3, u4} C _inst_1 D _inst_2 W G), Eq.{succ (max u2 u4 u1 u3)} (CategoryTheory.Functor.{u2, u4, u1, u3} C _inst_1 D _inst_2) (CategoryTheory.Functor.comp.{u2, max u1 u2, u4, u1, u1, u3} C _inst_1 (CategoryTheory.MorphismProperty.Localization.{u1, u2} C _inst_1 W) (CategoryTheory.MorphismProperty.Localization.category.{u1, u2} C _inst_1 W) D _inst_2 (CategoryTheory.MorphismProperty.Q.{u1, u2} C _inst_1 W) (CategoryTheory.Localization.Construction.lift.{u1, u2, u3, u4} C _inst_1 W D _inst_2 G hG)) G
-but is expected to have type
-  forall {C : Type.{u4}} [_inst_1 : CategoryTheory.Category.{u3, u4} C] {W : CategoryTheory.MorphismProperty.{u3, u4} C _inst_1} {D : Type.{u2}} [_inst_2 : CategoryTheory.Category.{u1, u2} D] (G : CategoryTheory.Functor.{u3, u1, u4, u2} C _inst_1 D _inst_2) (hG : CategoryTheory.MorphismProperty.IsInvertedBy.{u3, u4, u2, u1} C _inst_1 D _inst_2 W G), Eq.{max (max (max (succ u4) (succ u3)) (succ u2)) (succ u1)} (CategoryTheory.Functor.{u3, u1, u4, u2} C _inst_1 D _inst_2) (CategoryTheory.Functor.comp.{u3, max u4 u3, u1, u4, u4, u2} C _inst_1 (CategoryTheory.MorphismProperty.Localization.{u4, u3} C _inst_1 W) (CategoryTheory.MorphismProperty.instCategoryLocalization.{u4, u3} C _inst_1 W) D _inst_2 (CategoryTheory.MorphismProperty.Q.{u4, u3} C _inst_1 W) (CategoryTheory.Localization.Construction.lift.{u4, u3, u2, u1} C _inst_1 W D _inst_2 G hG)) G
-Case conversion may be inaccurate. Consider using '#align category_theory.localization.construction.fac CategoryTheory.Localization.Construction.facₓ'. -/
 @[simp]
 theorem fac : W.Q ⋙ lift G hG = G :=
   Functor.ext (fun X => rfl)
@@ -219,12 +201,6 @@ theorem fac : W.Q ⋙ lift G hG = G :=
 
 omit G hG
 
-/- warning: category_theory.localization.construction.uniq -> CategoryTheory.Localization.Construction.uniq is a dubious translation:
-lean 3 declaration is
-  forall {C : Type.{u1}} [_inst_1 : CategoryTheory.Category.{u2, u1} C] {W : CategoryTheory.MorphismProperty.{u2, u1} C _inst_1} {D : Type.{u3}} [_inst_2 : CategoryTheory.Category.{u4, u3} D] (G₁ : CategoryTheory.Functor.{max u1 u2, u4, u1, u3} (CategoryTheory.MorphismProperty.Localization.{u1, u2} C _inst_1 W) (CategoryTheory.MorphismProperty.Localization.category.{u1, u2} C _inst_1 W) D _inst_2) (G₂ : CategoryTheory.Functor.{max u1 u2, u4, u1, u3} (CategoryTheory.MorphismProperty.Localization.{u1, u2} C _inst_1 W) (CategoryTheory.MorphismProperty.Localization.category.{u1, u2} C _inst_1 W) D _inst_2), (Eq.{succ (max u2 u4 u1 u3)} (CategoryTheory.Functor.{u2, u4, u1, u3} C _inst_1 D _inst_2) (CategoryTheory.Functor.comp.{u2, max u1 u2, u4, u1, u1, u3} C _inst_1 (CategoryTheory.MorphismProperty.Localization.{u1, u2} C _inst_1 W) (CategoryTheory.MorphismProperty.Localization.category.{u1, u2} C _inst_1 W) D _inst_2 (CategoryTheory.MorphismProperty.Q.{u1, u2} C _inst_1 W) G₁) (CategoryTheory.Functor.comp.{u2, max u1 u2, u4, u1, u1, u3} C _inst_1 (CategoryTheory.MorphismProperty.Localization.{u1, u2} C _inst_1 W) (CategoryTheory.MorphismProperty.Localization.category.{u1, u2} C _inst_1 W) D _inst_2 (CategoryTheory.MorphismProperty.Q.{u1, u2} C _inst_1 W) G₂)) -> (Eq.{succ (max (max u1 u2) u4 u1 u3)} (CategoryTheory.Functor.{max u1 u2, u4, u1, u3} (CategoryTheory.MorphismProperty.Localization.{u1, u2} C _inst_1 W) (CategoryTheory.MorphismProperty.Localization.category.{u1, u2} C _inst_1 W) D _inst_2) G₁ G₂)
-but is expected to have type
-  forall {C : Type.{u4}} [_inst_1 : CategoryTheory.Category.{u3, u4} C] {W : CategoryTheory.MorphismProperty.{u3, u4} C _inst_1} {D : Type.{u1}} [_inst_2 : CategoryTheory.Category.{u2, u1} D] (G₁ : CategoryTheory.Functor.{max u4 u3, u2, u4, u1} (CategoryTheory.MorphismProperty.Localization.{u4, u3} C _inst_1 W) (CategoryTheory.MorphismProperty.instCategoryLocalization.{u4, u3} C _inst_1 W) D _inst_2) (G₂ : CategoryTheory.Functor.{max u4 u3, u2, u4, u1} (CategoryTheory.MorphismProperty.Localization.{u4, u3} C _inst_1 W) (CategoryTheory.MorphismProperty.instCategoryLocalization.{u4, u3} C _inst_1 W) D _inst_2), (Eq.{max (max (max (succ u4) (succ u3)) (succ u1)) (succ u2)} (CategoryTheory.Functor.{u3, u2, u4, u1} C _inst_1 D _inst_2) (CategoryTheory.Functor.comp.{u3, max u4 u3, u2, u4, u4, u1} C _inst_1 (CategoryTheory.MorphismProperty.Localization.{u4, u3} C _inst_1 W) (CategoryTheory.MorphismProperty.instCategoryLocalization.{u4, u3} C _inst_1 W) D _inst_2 (CategoryTheory.MorphismProperty.Q.{u4, u3} C _inst_1 W) G₁) (CategoryTheory.Functor.comp.{u3, max u4 u3, u2, u4, u4, u1} C _inst_1 (CategoryTheory.MorphismProperty.Localization.{u4, u3} C _inst_1 W) (CategoryTheory.MorphismProperty.instCategoryLocalization.{u4, u3} C _inst_1 W) D _inst_2 (CategoryTheory.MorphismProperty.Q.{u4, u3} C _inst_1 W) G₂)) -> (Eq.{max (max (max (succ u4) (succ u3)) (succ u1)) (succ u2)} (CategoryTheory.Functor.{max u4 u3, u2, u4, u1} (CategoryTheory.MorphismProperty.Localization.{u4, u3} C _inst_1 W) (CategoryTheory.MorphismProperty.instCategoryLocalization.{u4, u3} C _inst_1 W) D _inst_2) G₁ G₂)
-Case conversion may be inaccurate. Consider using '#align category_theory.localization.construction.uniq CategoryTheory.Localization.Construction.uniqₓ'. -/
 theorem uniq (G₁ G₂ : W.Localization ⥤ D) (h : W.Q ⋙ G₁ = W.Q ⋙ G₂) : G₁ = G₂ :=
   by
   suffices h' : quotient.functor _ ⋙ G₁ = quotient.functor _ ⋙ G₂
@@ -262,9 +238,6 @@ def objEquiv : C ≃ W.Localization where
 
 variable {W}
 
-/- warning: category_theory.localization.construction.morphism_property_is_top -> CategoryTheory.Localization.Construction.morphismProperty_is_top is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align category_theory.localization.construction.morphism_property_is_top CategoryTheory.Localization.Construction.morphismProperty_is_topₓ'. -/
 /-- A `morphism_property` in `W.localization` is satisfied by all
 morphisms in the localized category if it contains the image of the
 morphisms in the original category, the inverses of the morphisms
@@ -300,12 +273,6 @@ theorem morphismProperty_is_top (P : MorphismProperty W.Localization)
       · apply hP₂
 #align category_theory.localization.construction.morphism_property_is_top CategoryTheory.Localization.Construction.morphismProperty_is_top
 
-/- warning: category_theory.localization.construction.morphism_property_is_top' -> CategoryTheory.Localization.Construction.morphismProperty_is_top' is a dubious translation:
-lean 3 declaration is
-  forall {C : Type.{u1}} [_inst_1 : CategoryTheory.Category.{u2, u1} C] {W : CategoryTheory.MorphismProperty.{u2, u1} C _inst_1} (P : CategoryTheory.MorphismProperty.{max u1 u2, u1} (CategoryTheory.MorphismProperty.Localization.{u1, u2} C _inst_1 W) (CategoryTheory.MorphismProperty.Localization.category.{u1, u2} C _inst_1 W)), (forall {{X : C}} {{Y : C}} (f : Quiver.Hom.{succ u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1)) X Y), P (CategoryTheory.Functor.obj.{u2, max u1 u2, u1, u1} C _inst_1 (CategoryTheory.MorphismProperty.Localization.{u1, u2} C _inst_1 W) (CategoryTheory.MorphismProperty.Localization.category.{u1, u2} C _inst_1 W) (CategoryTheory.MorphismProperty.Q.{u1, u2} C _inst_1 W) X) (CategoryTheory.Functor.obj.{u2, max u1 u2, u1, u1} C _inst_1 (CategoryTheory.MorphismProperty.Localization.{u1, u2} C _inst_1 W) (CategoryTheory.MorphismProperty.Localization.category.{u1, u2} C _inst_1 W) (CategoryTheory.MorphismProperty.Q.{u1, u2} C _inst_1 W) Y) (CategoryTheory.Functor.map.{u2, max u1 u2, u1, u1} C _inst_1 (CategoryTheory.MorphismProperty.Localization.{u1, u2} C _inst_1 W) (CategoryTheory.MorphismProperty.Localization.category.{u1, u2} C _inst_1 W) (CategoryTheory.MorphismProperty.Q.{u1, u2} C _inst_1 W) X Y f)) -> (forall {{X : CategoryTheory.MorphismProperty.Localization.{u1, u2} C _inst_1 W}} {{Y : CategoryTheory.MorphismProperty.Localization.{u1, u2} C _inst_1 W}} (e : CategoryTheory.Iso.{max u1 u2, u1} (CategoryTheory.MorphismProperty.Localization.{u1, u2} C _inst_1 W) (CategoryTheory.MorphismProperty.Localization.category.{u1, u2} C _inst_1 W) X Y), (P X Y (CategoryTheory.Iso.hom.{max u1 u2, u1} (CategoryTheory.MorphismProperty.Localization.{u1, u2} C _inst_1 W) (CategoryTheory.MorphismProperty.Localization.category.{u1, u2} C _inst_1 W) X Y e)) -> (P Y X (CategoryTheory.Iso.inv.{max u1 u2, u1} (CategoryTheory.MorphismProperty.Localization.{u1, u2} C _inst_1 W) (CategoryTheory.MorphismProperty.Localization.category.{u1, u2} C _inst_1 W) X Y e))) -> (CategoryTheory.MorphismProperty.StableUnderComposition.{max u1 u2, u1} (CategoryTheory.MorphismProperty.Localization.{u1, u2} C _inst_1 W) (CategoryTheory.MorphismProperty.Localization.category.{u1, u2} C _inst_1 W) P) -> (Eq.{max (succ u1) (succ (max u1 u2))} (CategoryTheory.MorphismProperty.{max u1 u2, u1} (CategoryTheory.MorphismProperty.Localization.{u1, u2} C _inst_1 W) (CategoryTheory.MorphismProperty.Localization.category.{u1, u2} C _inst_1 W)) P (Top.top.{max u1 u2} (CategoryTheory.MorphismProperty.{max u1 u2, u1} (CategoryTheory.MorphismProperty.Localization.{u1, u2} C _inst_1 W) (CategoryTheory.MorphismProperty.Localization.category.{u1, u2} C _inst_1 W)) (CompleteLattice.toHasTop.{max u1 u2} (CategoryTheory.MorphismProperty.{max u1 u2, u1} (CategoryTheory.MorphismProperty.Localization.{u1, u2} C _inst_1 W) (CategoryTheory.MorphismProperty.Localization.category.{u1, u2} C _inst_1 W)) (CategoryTheory.MorphismProperty.completeLattice.{max u1 u2, u1} (CategoryTheory.MorphismProperty.Localization.{u1, u2} C _inst_1 W) (CategoryTheory.MorphismProperty.Localization.category.{u1, u2} C _inst_1 W)))))
-but is expected to have type
-  forall {C : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} C] {W : CategoryTheory.MorphismProperty.{u1, u2} C _inst_1} (P : CategoryTheory.MorphismProperty.{max u2 u1, u2} (CategoryTheory.MorphismProperty.Localization.{u2, u1} C _inst_1 W) (CategoryTheory.MorphismProperty.instCategoryLocalization.{u2, u1} C _inst_1 W)), (forall {{X : C}} {{Y : C}} (f : Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) X Y), P (Prefunctor.obj.{succ u1, max (succ u2) (succ u1), u2, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.MorphismProperty.Localization.{u2, u1} C _inst_1 W) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, u2} (CategoryTheory.MorphismProperty.Localization.{u2, u1} C _inst_1 W) (CategoryTheory.Category.toCategoryStruct.{max u2 u1, u2} (CategoryTheory.MorphismProperty.Localization.{u2, u1} C _inst_1 W) (CategoryTheory.MorphismProperty.instCategoryLocalization.{u2, u1} C _inst_1 W))) (CategoryTheory.Functor.toPrefunctor.{u1, max u2 u1, u2, u2} C _inst_1 (CategoryTheory.MorphismProperty.Localization.{u2, u1} C _inst_1 W) (CategoryTheory.MorphismProperty.instCategoryLocalization.{u2, u1} C _inst_1 W) (CategoryTheory.MorphismProperty.Q.{u2, u1} C _inst_1 W)) X) (Prefunctor.obj.{succ u1, max (succ u2) (succ u1), u2, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.MorphismProperty.Localization.{u2, u1} C _inst_1 W) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, u2} (CategoryTheory.MorphismProperty.Localization.{u2, u1} C _inst_1 W) (CategoryTheory.Category.toCategoryStruct.{max u2 u1, u2} (CategoryTheory.MorphismProperty.Localization.{u2, u1} C _inst_1 W) (CategoryTheory.MorphismProperty.instCategoryLocalization.{u2, u1} C _inst_1 W))) (CategoryTheory.Functor.toPrefunctor.{u1, max u2 u1, u2, u2} C _inst_1 (CategoryTheory.MorphismProperty.Localization.{u2, u1} C _inst_1 W) (CategoryTheory.MorphismProperty.instCategoryLocalization.{u2, u1} C _inst_1 W) (CategoryTheory.MorphismProperty.Q.{u2, u1} C _inst_1 W)) Y) (Prefunctor.map.{succ u1, max (succ u2) (succ u1), u2, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.MorphismProperty.Localization.{u2, u1} C _inst_1 W) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, u2} (CategoryTheory.MorphismProperty.Localization.{u2, u1} C _inst_1 W) (CategoryTheory.Category.toCategoryStruct.{max u2 u1, u2} (CategoryTheory.MorphismProperty.Localization.{u2, u1} C _inst_1 W) (CategoryTheory.MorphismProperty.instCategoryLocalization.{u2, u1} C _inst_1 W))) (CategoryTheory.Functor.toPrefunctor.{u1, max u2 u1, u2, u2} C _inst_1 (CategoryTheory.MorphismProperty.Localization.{u2, u1} C _inst_1 W) (CategoryTheory.MorphismProperty.instCategoryLocalization.{u2, u1} C _inst_1 W) (CategoryTheory.MorphismProperty.Q.{u2, u1} C _inst_1 W)) X Y f)) -> (forall {{X : CategoryTheory.MorphismProperty.Localization.{u2, u1} C _inst_1 W}} {{Y : CategoryTheory.MorphismProperty.Localization.{u2, u1} C _inst_1 W}} (e : CategoryTheory.Iso.{max u2 u1, u2} (CategoryTheory.MorphismProperty.Localization.{u2, u1} C _inst_1 W) (CategoryTheory.MorphismProperty.instCategoryLocalization.{u2, u1} C _inst_1 W) X Y), (P X Y (CategoryTheory.Iso.hom.{max u2 u1, u2} (CategoryTheory.MorphismProperty.Localization.{u2, u1} C _inst_1 W) (CategoryTheory.MorphismProperty.instCategoryLocalization.{u2, u1} C _inst_1 W) X Y e)) -> (P Y X (CategoryTheory.Iso.inv.{max u2 u1, u2} (CategoryTheory.MorphismProperty.Localization.{u2, u1} C _inst_1 W) (CategoryTheory.MorphismProperty.instCategoryLocalization.{u2, u1} C _inst_1 W) X Y e))) -> (CategoryTheory.MorphismProperty.StableUnderComposition.{max u2 u1, u2} (CategoryTheory.MorphismProperty.Localization.{u2, u1} C _inst_1 W) (CategoryTheory.MorphismProperty.instCategoryLocalization.{u2, u1} C _inst_1 W) P) -> (Eq.{max (succ u2) (succ u1)} (CategoryTheory.MorphismProperty.{max u2 u1, u2} (CategoryTheory.MorphismProperty.Localization.{u2, u1} C _inst_1 W) (CategoryTheory.MorphismProperty.instCategoryLocalization.{u2, u1} C _inst_1 W)) P (Top.top.{max u2 u1} (CategoryTheory.MorphismProperty.{max u2 u1, u2} (CategoryTheory.MorphismProperty.Localization.{u2, u1} C _inst_1 W) (CategoryTheory.MorphismProperty.instCategoryLocalization.{u2, u1} C _inst_1 W)) (CompleteLattice.toTop.{max u2 u1} (CategoryTheory.MorphismProperty.{max u2 u1, u2} (CategoryTheory.MorphismProperty.Localization.{u2, u1} C _inst_1 W) (CategoryTheory.MorphismProperty.instCategoryLocalization.{u2, u1} C _inst_1 W)) (CategoryTheory.instCompleteLatticeMorphismProperty.{max u2 u1, u2} (CategoryTheory.MorphismProperty.Localization.{u2, u1} C _inst_1 W) (CategoryTheory.MorphismProperty.instCategoryLocalization.{u2, u1} C _inst_1 W)))))
-Case conversion may be inaccurate. Consider using '#align category_theory.localization.construction.morphism_property_is_top' CategoryTheory.Localization.Construction.morphismProperty_is_top'ₓ'. -/
 /-- A `morphism_property` in `W.localization` is satisfied by all
 morphisms in the localized category if it contains the image of the
 morphisms in the original category, if is stable under composition
@@ -323,12 +290,6 @@ variable {F₁ F₂ : W.Localization ⥤ D} (τ : W.Q ⋙ F₁ ⟶ W.Q ⋙ F₂)
 
 include τ
 
-/- warning: category_theory.localization.construction.nat_trans_extension.app -> CategoryTheory.Localization.Construction.NatTransExtension.app is a dubious translation:
-lean 3 declaration is
-  forall {C : Type.{u1}} [_inst_1 : CategoryTheory.Category.{u2, u1} C] {W : CategoryTheory.MorphismProperty.{u2, u1} C _inst_1} {D : Type.{u3}} [_inst_2 : CategoryTheory.Category.{u4, u3} D] {F₁ : CategoryTheory.Functor.{max u1 u2, u4, u1, u3} (CategoryTheory.MorphismProperty.Localization.{u1, u2} C _inst_1 W) (CategoryTheory.MorphismProperty.Localization.category.{u1, u2} C _inst_1 W) D _inst_2} {F₂ : CategoryTheory.Functor.{max u1 u2, u4, u1, u3} (CategoryTheory.MorphismProperty.Localization.{u1, u2} C _inst_1 W) (CategoryTheory.MorphismProperty.Localization.category.{u1, u2} C _inst_1 W) D _inst_2}, (Quiver.Hom.{succ (max u1 u4), max u2 u4 u1 u3} (CategoryTheory.Functor.{u2, u4, u1, u3} C _inst_1 D _inst_2) (CategoryTheory.CategoryStruct.toQuiver.{max u1 u4, max u2 u4 u1 u3} (CategoryTheory.Functor.{u2, u4, u1, u3} C _inst_1 D _inst_2) (CategoryTheory.Category.toCategoryStruct.{max u1 u4, max u2 u4 u1 u3} (CategoryTheory.Functor.{u2, u4, u1, u3} C _inst_1 D _inst_2) (CategoryTheory.Functor.category.{u2, u4, u1, u3} C _inst_1 D _inst_2))) (CategoryTheory.Functor.comp.{u2, max u1 u2, u4, u1, u1, u3} C _inst_1 (CategoryTheory.MorphismProperty.Localization.{u1, u2} C _inst_1 W) (CategoryTheory.MorphismProperty.Localization.category.{u1, u2} C _inst_1 W) D _inst_2 (CategoryTheory.MorphismProperty.Q.{u1, u2} C _inst_1 W) F₁) (CategoryTheory.Functor.comp.{u2, max u1 u2, u4, u1, u1, u3} C _inst_1 (CategoryTheory.MorphismProperty.Localization.{u1, u2} C _inst_1 W) (CategoryTheory.MorphismProperty.Localization.category.{u1, u2} C _inst_1 W) D _inst_2 (CategoryTheory.MorphismProperty.Q.{u1, u2} C _inst_1 W) F₂)) -> (forall (X : CategoryTheory.MorphismProperty.Localization.{u1, u2} C _inst_1 W), Quiver.Hom.{succ u4, u3} D (CategoryTheory.CategoryStruct.toQuiver.{u4, u3} D (CategoryTheory.Category.toCategoryStruct.{u4, u3} D _inst_2)) (CategoryTheory.Functor.obj.{max u1 u2, u4, u1, u3} (CategoryTheory.MorphismProperty.Localization.{u1, u2} C _inst_1 W) (CategoryTheory.MorphismProperty.Localization.category.{u1, u2} C _inst_1 W) D _inst_2 F₁ X) (CategoryTheory.Functor.obj.{max u1 u2, u4, u1, u3} (CategoryTheory.MorphismProperty.Localization.{u1, u2} C _inst_1 W) (CategoryTheory.MorphismProperty.Localization.category.{u1, u2} C _inst_1 W) D _inst_2 F₂ X))
-but is expected to have type
-  forall {C : Type.{u1}} [_inst_1 : CategoryTheory.Category.{u2, u1} C] {W : CategoryTheory.MorphismProperty.{u2, u1} C _inst_1} {D : Type.{u3}} [_inst_2 : CategoryTheory.Category.{u4, u3} D] {F₁ : CategoryTheory.Functor.{max u1 u2, u4, u1, u3} (CategoryTheory.MorphismProperty.Localization.{u1, u2} C _inst_1 W) (CategoryTheory.MorphismProperty.instCategoryLocalization.{u1, u2} C _inst_1 W) D _inst_2} {F₂ : CategoryTheory.Functor.{max u1 u2, u4, u1, u3} (CategoryTheory.MorphismProperty.Localization.{u1, u2} C _inst_1 W) (CategoryTheory.MorphismProperty.instCategoryLocalization.{u1, u2} C _inst_1 W) D _inst_2}, (Quiver.Hom.{max (succ u1) (succ u4), max (max (max u3 u1) u4) u2} (CategoryTheory.Functor.{u2, u4, u1, u3} C _inst_1 D _inst_2) (CategoryTheory.CategoryStruct.toQuiver.{max u1 u4, max (max (max u1 u2) u3) u4} (CategoryTheory.Functor.{u2, u4, u1, u3} C _inst_1 D _inst_2) (CategoryTheory.Category.toCategoryStruct.{max u1 u4, max (max (max u1 u2) u3) u4} (CategoryTheory.Functor.{u2, u4, u1, u3} C _inst_1 D _inst_2) (CategoryTheory.Functor.category.{u2, u4, u1, u3} C _inst_1 D _inst_2))) (CategoryTheory.Functor.comp.{u2, max u1 u2, u4, u1, u1, u3} C _inst_1 (CategoryTheory.MorphismProperty.Localization.{u1, u2} C _inst_1 W) (CategoryTheory.MorphismProperty.instCategoryLocalization.{u1, u2} C _inst_1 W) D _inst_2 (CategoryTheory.MorphismProperty.Q.{u1, u2} C _inst_1 W) F₁) (CategoryTheory.Functor.comp.{u2, max u1 u2, u4, u1, u1, u3} C _inst_1 (CategoryTheory.MorphismProperty.Localization.{u1, u2} C _inst_1 W) (CategoryTheory.MorphismProperty.instCategoryLocalization.{u1, u2} C _inst_1 W) D _inst_2 (CategoryTheory.MorphismProperty.Q.{u1, u2} C _inst_1 W) F₂)) -> (forall (X : CategoryTheory.MorphismProperty.Localization.{u1, u2} C _inst_1 W), Quiver.Hom.{succ u4, u3} D (CategoryTheory.CategoryStruct.toQuiver.{u4, u3} D (CategoryTheory.Category.toCategoryStruct.{u4, u3} D _inst_2)) (Prefunctor.obj.{max (succ u1) (succ u2), succ u4, u1, u3} (CategoryTheory.MorphismProperty.Localization.{u1, u2} C _inst_1 W) (CategoryTheory.CategoryStruct.toQuiver.{max u1 u2, u1} (CategoryTheory.MorphismProperty.Localization.{u1, u2} C _inst_1 W) (CategoryTheory.Category.toCategoryStruct.{max u1 u2, u1} (CategoryTheory.MorphismProperty.Localization.{u1, u2} C _inst_1 W) (CategoryTheory.MorphismProperty.instCategoryLocalization.{u1, u2} C _inst_1 W))) D (CategoryTheory.CategoryStruct.toQuiver.{u4, u3} D (CategoryTheory.Category.toCategoryStruct.{u4, u3} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{max u1 u2, u4, u1, u3} (CategoryTheory.MorphismProperty.Localization.{u1, u2} C _inst_1 W) (CategoryTheory.MorphismProperty.instCategoryLocalization.{u1, u2} C _inst_1 W) D _inst_2 F₁) X) (Prefunctor.obj.{max (succ u1) (succ u2), succ u4, u1, u3} (CategoryTheory.MorphismProperty.Localization.{u1, u2} C _inst_1 W) (CategoryTheory.CategoryStruct.toQuiver.{max u1 u2, u1} (CategoryTheory.MorphismProperty.Localization.{u1, u2} C _inst_1 W) (CategoryTheory.Category.toCategoryStruct.{max u1 u2, u1} (CategoryTheory.MorphismProperty.Localization.{u1, u2} C _inst_1 W) (CategoryTheory.MorphismProperty.instCategoryLocalization.{u1, u2} C _inst_1 W))) D (CategoryTheory.CategoryStruct.toQuiver.{u4, u3} D (CategoryTheory.Category.toCategoryStruct.{u4, u3} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{max u1 u2, u4, u1, u3} (CategoryTheory.MorphismProperty.Localization.{u1, u2} C _inst_1 W) (CategoryTheory.MorphismProperty.instCategoryLocalization.{u1, u2} C _inst_1 W) D _inst_2 F₂) X))
-Case conversion may be inaccurate. Consider using '#align category_theory.localization.construction.nat_trans_extension.app CategoryTheory.Localization.Construction.NatTransExtension.appₓ'. -/
 /-- If `F₁` and `F₂` are functors `W.localization ⥤ D` and if we have
 `τ : W.Q ⋙ F₁ ⟶ W.Q ⋙ F₂`, we shall define a natural transformation `F₁ ⟶ F₂`.
 This is the `app` field of this natural transformation. -/
@@ -337,9 +298,6 @@ def app (X : W.Localization) : F₁.obj X ⟶ F₂.obj X :=
     τ.app ((objEquiv W).invFun X) ≫ eqToHom (congr_arg F₂.obj ((objEquiv W).right_inv X))
 #align category_theory.localization.construction.nat_trans_extension.app CategoryTheory.Localization.Construction.NatTransExtension.app
 
-/- warning: category_theory.localization.construction.nat_trans_extension.app_eq -> CategoryTheory.Localization.Construction.NatTransExtension.app_eq is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align category_theory.localization.construction.nat_trans_extension.app_eq CategoryTheory.Localization.Construction.NatTransExtension.app_eqₓ'. -/
 @[simp]
 theorem app_eq (X : C) : (app τ) (W.Q.obj X) = τ.app X := by
   simpa only [app, eq_to_hom_refl, comp_id, id_comp]
@@ -369,12 +327,6 @@ def natTransExtension {F₁ F₂ : W.Localization ⥤ D} (τ : W.Q ⋙ F₁ ⟶
 #align category_theory.localization.construction.nat_trans_extension CategoryTheory.Localization.Construction.natTransExtension
 -/
 
-/- warning: category_theory.localization.construction.nat_trans_extension_hcomp -> CategoryTheory.Localization.Construction.natTransExtension_hcomp is a dubious translation:
-lean 3 declaration is
-  forall {C : Type.{u1}} [_inst_1 : CategoryTheory.Category.{u2, u1} C] {W : CategoryTheory.MorphismProperty.{u2, u1} C _inst_1} {D : Type.{u3}} [_inst_2 : CategoryTheory.Category.{u4, u3} D] {F : CategoryTheory.Functor.{max u1 u2, u4, u1, u3} (CategoryTheory.MorphismProperty.Localization.{u1, u2} C _inst_1 W) (CategoryTheory.MorphismProperty.Localization.category.{u1, u2} C _inst_1 W) D _inst_2} {G : CategoryTheory.Functor.{max u1 u2, u4, u1, u3} (CategoryTheory.MorphismProperty.Localization.{u1, u2} C _inst_1 W) (CategoryTheory.MorphismProperty.Localization.category.{u1, u2} C _inst_1 W) D _inst_2} (τ : Quiver.Hom.{succ (max u1 u4), max u2 u4 u1 u3} (CategoryTheory.Functor.{u2, u4, u1, u3} C _inst_1 D _inst_2) (CategoryTheory.CategoryStruct.toQuiver.{max u1 u4, max u2 u4 u1 u3} (CategoryTheory.Functor.{u2, u4, u1, u3} C _inst_1 D _inst_2) (CategoryTheory.Category.toCategoryStruct.{max u1 u4, max u2 u4 u1 u3} (CategoryTheory.Functor.{u2, u4, u1, u3} C _inst_1 D _inst_2) (CategoryTheory.Functor.category.{u2, u4, u1, u3} C _inst_1 D _inst_2))) (CategoryTheory.Functor.comp.{u2, max u1 u2, u4, u1, u1, u3} C _inst_1 (CategoryTheory.MorphismProperty.Localization.{u1, u2} C _inst_1 W) (CategoryTheory.MorphismProperty.Localization.category.{u1, u2} C _inst_1 W) D _inst_2 (CategoryTheory.MorphismProperty.Q.{u1, u2} C _inst_1 W) F) (CategoryTheory.Functor.comp.{u2, max u1 u2, u4, u1, u1, u3} C _inst_1 (CategoryTheory.MorphismProperty.Localization.{u1, u2} C _inst_1 W) (CategoryTheory.MorphismProperty.Localization.category.{u1, u2} C _inst_1 W) D _inst_2 (CategoryTheory.MorphismProperty.Q.{u1, u2} C _inst_1 W) G)), Eq.{succ (max u1 u4)} (Quiver.Hom.{succ (max u1 u4), max u2 u4 u1 u3} (CategoryTheory.Functor.{u2, u4, u1, u3} C _inst_1 D _inst_2) (CategoryTheory.CategoryStruct.toQuiver.{max u1 u4, max u2 u4 u1 u3} (CategoryTheory.Functor.{u2, u4, u1, u3} C _inst_1 D _inst_2) (CategoryTheory.Category.toCategoryStruct.{max u1 u4, max u2 u4 u1 u3} (CategoryTheory.Functor.{u2, u4, u1, u3} C _inst_1 D _inst_2) (CategoryTheory.Functor.category.{u2, u4, u1, u3} C _inst_1 D _inst_2))) (CategoryTheory.Functor.comp.{u2, max u1 u2, u4, u1, u1, u3} C _inst_1 (CategoryTheory.MorphismProperty.Localization.{u1, u2} C _inst_1 W) (CategoryTheory.MorphismProperty.Localization.category.{u1, u2} C _inst_1 W) D _inst_2 (CategoryTheory.MorphismProperty.Q.{u1, u2} C _inst_1 W) F) (CategoryTheory.Functor.comp.{u2, max u1 u2, u4, u1, u1, u3} C _inst_1 (CategoryTheory.MorphismProperty.Localization.{u1, u2} C _inst_1 W) (CategoryTheory.MorphismProperty.Localization.category.{u1, u2} C _inst_1 W) D _inst_2 (CategoryTheory.MorphismProperty.Q.{u1, u2} C _inst_1 W) G)) (CategoryTheory.NatTrans.hcomp.{u2, max u1 u2, u4, u1, u1, u3} C _inst_1 (CategoryTheory.MorphismProperty.Localization.{u1, u2} C _inst_1 W) (CategoryTheory.MorphismProperty.Localization.category.{u1, u2} C _inst_1 W) D _inst_2 (CategoryTheory.MorphismProperty.Q.{u1, u2} C _inst_1 W) (CategoryTheory.MorphismProperty.Q.{u1, u2} C _inst_1 W) F G (CategoryTheory.CategoryStruct.id.{max u1 u2, max u1 u2} (CategoryTheory.Functor.{u2, max u1 u2, u1, u1} C _inst_1 (CategoryTheory.MorphismProperty.Localization.{u1, u2} C _inst_1 W) (CategoryTheory.MorphismProperty.Localization.category.{u1, u2} C _inst_1 W)) (CategoryTheory.Category.toCategoryStruct.{max u1 u2, max u1 u2} (CategoryTheory.Functor.{u2, max u1 u2, u1, u1} C _inst_1 (CategoryTheory.MorphismProperty.Localization.{u1, u2} C _inst_1 W) (CategoryTheory.MorphismProperty.Localization.category.{u1, u2} C _inst_1 W)) (CategoryTheory.Functor.category.{u2, max u1 u2, u1, u1} C _inst_1 (CategoryTheory.MorphismProperty.Localization.{u1, u2} C _inst_1 W) (CategoryTheory.MorphismProperty.Localization.category.{u1, u2} C _inst_1 W))) (CategoryTheory.MorphismProperty.Q.{u1, u2} C _inst_1 W)) (CategoryTheory.Localization.Construction.natTransExtension.{u1, u2, u3, u4} C _inst_1 W D _inst_2 F G τ)) τ
-but is expected to have type
-  forall {C : Type.{u4}} [_inst_1 : CategoryTheory.Category.{u3, u4} C] {W : CategoryTheory.MorphismProperty.{u3, u4} C _inst_1} {D : Type.{u1}} [_inst_2 : CategoryTheory.Category.{u2, u1} D] {F : CategoryTheory.Functor.{max u4 u3, u2, u4, u1} (CategoryTheory.MorphismProperty.Localization.{u4, u3} C _inst_1 W) (CategoryTheory.MorphismProperty.instCategoryLocalization.{u4, u3} C _inst_1 W) D _inst_2} {G : CategoryTheory.Functor.{max u4 u3, u2, u4, u1} (CategoryTheory.MorphismProperty.Localization.{u4, u3} C _inst_1 W) (CategoryTheory.MorphismProperty.instCategoryLocalization.{u4, u3} C _inst_1 W) D _inst_2} (τ : Quiver.Hom.{max (succ u4) (succ u2), max (max (max u1 u4) u2) u3} (CategoryTheory.Functor.{u3, u2, u4, u1} C _inst_1 D _inst_2) (CategoryTheory.CategoryStruct.toQuiver.{max u4 u2, max (max (max u4 u3) u1) u2} (CategoryTheory.Functor.{u3, u2, u4, u1} C _inst_1 D _inst_2) (CategoryTheory.Category.toCategoryStruct.{max u4 u2, max (max (max u4 u3) u1) u2} (CategoryTheory.Functor.{u3, u2, u4, u1} C _inst_1 D _inst_2) (CategoryTheory.Functor.category.{u3, u2, u4, u1} C _inst_1 D _inst_2))) (CategoryTheory.Functor.comp.{u3, max u4 u3, u2, u4, u4, u1} C _inst_1 (CategoryTheory.MorphismProperty.Localization.{u4, u3} C _inst_1 W) (CategoryTheory.MorphismProperty.instCategoryLocalization.{u4, u3} C _inst_1 W) D _inst_2 (CategoryTheory.MorphismProperty.Q.{u4, u3} C _inst_1 W) F) (CategoryTheory.Functor.comp.{u3, max u4 u3, u2, u4, u4, u1} C _inst_1 (CategoryTheory.MorphismProperty.Localization.{u4, u3} C _inst_1 W) (CategoryTheory.MorphismProperty.instCategoryLocalization.{u4, u3} C _inst_1 W) D _inst_2 (CategoryTheory.MorphismProperty.Q.{u4, u3} C _inst_1 W) G)), Eq.{max (succ u4) (succ u2)} (Quiver.Hom.{max (succ u4) (succ u2), max (max (max u1 u4) u2) u3} (CategoryTheory.Functor.{u3, u2, u4, u1} C _inst_1 D _inst_2) (CategoryTheory.CategoryStruct.toQuiver.{max u4 u2, max (max (max u4 u1) u3) u2} (CategoryTheory.Functor.{u3, u2, u4, u1} C _inst_1 D _inst_2) (CategoryTheory.Category.toCategoryStruct.{max u4 u2, max (max (max u4 u1) u3) u2} (CategoryTheory.Functor.{u3, u2, u4, u1} C _inst_1 D _inst_2) (CategoryTheory.Functor.category.{u3, u2, u4, u1} C _inst_1 D _inst_2))) (CategoryTheory.Functor.comp.{u3, max u4 u3, u2, u4, u4, u1} C _inst_1 (CategoryTheory.MorphismProperty.Localization.{u4, u3} C _inst_1 W) (CategoryTheory.MorphismProperty.instCategoryLocalization.{u4, u3} C _inst_1 W) D _inst_2 (CategoryTheory.MorphismProperty.Q.{u4, u3} C _inst_1 W) F) (CategoryTheory.Functor.comp.{u3, max u4 u3, u2, u4, u4, u1} C _inst_1 (CategoryTheory.MorphismProperty.Localization.{u4, u3} C _inst_1 W) (CategoryTheory.MorphismProperty.instCategoryLocalization.{u4, u3} C _inst_1 W) D _inst_2 (CategoryTheory.MorphismProperty.Q.{u4, u3} C _inst_1 W) G)) (CategoryTheory.NatTrans.hcomp.{u3, max u4 u3, u2, u4, u4, u1} C _inst_1 (CategoryTheory.MorphismProperty.Localization.{u4, u3} C _inst_1 W) (CategoryTheory.MorphismProperty.instCategoryLocalization.{u4, u3} C _inst_1 W) D _inst_2 (CategoryTheory.MorphismProperty.Q.{u4, u3} C _inst_1 W) (CategoryTheory.MorphismProperty.Q.{u4, u3} C _inst_1 W) F G (CategoryTheory.CategoryStruct.id.{max u4 u3, max u4 u3} (CategoryTheory.Functor.{u3, max u4 u3, u4, u4} C _inst_1 (CategoryTheory.MorphismProperty.Localization.{u4, u3} C _inst_1 W) (CategoryTheory.MorphismProperty.instCategoryLocalization.{u4, u3} C _inst_1 W)) (CategoryTheory.Category.toCategoryStruct.{max u4 u3, max u4 u3} (CategoryTheory.Functor.{u3, max u4 u3, u4, u4} C _inst_1 (CategoryTheory.MorphismProperty.Localization.{u4, u3} C _inst_1 W) (CategoryTheory.MorphismProperty.instCategoryLocalization.{u4, u3} C _inst_1 W)) (CategoryTheory.Functor.category.{u3, max u4 u3, u4, u4} C _inst_1 (CategoryTheory.MorphismProperty.Localization.{u4, u3} C _inst_1 W) (CategoryTheory.MorphismProperty.instCategoryLocalization.{u4, u3} C _inst_1 W))) (CategoryTheory.MorphismProperty.Q.{u4, u3} C _inst_1 W)) (CategoryTheory.Localization.Construction.natTransExtension.{u4, u3, u1, u2} C _inst_1 W D _inst_2 F G τ)) τ
-Case conversion may be inaccurate. Consider using '#align category_theory.localization.construction.nat_trans_extension_hcomp CategoryTheory.Localization.Construction.natTransExtension_hcompₓ'. -/
 @[simp]
 theorem natTransExtension_hcomp {F G : W.Localization ⥤ D} (τ : W.Q ⋙ F ⟶ W.Q ⋙ G) :
     𝟙 W.Q ◫ natTransExtension τ = τ := by
@@ -383,9 +335,6 @@ theorem natTransExtension_hcomp {F G : W.Localization ⥤ D} (τ : W.Q ⋙ F ⟶
     nat_trans_extension.app_eq]
 #align category_theory.localization.construction.nat_trans_extension_hcomp CategoryTheory.Localization.Construction.natTransExtension_hcomp
 
-/- warning: category_theory.localization.construction.nat_trans_hcomp_injective -> CategoryTheory.Localization.Construction.natTrans_hcomp_injective is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align category_theory.localization.construction.nat_trans_hcomp_injective CategoryTheory.Localization.Construction.natTrans_hcomp_injectiveₓ'. -/
 theorem natTrans_hcomp_injective {F G : W.Localization ⥤ D} {τ₁ τ₂ : F ⟶ G}
     (h : 𝟙 W.Q ◫ τ₁ = 𝟙 W.Q ◫ τ₂) : τ₁ = τ₂ := by
   ext X
@@ -469,12 +418,6 @@ def counitIso : inverse W D ⋙ functor W D ≅ 𝟭 (W.FunctorsInverting D) :=
 
 end WhiskeringLeftEquivalence
 
-/- warning: category_theory.localization.construction.whiskering_left_equivalence -> CategoryTheory.Localization.Construction.whiskeringLeftEquivalence is a dubious translation:
-lean 3 declaration is
-  forall {C : Type.{u1}} [_inst_1 : CategoryTheory.Category.{u2, u1} C] (W : CategoryTheory.MorphismProperty.{u2, u1} C _inst_1) (D : Type.{u3}) [_inst_2 : CategoryTheory.Category.{u4, u3} D], CategoryTheory.Equivalence.{max u1 u4, max u1 u4, max (max u1 u2) u4 u1 u3, max u2 u4 u1 u3} (CategoryTheory.Functor.{max u1 u2, u4, u1, u3} (CategoryTheory.MorphismProperty.Localization.{u1, u2} C _inst_1 W) (CategoryTheory.MorphismProperty.Localization.category.{u1, u2} C _inst_1 W) D _inst_2) (CategoryTheory.Functor.category.{max u1 u2, u4, u1, u3} (CategoryTheory.MorphismProperty.Localization.{u1, u2} C _inst_1 W) (CategoryTheory.MorphismProperty.Localization.category.{u1, u2} C _inst_1 W) D _inst_2) (CategoryTheory.MorphismProperty.FunctorsInverting.{u2, u1, u3, u4} C _inst_1 W D _inst_2) (CategoryTheory.MorphismProperty.FunctorsInverting.category.{u2, u3, u1, u4} C _inst_1 W D _inst_2)
-but is expected to have type
-  forall {C : Type.{u1}} [_inst_1 : CategoryTheory.Category.{u2, u1} C] (W : CategoryTheory.MorphismProperty.{u2, u1} C _inst_1) (D : Type.{u3}) [_inst_2 : CategoryTheory.Category.{u4, u3} D], CategoryTheory.Equivalence.{max u1 u4, max u1 u4, max (max (max u3 u1) u4) u1 u2, max (max (max u1 u2) u4) u3} (CategoryTheory.Functor.{max u1 u2, u4, u1, u3} (CategoryTheory.MorphismProperty.Localization.{u1, u2} C _inst_1 W) (CategoryTheory.MorphismProperty.instCategoryLocalization.{u1, u2} C _inst_1 W) D _inst_2) (CategoryTheory.MorphismProperty.FunctorsInverting.{u2, u1, u3, u4} C _inst_1 W D _inst_2) (CategoryTheory.Functor.category.{max u1 u2, u4, u1, u3} (CategoryTheory.MorphismProperty.Localization.{u1, u2} C _inst_1 W) (CategoryTheory.MorphismProperty.instCategoryLocalization.{u1, u2} C _inst_1 W) D _inst_2) (CategoryTheory.MorphismProperty.instCategoryFunctorsInverting.{u2, u1, u3, u4} C _inst_1 W D _inst_2)
-Case conversion may be inaccurate. Consider using '#align category_theory.localization.construction.whiskering_left_equivalence CategoryTheory.Localization.Construction.whiskeringLeftEquivalenceₓ'. -/
 /-- The equivalence of categories `(W.localization ⥤ D) ≌ (W.functors_inverting D)`
 induced by the composition with `W.Q : C ⥤ W.localization`. -/
 def whiskeringLeftEquivalence : W.Localization ⥤ D ≌ W.FunctorsInverting D
Diff
@@ -256,9 +256,7 @@ def objEquiv : C ≃ W.Localization where
   toFun := W.Q.obj
   invFun X := X.as.obj
   left_inv X := rfl
-  right_inv := by
-    rintro ⟨⟨X⟩⟩
-    rfl
+  right_inv := by rintro ⟨⟨X⟩⟩; rfl
 #align category_theory.localization.construction.obj_equiv CategoryTheory.Localization.Construction.objEquiv
 -/
 
@@ -279,8 +277,7 @@ theorem morphismProperty_is_top (P : MorphismProperty W.Localization)
   constructor
   · intro hf
     simp only [Pi.top_apply]
-  · intro hf
-    clear hf
+  · intro hf; clear hf
     let G : _ ⥤ W.localization := quotient.functor _
     suffices
       ∀ (X₁ X₂ : C)
Diff
@@ -265,10 +265,7 @@ def objEquiv : C ≃ W.Localization where
 variable {W}
 
 /- warning: category_theory.localization.construction.morphism_property_is_top -> CategoryTheory.Localization.Construction.morphismProperty_is_top is a dubious translation:
-lean 3 declaration is
-  forall {C : Type.{u1}} [_inst_1 : CategoryTheory.Category.{u2, u1} C] {W : CategoryTheory.MorphismProperty.{u2, u1} C _inst_1} (P : CategoryTheory.MorphismProperty.{max u1 u2, u1} (CategoryTheory.MorphismProperty.Localization.{u1, u2} C _inst_1 W) (CategoryTheory.MorphismProperty.Localization.category.{u1, u2} C _inst_1 W)), (forall {{X : C}} {{Y : C}} (f : Quiver.Hom.{succ u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1)) X Y), P (CategoryTheory.Functor.obj.{u2, max u1 u2, u1, u1} C _inst_1 (CategoryTheory.MorphismProperty.Localization.{u1, u2} C _inst_1 W) (CategoryTheory.MorphismProperty.Localization.category.{u1, u2} C _inst_1 W) (CategoryTheory.MorphismProperty.Q.{u1, u2} C _inst_1 W) X) (CategoryTheory.Functor.obj.{u2, max u1 u2, u1, u1} C _inst_1 (CategoryTheory.MorphismProperty.Localization.{u1, u2} C _inst_1 W) (CategoryTheory.MorphismProperty.Localization.category.{u1, u2} C _inst_1 W) (CategoryTheory.MorphismProperty.Q.{u1, u2} C _inst_1 W) Y) (CategoryTheory.Functor.map.{u2, max u1 u2, u1, u1} C _inst_1 (CategoryTheory.MorphismProperty.Localization.{u1, u2} C _inst_1 W) (CategoryTheory.MorphismProperty.Localization.category.{u1, u2} C _inst_1 W) (CategoryTheory.MorphismProperty.Q.{u1, u2} C _inst_1 W) X Y f)) -> (forall {{X : C}} {{Y : C}} (w : Quiver.Hom.{succ u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1)) X Y) (hw : W X Y w), P (CategoryTheory.Functor.obj.{u2, max u1 u2, u1, u1} C _inst_1 (CategoryTheory.MorphismProperty.Localization.{u1, u2} C _inst_1 (fun {X : C} {Y : C} (w : Quiver.Hom.{succ u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1)) X Y) => W X Y w)) (CategoryTheory.MorphismProperty.Localization.category.{u1, u2} C _inst_1 (fun {X : C} {Y : C} (w : Quiver.Hom.{succ u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1)) X Y) => W X Y w)) (CategoryTheory.MorphismProperty.Q.{u1, u2} C _inst_1 (fun {X : C} {Y : C} (w : Quiver.Hom.{succ u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1)) X Y) => W X Y w)) Y) (CategoryTheory.Functor.obj.{u2, max u1 u2, u1, u1} C _inst_1 (CategoryTheory.MorphismProperty.Localization.{u1, u2} C _inst_1 (fun {X : C} {Y : C} (w : Quiver.Hom.{succ u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1)) X Y) => W X Y w)) (CategoryTheory.MorphismProperty.Localization.category.{u1, u2} C _inst_1 (fun {X : C} {Y : C} (w : Quiver.Hom.{succ u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1)) X Y) => W X Y w)) (CategoryTheory.MorphismProperty.Q.{u1, u2} C _inst_1 (fun {X : C} {Y : C} (w : Quiver.Hom.{succ u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1)) X Y) => W X Y w)) X) (CategoryTheory.Localization.Construction.winv.{u1, u2} C _inst_1 (fun (X : C) (Y : C) (w : Quiver.Hom.{succ u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1)) X Y) => W X Y w) X Y w hw)) -> (CategoryTheory.MorphismProperty.StableUnderComposition.{max u1 u2, u1} (CategoryTheory.MorphismProperty.Localization.{u1, u2} C _inst_1 W) (CategoryTheory.MorphismProperty.Localization.category.{u1, u2} C _inst_1 W) P) -> (Eq.{max (succ u1) (succ (max u1 u2))} (CategoryTheory.MorphismProperty.{max u1 u2, u1} (CategoryTheory.MorphismProperty.Localization.{u1, u2} C _inst_1 W) (CategoryTheory.MorphismProperty.Localization.category.{u1, u2} C _inst_1 W)) P (Top.top.{max u1 u2} (CategoryTheory.MorphismProperty.{max u1 u2, u1} (CategoryTheory.MorphismProperty.Localization.{u1, u2} C _inst_1 W) (CategoryTheory.MorphismProperty.Localization.category.{u1, u2} C _inst_1 W)) (CompleteLattice.toHasTop.{max u1 u2} (CategoryTheory.MorphismProperty.{max u1 u2, u1} (CategoryTheory.MorphismProperty.Localization.{u1, u2} C _inst_1 W) (CategoryTheory.MorphismProperty.Localization.category.{u1, u2} C _inst_1 W)) (CategoryTheory.MorphismProperty.completeLattice.{max u1 u2, u1} (CategoryTheory.MorphismProperty.Localization.{u1, u2} C _inst_1 W) (CategoryTheory.MorphismProperty.Localization.category.{u1, u2} C _inst_1 W)))))
-but is expected to have type
-  forall {C : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} C] {W : CategoryTheory.MorphismProperty.{u1, u2} C _inst_1} (P : CategoryTheory.MorphismProperty.{max u2 u1, u2} (CategoryTheory.MorphismProperty.Localization.{u2, u1} C _inst_1 W) (CategoryTheory.MorphismProperty.instCategoryLocalization.{u2, u1} C _inst_1 W)), (forall {{X : C}} {{Y : C}} (f : Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) X Y), P (Prefunctor.obj.{succ u1, max (succ u2) (succ u1), u2, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.MorphismProperty.Localization.{u2, u1} C _inst_1 W) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, u2} (CategoryTheory.MorphismProperty.Localization.{u2, u1} C _inst_1 W) (CategoryTheory.Category.toCategoryStruct.{max u2 u1, u2} (CategoryTheory.MorphismProperty.Localization.{u2, u1} C _inst_1 W) (CategoryTheory.MorphismProperty.instCategoryLocalization.{u2, u1} C _inst_1 W))) (CategoryTheory.Functor.toPrefunctor.{u1, max u2 u1, u2, u2} C _inst_1 (CategoryTheory.MorphismProperty.Localization.{u2, u1} C _inst_1 W) (CategoryTheory.MorphismProperty.instCategoryLocalization.{u2, u1} C _inst_1 W) (CategoryTheory.MorphismProperty.Q.{u2, u1} C _inst_1 W)) X) (Prefunctor.obj.{succ u1, max (succ u2) (succ u1), u2, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.MorphismProperty.Localization.{u2, u1} C _inst_1 W) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, u2} (CategoryTheory.MorphismProperty.Localization.{u2, u1} C _inst_1 W) (CategoryTheory.Category.toCategoryStruct.{max u2 u1, u2} (CategoryTheory.MorphismProperty.Localization.{u2, u1} C _inst_1 W) (CategoryTheory.MorphismProperty.instCategoryLocalization.{u2, u1} C _inst_1 W))) (CategoryTheory.Functor.toPrefunctor.{u1, max u2 u1, u2, u2} C _inst_1 (CategoryTheory.MorphismProperty.Localization.{u2, u1} C _inst_1 W) (CategoryTheory.MorphismProperty.instCategoryLocalization.{u2, u1} C _inst_1 W) (CategoryTheory.MorphismProperty.Q.{u2, u1} C _inst_1 W)) Y) (Prefunctor.map.{succ u1, max (succ u2) (succ u1), u2, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.MorphismProperty.Localization.{u2, u1} C _inst_1 W) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, u2} (CategoryTheory.MorphismProperty.Localization.{u2, u1} C _inst_1 W) (CategoryTheory.Category.toCategoryStruct.{max u2 u1, u2} (CategoryTheory.MorphismProperty.Localization.{u2, u1} C _inst_1 W) (CategoryTheory.MorphismProperty.instCategoryLocalization.{u2, u1} C _inst_1 W))) (CategoryTheory.Functor.toPrefunctor.{u1, max u2 u1, u2, u2} C _inst_1 (CategoryTheory.MorphismProperty.Localization.{u2, u1} C _inst_1 W) (CategoryTheory.MorphismProperty.instCategoryLocalization.{u2, u1} C _inst_1 W) (CategoryTheory.MorphismProperty.Q.{u2, u1} C _inst_1 W)) X Y f)) -> (forall {{X : C}} {{Y : C}} (w : Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) X Y) (hw : W X Y w), P (Prefunctor.obj.{succ u1, max (succ u2) (succ u1), u2, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.MorphismProperty.Localization.{u2, u1} C _inst_1 W) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, u2} (CategoryTheory.MorphismProperty.Localization.{u2, u1} C _inst_1 W) (CategoryTheory.Category.toCategoryStruct.{max u2 u1, u2} (CategoryTheory.MorphismProperty.Localization.{u2, u1} C _inst_1 W) (CategoryTheory.MorphismProperty.instCategoryLocalization.{u2, u1} C _inst_1 W))) (CategoryTheory.Functor.toPrefunctor.{u1, max u2 u1, u2, u2} C _inst_1 (CategoryTheory.MorphismProperty.Localization.{u2, u1} C _inst_1 W) (CategoryTheory.MorphismProperty.instCategoryLocalization.{u2, u1} C _inst_1 W) (CategoryTheory.MorphismProperty.Q.{u2, u1} C _inst_1 W)) Y) (Prefunctor.obj.{succ u1, max (succ u2) (succ u1), u2, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.MorphismProperty.Localization.{u2, u1} C _inst_1 W) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, u2} (CategoryTheory.MorphismProperty.Localization.{u2, u1} C _inst_1 W) (CategoryTheory.Category.toCategoryStruct.{max u2 u1, u2} (CategoryTheory.MorphismProperty.Localization.{u2, u1} C _inst_1 W) (CategoryTheory.MorphismProperty.instCategoryLocalization.{u2, u1} C _inst_1 W))) (CategoryTheory.Functor.toPrefunctor.{u1, max u2 u1, u2, u2} C _inst_1 (CategoryTheory.MorphismProperty.Localization.{u2, u1} C _inst_1 W) (CategoryTheory.MorphismProperty.instCategoryLocalization.{u2, u1} C _inst_1 W) (CategoryTheory.MorphismProperty.Q.{u2, u1} C _inst_1 W)) X) (CategoryTheory.Localization.Construction.winv.{u2, u1} C _inst_1 W X Y w hw)) -> (CategoryTheory.MorphismProperty.StableUnderComposition.{max u2 u1, u2} (CategoryTheory.MorphismProperty.Localization.{u2, u1} C _inst_1 W) (CategoryTheory.MorphismProperty.instCategoryLocalization.{u2, u1} C _inst_1 W) P) -> (Eq.{max (succ u2) (succ u1)} (CategoryTheory.MorphismProperty.{max u2 u1, u2} (CategoryTheory.MorphismProperty.Localization.{u2, u1} C _inst_1 W) (CategoryTheory.MorphismProperty.instCategoryLocalization.{u2, u1} C _inst_1 W)) P (Top.top.{max u2 u1} (CategoryTheory.MorphismProperty.{max u2 u1, u2} (CategoryTheory.MorphismProperty.Localization.{u2, u1} C _inst_1 W) (CategoryTheory.MorphismProperty.instCategoryLocalization.{u2, u1} C _inst_1 W)) (CompleteLattice.toTop.{max u2 u1} (CategoryTheory.MorphismProperty.{max u2 u1, u2} (CategoryTheory.MorphismProperty.Localization.{u2, u1} C _inst_1 W) (CategoryTheory.MorphismProperty.instCategoryLocalization.{u2, u1} C _inst_1 W)) (CategoryTheory.instCompleteLatticeMorphismProperty.{max u2 u1, u2} (CategoryTheory.MorphismProperty.Localization.{u2, u1} C _inst_1 W) (CategoryTheory.MorphismProperty.instCategoryLocalization.{u2, u1} C _inst_1 W)))))
+<too large>
 Case conversion may be inaccurate. Consider using '#align category_theory.localization.construction.morphism_property_is_top CategoryTheory.Localization.Construction.morphismProperty_is_topₓ'. -/
 /-- A `morphism_property` in `W.localization` is satisfied by all
 morphisms in the localized category if it contains the image of the
@@ -344,10 +341,7 @@ def app (X : W.Localization) : F₁.obj X ⟶ F₂.obj X :=
 #align category_theory.localization.construction.nat_trans_extension.app CategoryTheory.Localization.Construction.NatTransExtension.app
 
 /- warning: category_theory.localization.construction.nat_trans_extension.app_eq -> CategoryTheory.Localization.Construction.NatTransExtension.app_eq is a dubious translation:
-lean 3 declaration is
-  forall {C : Type.{u1}} [_inst_1 : CategoryTheory.Category.{u2, u1} C] {W : CategoryTheory.MorphismProperty.{u2, u1} C _inst_1} {D : Type.{u3}} [_inst_2 : CategoryTheory.Category.{u4, u3} D] {F₁ : CategoryTheory.Functor.{max u1 u2, u4, u1, u3} (CategoryTheory.MorphismProperty.Localization.{u1, u2} C _inst_1 W) (CategoryTheory.MorphismProperty.Localization.category.{u1, u2} C _inst_1 W) D _inst_2} {F₂ : CategoryTheory.Functor.{max u1 u2, u4, u1, u3} (CategoryTheory.MorphismProperty.Localization.{u1, u2} C _inst_1 W) (CategoryTheory.MorphismProperty.Localization.category.{u1, u2} C _inst_1 W) D _inst_2} (τ : Quiver.Hom.{succ (max u1 u4), max u2 u4 u1 u3} (CategoryTheory.Functor.{u2, u4, u1, u3} C _inst_1 D _inst_2) (CategoryTheory.CategoryStruct.toQuiver.{max u1 u4, max u2 u4 u1 u3} (CategoryTheory.Functor.{u2, u4, u1, u3} C _inst_1 D _inst_2) (CategoryTheory.Category.toCategoryStruct.{max u1 u4, max u2 u4 u1 u3} (CategoryTheory.Functor.{u2, u4, u1, u3} C _inst_1 D _inst_2) (CategoryTheory.Functor.category.{u2, u4, u1, u3} C _inst_1 D _inst_2))) (CategoryTheory.Functor.comp.{u2, max u1 u2, u4, u1, u1, u3} C _inst_1 (CategoryTheory.MorphismProperty.Localization.{u1, u2} C _inst_1 W) (CategoryTheory.MorphismProperty.Localization.category.{u1, u2} C _inst_1 W) D _inst_2 (CategoryTheory.MorphismProperty.Q.{u1, u2} C _inst_1 W) F₁) (CategoryTheory.Functor.comp.{u2, max u1 u2, u4, u1, u1, u3} C _inst_1 (CategoryTheory.MorphismProperty.Localization.{u1, u2} C _inst_1 W) (CategoryTheory.MorphismProperty.Localization.category.{u1, u2} C _inst_1 W) D _inst_2 (CategoryTheory.MorphismProperty.Q.{u1, u2} C _inst_1 W) F₂)) (X : C), Eq.{succ u4} (Quiver.Hom.{succ u4, u3} D (CategoryTheory.CategoryStruct.toQuiver.{u4, u3} D (CategoryTheory.Category.toCategoryStruct.{u4, u3} D _inst_2)) (CategoryTheory.Functor.obj.{max u1 u2, u4, u1, u3} (CategoryTheory.MorphismProperty.Localization.{u1, u2} C _inst_1 W) (CategoryTheory.MorphismProperty.Localization.category.{u1, u2} C _inst_1 W) D _inst_2 F₁ (CategoryTheory.Functor.obj.{u2, max u1 u2, u1, u1} C _inst_1 (CategoryTheory.MorphismProperty.Localization.{u1, u2} C _inst_1 W) (CategoryTheory.MorphismProperty.Localization.category.{u1, u2} C _inst_1 W) (CategoryTheory.MorphismProperty.Q.{u1, u2} C _inst_1 W) X)) (CategoryTheory.Functor.obj.{max u1 u2, u4, u1, u3} (CategoryTheory.MorphismProperty.Localization.{u1, u2} C _inst_1 W) (CategoryTheory.MorphismProperty.Localization.category.{u1, u2} C _inst_1 W) D _inst_2 F₂ (CategoryTheory.Functor.obj.{u2, max u1 u2, u1, u1} C _inst_1 (CategoryTheory.MorphismProperty.Localization.{u1, u2} C _inst_1 W) (CategoryTheory.MorphismProperty.Localization.category.{u1, u2} C _inst_1 W) (CategoryTheory.MorphismProperty.Q.{u1, u2} C _inst_1 W) X))) (CategoryTheory.Localization.Construction.NatTransExtension.app.{u1, u2, u3, u4} C _inst_1 W D _inst_2 F₁ F₂ τ (CategoryTheory.Functor.obj.{u2, max u1 u2, u1, u1} C _inst_1 (CategoryTheory.MorphismProperty.Localization.{u1, u2} C _inst_1 W) (CategoryTheory.MorphismProperty.Localization.category.{u1, u2} C _inst_1 W) (CategoryTheory.MorphismProperty.Q.{u1, u2} C _inst_1 W) X)) (CategoryTheory.NatTrans.app.{u2, u4, u1, u3} C _inst_1 D _inst_2 (CategoryTheory.Functor.comp.{u2, max u1 u2, u4, u1, u1, u3} C _inst_1 (CategoryTheory.MorphismProperty.Localization.{u1, u2} C _inst_1 W) (CategoryTheory.MorphismProperty.Localization.category.{u1, u2} C _inst_1 W) D _inst_2 (CategoryTheory.MorphismProperty.Q.{u1, u2} C _inst_1 W) F₁) (CategoryTheory.Functor.comp.{u2, max u1 u2, u4, u1, u1, u3} C _inst_1 (CategoryTheory.MorphismProperty.Localization.{u1, u2} C _inst_1 W) (CategoryTheory.MorphismProperty.Localization.category.{u1, u2} C _inst_1 W) D _inst_2 (CategoryTheory.MorphismProperty.Q.{u1, u2} C _inst_1 W) F₂) τ X)
-but is expected to have type
-  forall {C : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} C] {W : CategoryTheory.MorphismProperty.{u1, u2} C _inst_1} {D : Type.{u3}} [_inst_2 : CategoryTheory.Category.{u4, u3} D] {F₁ : CategoryTheory.Functor.{max u2 u1, u4, u2, u3} (CategoryTheory.MorphismProperty.Localization.{u2, u1} C _inst_1 W) (CategoryTheory.MorphismProperty.instCategoryLocalization.{u2, u1} C _inst_1 W) D _inst_2} {F₂ : CategoryTheory.Functor.{max u2 u1, u4, u2, u3} (CategoryTheory.MorphismProperty.Localization.{u2, u1} C _inst_1 W) (CategoryTheory.MorphismProperty.instCategoryLocalization.{u2, u1} C _inst_1 W) D _inst_2} (τ : Quiver.Hom.{max (succ u2) (succ u4), max (max (max u3 u2) u4) u1} (CategoryTheory.Functor.{u1, u4, u2, u3} C _inst_1 D _inst_2) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u4, max (max (max u2 u1) u3) u4} (CategoryTheory.Functor.{u1, u4, u2, u3} C _inst_1 D _inst_2) (CategoryTheory.Category.toCategoryStruct.{max u2 u4, max (max (max u2 u1) u3) u4} (CategoryTheory.Functor.{u1, u4, u2, u3} C _inst_1 D _inst_2) (CategoryTheory.Functor.category.{u1, u4, u2, u3} C _inst_1 D _inst_2))) (CategoryTheory.Functor.comp.{u1, max u2 u1, u4, u2, u2, u3} C _inst_1 (CategoryTheory.MorphismProperty.Localization.{u2, u1} C _inst_1 W) (CategoryTheory.MorphismProperty.instCategoryLocalization.{u2, u1} C _inst_1 W) D _inst_2 (CategoryTheory.MorphismProperty.Q.{u2, u1} C _inst_1 W) F₁) (CategoryTheory.Functor.comp.{u1, max u2 u1, u4, u2, u2, u3} C _inst_1 (CategoryTheory.MorphismProperty.Localization.{u2, u1} C _inst_1 W) (CategoryTheory.MorphismProperty.instCategoryLocalization.{u2, u1} C _inst_1 W) D _inst_2 (CategoryTheory.MorphismProperty.Q.{u2, u1} C _inst_1 W) F₂)) (X : C), Eq.{succ u4} (Quiver.Hom.{succ u4, u3} D (CategoryTheory.CategoryStruct.toQuiver.{u4, u3} D (CategoryTheory.Category.toCategoryStruct.{u4, u3} D _inst_2)) (Prefunctor.obj.{max (succ u2) (succ u1), succ u4, u2, u3} (CategoryTheory.MorphismProperty.Localization.{u2, u1} C _inst_1 W) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, u2} (CategoryTheory.MorphismProperty.Localization.{u2, u1} C _inst_1 W) (CategoryTheory.Category.toCategoryStruct.{max u2 u1, u2} (CategoryTheory.MorphismProperty.Localization.{u2, u1} C _inst_1 W) (CategoryTheory.MorphismProperty.instCategoryLocalization.{u2, u1} C _inst_1 W))) D (CategoryTheory.CategoryStruct.toQuiver.{u4, u3} D (CategoryTheory.Category.toCategoryStruct.{u4, u3} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{max u2 u1, u4, u2, u3} (CategoryTheory.MorphismProperty.Localization.{u2, u1} C _inst_1 W) (CategoryTheory.MorphismProperty.instCategoryLocalization.{u2, u1} C _inst_1 W) D _inst_2 F₁) (Prefunctor.obj.{succ u1, max (succ u2) (succ u1), u2, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.MorphismProperty.Localization.{u2, u1} C _inst_1 W) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, u2} (CategoryTheory.MorphismProperty.Localization.{u2, u1} C _inst_1 W) (CategoryTheory.Category.toCategoryStruct.{max u2 u1, u2} (CategoryTheory.MorphismProperty.Localization.{u2, u1} C _inst_1 W) (CategoryTheory.MorphismProperty.instCategoryLocalization.{u2, u1} C _inst_1 W))) (CategoryTheory.Functor.toPrefunctor.{u1, max u2 u1, u2, u2} C _inst_1 (CategoryTheory.MorphismProperty.Localization.{u2, u1} C _inst_1 W) (CategoryTheory.MorphismProperty.instCategoryLocalization.{u2, u1} C _inst_1 W) (CategoryTheory.MorphismProperty.Q.{u2, u1} C _inst_1 W)) X)) (Prefunctor.obj.{max (succ u2) (succ u1), succ u4, u2, u3} (CategoryTheory.MorphismProperty.Localization.{u2, u1} C _inst_1 W) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, u2} (CategoryTheory.MorphismProperty.Localization.{u2, u1} C _inst_1 W) (CategoryTheory.Category.toCategoryStruct.{max u2 u1, u2} (CategoryTheory.MorphismProperty.Localization.{u2, u1} C _inst_1 W) (CategoryTheory.MorphismProperty.instCategoryLocalization.{u2, u1} C _inst_1 W))) D (CategoryTheory.CategoryStruct.toQuiver.{u4, u3} D (CategoryTheory.Category.toCategoryStruct.{u4, u3} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{max u2 u1, u4, u2, u3} (CategoryTheory.MorphismProperty.Localization.{u2, u1} C _inst_1 W) (CategoryTheory.MorphismProperty.instCategoryLocalization.{u2, u1} C _inst_1 W) D _inst_2 F₂) (Prefunctor.obj.{succ u1, max (succ u2) (succ u1), u2, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.MorphismProperty.Localization.{u2, u1} C _inst_1 W) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, u2} (CategoryTheory.MorphismProperty.Localization.{u2, u1} C _inst_1 W) (CategoryTheory.Category.toCategoryStruct.{max u2 u1, u2} (CategoryTheory.MorphismProperty.Localization.{u2, u1} C _inst_1 W) (CategoryTheory.MorphismProperty.instCategoryLocalization.{u2, u1} C _inst_1 W))) (CategoryTheory.Functor.toPrefunctor.{u1, max u2 u1, u2, u2} C _inst_1 (CategoryTheory.MorphismProperty.Localization.{u2, u1} C _inst_1 W) (CategoryTheory.MorphismProperty.instCategoryLocalization.{u2, u1} C _inst_1 W) (CategoryTheory.MorphismProperty.Q.{u2, u1} C _inst_1 W)) X))) (CategoryTheory.Localization.Construction.NatTransExtension.app.{u2, u1, u3, u4} C _inst_1 W D _inst_2 F₁ F₂ τ (Prefunctor.obj.{succ u1, max (succ u2) (succ u1), u2, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.MorphismProperty.Localization.{u2, u1} C _inst_1 W) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, u2} (CategoryTheory.MorphismProperty.Localization.{u2, u1} C _inst_1 W) (CategoryTheory.Category.toCategoryStruct.{max u2 u1, u2} (CategoryTheory.MorphismProperty.Localization.{u2, u1} C _inst_1 W) (CategoryTheory.MorphismProperty.instCategoryLocalization.{u2, u1} C _inst_1 W))) (CategoryTheory.Functor.toPrefunctor.{u1, max u2 u1, u2, u2} C _inst_1 (CategoryTheory.MorphismProperty.Localization.{u2, u1} C _inst_1 W) (CategoryTheory.MorphismProperty.instCategoryLocalization.{u2, u1} C _inst_1 W) (CategoryTheory.MorphismProperty.Q.{u2, u1} C _inst_1 W)) X)) (CategoryTheory.NatTrans.app.{u1, u4, u2, u3} C _inst_1 D _inst_2 (CategoryTheory.Functor.comp.{u1, max u2 u1, u4, u2, u2, u3} C _inst_1 (CategoryTheory.MorphismProperty.Localization.{u2, u1} C _inst_1 W) (CategoryTheory.MorphismProperty.instCategoryLocalization.{u2, u1} C _inst_1 W) D _inst_2 (CategoryTheory.MorphismProperty.Q.{u2, u1} C _inst_1 W) F₁) (CategoryTheory.Functor.comp.{u1, max u2 u1, u4, u2, u2, u3} C _inst_1 (CategoryTheory.MorphismProperty.Localization.{u2, u1} C _inst_1 W) (CategoryTheory.MorphismProperty.instCategoryLocalization.{u2, u1} C _inst_1 W) D _inst_2 (CategoryTheory.MorphismProperty.Q.{u2, u1} C _inst_1 W) F₂) τ X)
+<too large>
 Case conversion may be inaccurate. Consider using '#align category_theory.localization.construction.nat_trans_extension.app_eq CategoryTheory.Localization.Construction.NatTransExtension.app_eqₓ'. -/
 @[simp]
 theorem app_eq (X : C) : (app τ) (W.Q.obj X) = τ.app X := by
@@ -393,10 +387,7 @@ theorem natTransExtension_hcomp {F G : W.Localization ⥤ D} (τ : W.Q ⋙ F ⟶
 #align category_theory.localization.construction.nat_trans_extension_hcomp CategoryTheory.Localization.Construction.natTransExtension_hcomp
 
 /- warning: category_theory.localization.construction.nat_trans_hcomp_injective -> CategoryTheory.Localization.Construction.natTrans_hcomp_injective is a dubious translation:
-lean 3 declaration is
-  forall {C : Type.{u1}} [_inst_1 : CategoryTheory.Category.{u2, u1} C] {W : CategoryTheory.MorphismProperty.{u2, u1} C _inst_1} {D : Type.{u3}} [_inst_2 : CategoryTheory.Category.{u4, u3} D] {F : CategoryTheory.Functor.{max u1 u2, u4, u1, u3} (CategoryTheory.MorphismProperty.Localization.{u1, u2} C _inst_1 W) (CategoryTheory.MorphismProperty.Localization.category.{u1, u2} C _inst_1 W) D _inst_2} {G : CategoryTheory.Functor.{max u1 u2, u4, u1, u3} (CategoryTheory.MorphismProperty.Localization.{u1, u2} C _inst_1 W) (CategoryTheory.MorphismProperty.Localization.category.{u1, u2} C _inst_1 W) D _inst_2} {τ₁ : Quiver.Hom.{succ (max u1 u4), max (max u1 u2) u4 u1 u3} (CategoryTheory.Functor.{max u1 u2, u4, u1, u3} (CategoryTheory.MorphismProperty.Localization.{u1, u2} C _inst_1 W) (CategoryTheory.MorphismProperty.Localization.category.{u1, u2} C _inst_1 W) D _inst_2) (CategoryTheory.CategoryStruct.toQuiver.{max u1 u4, max (max u1 u2) u4 u1 u3} (CategoryTheory.Functor.{max u1 u2, u4, u1, u3} (CategoryTheory.MorphismProperty.Localization.{u1, u2} C _inst_1 W) (CategoryTheory.MorphismProperty.Localization.category.{u1, u2} C _inst_1 W) D _inst_2) (CategoryTheory.Category.toCategoryStruct.{max u1 u4, max (max u1 u2) u4 u1 u3} (CategoryTheory.Functor.{max u1 u2, u4, u1, u3} (CategoryTheory.MorphismProperty.Localization.{u1, u2} C _inst_1 W) (CategoryTheory.MorphismProperty.Localization.category.{u1, u2} C _inst_1 W) D _inst_2) (CategoryTheory.Functor.category.{max u1 u2, u4, u1, u3} (CategoryTheory.MorphismProperty.Localization.{u1, u2} C _inst_1 W) (CategoryTheory.MorphismProperty.Localization.category.{u1, u2} C _inst_1 W) D _inst_2))) F G} {τ₂ : Quiver.Hom.{succ (max u1 u4), max (max u1 u2) u4 u1 u3} (CategoryTheory.Functor.{max u1 u2, u4, u1, u3} (CategoryTheory.MorphismProperty.Localization.{u1, u2} C _inst_1 W) (CategoryTheory.MorphismProperty.Localization.category.{u1, u2} C _inst_1 W) D _inst_2) (CategoryTheory.CategoryStruct.toQuiver.{max u1 u4, max (max u1 u2) u4 u1 u3} (CategoryTheory.Functor.{max u1 u2, u4, u1, u3} (CategoryTheory.MorphismProperty.Localization.{u1, u2} C _inst_1 W) (CategoryTheory.MorphismProperty.Localization.category.{u1, u2} C _inst_1 W) D _inst_2) (CategoryTheory.Category.toCategoryStruct.{max u1 u4, max (max u1 u2) u4 u1 u3} (CategoryTheory.Functor.{max u1 u2, u4, u1, u3} (CategoryTheory.MorphismProperty.Localization.{u1, u2} C _inst_1 W) (CategoryTheory.MorphismProperty.Localization.category.{u1, u2} C _inst_1 W) D _inst_2) (CategoryTheory.Functor.category.{max u1 u2, u4, u1, u3} (CategoryTheory.MorphismProperty.Localization.{u1, u2} C _inst_1 W) (CategoryTheory.MorphismProperty.Localization.category.{u1, u2} C _inst_1 W) D _inst_2))) F G}, (Eq.{succ (max u1 u4)} (Quiver.Hom.{succ (max u1 u4), max u2 u4 u1 u3} (CategoryTheory.Functor.{u2, u4, u1, u3} C _inst_1 D _inst_2) (CategoryTheory.CategoryStruct.toQuiver.{max u1 u4, max u2 u4 u1 u3} (CategoryTheory.Functor.{u2, u4, u1, u3} C _inst_1 D _inst_2) (CategoryTheory.Category.toCategoryStruct.{max u1 u4, max u2 u4 u1 u3} (CategoryTheory.Functor.{u2, u4, u1, u3} C _inst_1 D _inst_2) (CategoryTheory.Functor.category.{u2, u4, u1, u3} C _inst_1 D _inst_2))) (CategoryTheory.Functor.comp.{u2, max u1 u2, u4, u1, u1, u3} C _inst_1 (CategoryTheory.MorphismProperty.Localization.{u1, u2} C _inst_1 W) (CategoryTheory.MorphismProperty.Localization.category.{u1, u2} C _inst_1 W) D _inst_2 (CategoryTheory.MorphismProperty.Q.{u1, u2} C _inst_1 W) F) (CategoryTheory.Functor.comp.{u2, max u1 u2, u4, u1, u1, u3} C _inst_1 (CategoryTheory.MorphismProperty.Localization.{u1, u2} C _inst_1 W) (CategoryTheory.MorphismProperty.Localization.category.{u1, u2} C _inst_1 W) D _inst_2 (CategoryTheory.MorphismProperty.Q.{u1, u2} C _inst_1 W) G)) (CategoryTheory.NatTrans.hcomp.{u2, max u1 u2, u4, u1, u1, u3} C _inst_1 (CategoryTheory.MorphismProperty.Localization.{u1, u2} C _inst_1 W) (CategoryTheory.MorphismProperty.Localization.category.{u1, u2} C _inst_1 W) D _inst_2 (CategoryTheory.MorphismProperty.Q.{u1, u2} C _inst_1 W) (CategoryTheory.MorphismProperty.Q.{u1, u2} C _inst_1 W) F G (CategoryTheory.CategoryStruct.id.{max u1 u2, max u1 u2} (CategoryTheory.Functor.{u2, max u1 u2, u1, u1} C _inst_1 (CategoryTheory.MorphismProperty.Localization.{u1, u2} C _inst_1 W) (CategoryTheory.MorphismProperty.Localization.category.{u1, u2} C _inst_1 W)) (CategoryTheory.Category.toCategoryStruct.{max u1 u2, max u1 u2} (CategoryTheory.Functor.{u2, max u1 u2, u1, u1} C _inst_1 (CategoryTheory.MorphismProperty.Localization.{u1, u2} C _inst_1 W) (CategoryTheory.MorphismProperty.Localization.category.{u1, u2} C _inst_1 W)) (CategoryTheory.Functor.category.{u2, max u1 u2, u1, u1} C _inst_1 (CategoryTheory.MorphismProperty.Localization.{u1, u2} C _inst_1 W) (CategoryTheory.MorphismProperty.Localization.category.{u1, u2} C _inst_1 W))) (CategoryTheory.MorphismProperty.Q.{u1, u2} C _inst_1 W)) τ₁) (CategoryTheory.NatTrans.hcomp.{u2, max u1 u2, u4, u1, u1, u3} C _inst_1 (CategoryTheory.MorphismProperty.Localization.{u1, u2} C _inst_1 W) (CategoryTheory.MorphismProperty.Localization.category.{u1, u2} C _inst_1 W) D _inst_2 (CategoryTheory.MorphismProperty.Q.{u1, u2} C _inst_1 W) (CategoryTheory.MorphismProperty.Q.{u1, u2} C _inst_1 W) F G (CategoryTheory.CategoryStruct.id.{max u1 u2, max u1 u2} (CategoryTheory.Functor.{u2, max u1 u2, u1, u1} C _inst_1 (CategoryTheory.MorphismProperty.Localization.{u1, u2} C _inst_1 W) (CategoryTheory.MorphismProperty.Localization.category.{u1, u2} C _inst_1 W)) (CategoryTheory.Category.toCategoryStruct.{max u1 u2, max u1 u2} (CategoryTheory.Functor.{u2, max u1 u2, u1, u1} C _inst_1 (CategoryTheory.MorphismProperty.Localization.{u1, u2} C _inst_1 W) (CategoryTheory.MorphismProperty.Localization.category.{u1, u2} C _inst_1 W)) (CategoryTheory.Functor.category.{u2, max u1 u2, u1, u1} C _inst_1 (CategoryTheory.MorphismProperty.Localization.{u1, u2} C _inst_1 W) (CategoryTheory.MorphismProperty.Localization.category.{u1, u2} C _inst_1 W))) (CategoryTheory.MorphismProperty.Q.{u1, u2} C _inst_1 W)) τ₂)) -> (Eq.{succ (max u1 u4)} (Quiver.Hom.{succ (max u1 u4), max (max u1 u2) u4 u1 u3} (CategoryTheory.Functor.{max u1 u2, u4, u1, u3} (CategoryTheory.MorphismProperty.Localization.{u1, u2} C _inst_1 W) (CategoryTheory.MorphismProperty.Localization.category.{u1, u2} C _inst_1 W) D _inst_2) (CategoryTheory.CategoryStruct.toQuiver.{max u1 u4, max (max u1 u2) u4 u1 u3} (CategoryTheory.Functor.{max u1 u2, u4, u1, u3} (CategoryTheory.MorphismProperty.Localization.{u1, u2} C _inst_1 W) (CategoryTheory.MorphismProperty.Localization.category.{u1, u2} C _inst_1 W) D _inst_2) (CategoryTheory.Category.toCategoryStruct.{max u1 u4, max (max u1 u2) u4 u1 u3} (CategoryTheory.Functor.{max u1 u2, u4, u1, u3} (CategoryTheory.MorphismProperty.Localization.{u1, u2} C _inst_1 W) (CategoryTheory.MorphismProperty.Localization.category.{u1, u2} C _inst_1 W) D _inst_2) (CategoryTheory.Functor.category.{max u1 u2, u4, u1, u3} (CategoryTheory.MorphismProperty.Localization.{u1, u2} C _inst_1 W) (CategoryTheory.MorphismProperty.Localization.category.{u1, u2} C _inst_1 W) D _inst_2))) F G) τ₁ τ₂)
-but is expected to have type
-  forall {C : Type.{u4}} [_inst_1 : CategoryTheory.Category.{u3, u4} C] {W : CategoryTheory.MorphismProperty.{u3, u4} C _inst_1} {D : Type.{u1}} [_inst_2 : CategoryTheory.Category.{u2, u1} D] {F : CategoryTheory.Functor.{max u4 u3, u2, u4, u1} (CategoryTheory.MorphismProperty.Localization.{u4, u3} C _inst_1 W) (CategoryTheory.MorphismProperty.instCategoryLocalization.{u4, u3} C _inst_1 W) D _inst_2} {G : CategoryTheory.Functor.{max u4 u3, u2, u4, u1} (CategoryTheory.MorphismProperty.Localization.{u4, u3} C _inst_1 W) (CategoryTheory.MorphismProperty.instCategoryLocalization.{u4, u3} C _inst_1 W) D _inst_2} {τ₁ : Quiver.Hom.{max (succ u4) (succ u2), max (max (max u4 u3) u1) u2} (CategoryTheory.Functor.{max u4 u3, u2, u4, u1} (CategoryTheory.MorphismProperty.Localization.{u4, u3} C _inst_1 W) (CategoryTheory.MorphismProperty.instCategoryLocalization.{u4, u3} C _inst_1 W) D _inst_2) (CategoryTheory.CategoryStruct.toQuiver.{max u4 u2, max (max (max u4 u3) u1) u2} (CategoryTheory.Functor.{max u4 u3, u2, u4, u1} (CategoryTheory.MorphismProperty.Localization.{u4, u3} C _inst_1 W) (CategoryTheory.MorphismProperty.instCategoryLocalization.{u4, u3} C _inst_1 W) D _inst_2) (CategoryTheory.Category.toCategoryStruct.{max u4 u2, max (max (max u4 u3) u1) u2} (CategoryTheory.Functor.{max u4 u3, u2, u4, u1} (CategoryTheory.MorphismProperty.Localization.{u4, u3} C _inst_1 W) (CategoryTheory.MorphismProperty.instCategoryLocalization.{u4, u3} C _inst_1 W) D _inst_2) (CategoryTheory.Functor.category.{max u4 u3, u2, u4, u1} (CategoryTheory.MorphismProperty.Localization.{u4, u3} C _inst_1 W) (CategoryTheory.MorphismProperty.instCategoryLocalization.{u4, u3} C _inst_1 W) D _inst_2))) F G} {τ₂ : Quiver.Hom.{max (succ u4) (succ u2), max (max (max u4 u3) u1) u2} (CategoryTheory.Functor.{max u4 u3, u2, u4, u1} (CategoryTheory.MorphismProperty.Localization.{u4, u3} C _inst_1 W) (CategoryTheory.MorphismProperty.instCategoryLocalization.{u4, u3} C _inst_1 W) D _inst_2) (CategoryTheory.CategoryStruct.toQuiver.{max u4 u2, max (max (max u4 u3) u1) u2} (CategoryTheory.Functor.{max u4 u3, u2, u4, u1} (CategoryTheory.MorphismProperty.Localization.{u4, u3} C _inst_1 W) (CategoryTheory.MorphismProperty.instCategoryLocalization.{u4, u3} C _inst_1 W) D _inst_2) (CategoryTheory.Category.toCategoryStruct.{max u4 u2, max (max (max u4 u3) u1) u2} (CategoryTheory.Functor.{max u4 u3, u2, u4, u1} (CategoryTheory.MorphismProperty.Localization.{u4, u3} C _inst_1 W) (CategoryTheory.MorphismProperty.instCategoryLocalization.{u4, u3} C _inst_1 W) D _inst_2) (CategoryTheory.Functor.category.{max u4 u3, u2, u4, u1} (CategoryTheory.MorphismProperty.Localization.{u4, u3} C _inst_1 W) (CategoryTheory.MorphismProperty.instCategoryLocalization.{u4, u3} C _inst_1 W) D _inst_2))) F G}, (Eq.{max (succ u4) (succ u2)} (Quiver.Hom.{max (succ u4) (succ u2), max (max (max u1 u4) u2) u3} (CategoryTheory.Functor.{u3, u2, u4, u1} C _inst_1 D _inst_2) (CategoryTheory.CategoryStruct.toQuiver.{max u4 u2, max (max (max u4 u1) u3) u2} (CategoryTheory.Functor.{u3, u2, u4, u1} C _inst_1 D _inst_2) (CategoryTheory.Category.toCategoryStruct.{max u4 u2, max (max (max u4 u1) u3) u2} (CategoryTheory.Functor.{u3, u2, u4, u1} C _inst_1 D _inst_2) (CategoryTheory.Functor.category.{u3, u2, u4, u1} C _inst_1 D _inst_2))) (CategoryTheory.Functor.comp.{u3, max u4 u3, u2, u4, u4, u1} C _inst_1 (CategoryTheory.MorphismProperty.Localization.{u4, u3} C _inst_1 W) (CategoryTheory.MorphismProperty.instCategoryLocalization.{u4, u3} C _inst_1 W) D _inst_2 (CategoryTheory.MorphismProperty.Q.{u4, u3} C _inst_1 W) F) (CategoryTheory.Functor.comp.{u3, max u4 u3, u2, u4, u4, u1} C _inst_1 (CategoryTheory.MorphismProperty.Localization.{u4, u3} C _inst_1 W) (CategoryTheory.MorphismProperty.instCategoryLocalization.{u4, u3} C _inst_1 W) D _inst_2 (CategoryTheory.MorphismProperty.Q.{u4, u3} C _inst_1 W) G)) (CategoryTheory.NatTrans.hcomp.{u3, max u4 u3, u2, u4, u4, u1} C _inst_1 (CategoryTheory.MorphismProperty.Localization.{u4, u3} C _inst_1 W) (CategoryTheory.MorphismProperty.instCategoryLocalization.{u4, u3} C _inst_1 W) D _inst_2 (CategoryTheory.MorphismProperty.Q.{u4, u3} C _inst_1 W) (CategoryTheory.MorphismProperty.Q.{u4, u3} C _inst_1 W) F G (CategoryTheory.CategoryStruct.id.{max u4 u3, max u4 u3} (CategoryTheory.Functor.{u3, max u4 u3, u4, u4} C _inst_1 (CategoryTheory.MorphismProperty.Localization.{u4, u3} C _inst_1 W) (CategoryTheory.MorphismProperty.instCategoryLocalization.{u4, u3} C _inst_1 W)) (CategoryTheory.Category.toCategoryStruct.{max u4 u3, max u4 u3} (CategoryTheory.Functor.{u3, max u4 u3, u4, u4} C _inst_1 (CategoryTheory.MorphismProperty.Localization.{u4, u3} C _inst_1 W) (CategoryTheory.MorphismProperty.instCategoryLocalization.{u4, u3} C _inst_1 W)) (CategoryTheory.Functor.category.{u3, max u4 u3, u4, u4} C _inst_1 (CategoryTheory.MorphismProperty.Localization.{u4, u3} C _inst_1 W) (CategoryTheory.MorphismProperty.instCategoryLocalization.{u4, u3} C _inst_1 W))) (CategoryTheory.MorphismProperty.Q.{u4, u3} C _inst_1 W)) τ₁) (CategoryTheory.NatTrans.hcomp.{u3, max u4 u3, u2, u4, u4, u1} C _inst_1 (CategoryTheory.MorphismProperty.Localization.{u4, u3} C _inst_1 W) (CategoryTheory.MorphismProperty.instCategoryLocalization.{u4, u3} C _inst_1 W) D _inst_2 (CategoryTheory.MorphismProperty.Q.{u4, u3} C _inst_1 W) (CategoryTheory.MorphismProperty.Q.{u4, u3} C _inst_1 W) F G (CategoryTheory.CategoryStruct.id.{max u4 u3, max u4 u3} (CategoryTheory.Functor.{u3, max u4 u3, u4, u4} C _inst_1 (CategoryTheory.MorphismProperty.Localization.{u4, u3} C _inst_1 W) (CategoryTheory.MorphismProperty.instCategoryLocalization.{u4, u3} C _inst_1 W)) (CategoryTheory.Category.toCategoryStruct.{max u4 u3, max u4 u3} (CategoryTheory.Functor.{u3, max u4 u3, u4, u4} C _inst_1 (CategoryTheory.MorphismProperty.Localization.{u4, u3} C _inst_1 W) (CategoryTheory.MorphismProperty.instCategoryLocalization.{u4, u3} C _inst_1 W)) (CategoryTheory.Functor.category.{u3, max u4 u3, u4, u4} C _inst_1 (CategoryTheory.MorphismProperty.Localization.{u4, u3} C _inst_1 W) (CategoryTheory.MorphismProperty.instCategoryLocalization.{u4, u3} C _inst_1 W))) (CategoryTheory.MorphismProperty.Q.{u4, u3} C _inst_1 W)) τ₂)) -> (Eq.{max (succ u4) (succ u2)} (Quiver.Hom.{max (succ u4) (succ u2), max (max (max u4 u3) u1) u2} (CategoryTheory.Functor.{max u4 u3, u2, u4, u1} (CategoryTheory.MorphismProperty.Localization.{u4, u3} C _inst_1 W) (CategoryTheory.MorphismProperty.instCategoryLocalization.{u4, u3} C _inst_1 W) D _inst_2) (CategoryTheory.CategoryStruct.toQuiver.{max u4 u2, max (max (max u4 u3) u1) u2} (CategoryTheory.Functor.{max u4 u3, u2, u4, u1} (CategoryTheory.MorphismProperty.Localization.{u4, u3} C _inst_1 W) (CategoryTheory.MorphismProperty.instCategoryLocalization.{u4, u3} C _inst_1 W) D _inst_2) (CategoryTheory.Category.toCategoryStruct.{max u4 u2, max (max (max u4 u3) u1) u2} (CategoryTheory.Functor.{max u4 u3, u2, u4, u1} (CategoryTheory.MorphismProperty.Localization.{u4, u3} C _inst_1 W) (CategoryTheory.MorphismProperty.instCategoryLocalization.{u4, u3} C _inst_1 W) D _inst_2) (CategoryTheory.Functor.category.{max u4 u3, u2, u4, u1} (CategoryTheory.MorphismProperty.Localization.{u4, u3} C _inst_1 W) (CategoryTheory.MorphismProperty.instCategoryLocalization.{u4, u3} C _inst_1 W) D _inst_2))) F G) τ₁ τ₂)
+<too large>
 Case conversion may be inaccurate. Consider using '#align category_theory.localization.construction.nat_trans_hcomp_injective CategoryTheory.Localization.Construction.natTrans_hcomp_injectiveₓ'. -/
 theorem natTrans_hcomp_injective {F G : W.Localization ⥤ D} {τ₁ τ₂ : F ⟶ G}
     (h : 𝟙 W.Q ◫ τ₁ = 𝟙 W.Q ◫ τ₂) : τ₁ = τ₂ := by
Diff
@@ -4,7 +4,7 @@ Released under Apache 2.0 license as described in the file LICENSE.
 Authors: Joël Riou
 
 ! This file was ported from Lean 3 source module category_theory.localization.construction
-! leanprover-community/mathlib commit 1a5e56f2166e4e9d0964c71f4273b1d39227678d
+! leanprover-community/mathlib commit cb3ceec8485239a61ed51d944cb9a95b68c6bafc
 ! Please do not edit these lines, except to modify the commit id
 ! if you have ported upstream changes.
 -/
@@ -15,6 +15,9 @@ import Mathbin.CategoryTheory.Category.Quiv
 
 # Construction of the localized category
 
+> THIS FILE IS SYNCHRONIZED WITH MATHLIB4.
+> Any changes to this file require a corresponding PR to mathlib4.
+
 This file constructs the localized category, obtained by formally inverting
 a class of maps `W : morphism_property C` in a category `C`.
 
Diff
@@ -52,6 +52,7 @@ namespace Localization
 
 namespace Construction
 
+#print CategoryTheory.Localization.Construction.LocQuiver /-
 /-- If `W : morphism_property C`, `loc_quiver W` is a quiver with the same objects
 as `C`, and whose morphisms are those in `C` and placeholders for formal
 inverses of the morphisms in `W`. -/
@@ -59,27 +60,35 @@ inverses of the morphisms in `W`. -/
 structure LocQuiver (W : MorphismProperty C) where
   obj : C
 #align category_theory.localization.construction.loc_quiver CategoryTheory.Localization.Construction.LocQuiver
+-/
 
 instance : Quiver (LocQuiver W) where Hom A B := Sum (A.obj ⟶ B.obj) { f : B.obj ⟶ A.obj // W f }
 
+#print CategoryTheory.Localization.Construction.ιPaths /-
 /-- The object in the path category of `loc_quiver W` attached to an object in
 the category `C` -/
 def ιPaths (X : C) : Paths (LocQuiver W) :=
   ⟨X⟩
 #align category_theory.localization.construction.ι_paths CategoryTheory.Localization.Construction.ιPaths
+-/
 
+#print CategoryTheory.Localization.Construction.ψ₁ /-
 /-- The morphism in the path category associated to a morphism in the original category. -/
 @[simp]
 def ψ₁ {X Y : C} (f : X ⟶ Y) : ιPaths W X ⟶ ιPaths W Y :=
   Paths.of.map (Sum.inl f)
 #align category_theory.localization.construction.ψ₁ CategoryTheory.Localization.Construction.ψ₁
+-/
 
+#print CategoryTheory.Localization.Construction.ψ₂ /-
 /-- The morphism in the path category corresponding to a formal inverse. -/
 @[simp]
 def ψ₂ {X Y : C} (w : X ⟶ Y) (hw : W w) : ιPaths W Y ⟶ ιPaths W X :=
   Paths.of.map (Sum.inr ⟨w, hw⟩)
 #align category_theory.localization.construction.ψ₂ CategoryTheory.Localization.Construction.ψ₂
+-/
 
+#print CategoryTheory.Localization.Construction.relations /-
 /-- The relations by which we take the quotient in order to get the localized category. -/
 inductive relations : HomRel (Paths (LocQuiver W))
   | id (X : C) : relations (ψ₁ W (𝟙 X)) (𝟙 _)
@@ -87,6 +96,7 @@ inductive relations : HomRel (Paths (LocQuiver W))
   | Winv₁ {X Y : C} (w : X ⟶ Y) (hw : W w) : relations (ψ₁ W w ≫ ψ₂ W w hw) (𝟙 _)
   | Winv₂ {X Y : C} (w : X ⟶ Y) (hw : W w) : relations (ψ₂ W w hw ≫ ψ₁ W w) (𝟙 _)
 #align category_theory.localization.construction.relations CategoryTheory.Localization.Construction.relations
+-/
 
 end Construction
 
@@ -96,21 +106,25 @@ namespace MorphismProperty
 
 open Localization.Construction
 
+#print CategoryTheory.MorphismProperty.Localization /-
 /-- The localized category obtained by formally inverting the morphisms
 in `W : morphism_property C` -/
 @[nolint has_nonempty_instance]
 def Localization :=
   CategoryTheory.Quotient (Localization.Construction.relations W)deriving Category
 #align category_theory.morphism_property.localization CategoryTheory.MorphismProperty.Localization
+-/
 
+#print CategoryTheory.MorphismProperty.Q /-
 /-- The obvious functor `C ⥤ W.localization` -/
-def q : C ⥤ W.Localization
+def Q : C ⥤ W.Localization
     where
   obj X := (Quotient.functor _).obj (Paths.of.obj ⟨X⟩)
   map X Y f := (Quotient.functor _).map (ψ₁ W f)
   map_id' X := Quotient.sound _ (relations.id X)
   map_comp' X Z Y f g := Quotient.sound _ (relations.comp f g)
-#align category_theory.morphism_property.Q CategoryTheory.MorphismProperty.q
+#align category_theory.morphism_property.Q CategoryTheory.MorphismProperty.Q
+-/
 
 end MorphismProperty
 
@@ -120,30 +134,45 @@ namespace Construction
 
 variable {W}
 
+/- warning: category_theory.localization.construction.Wiso -> CategoryTheory.Localization.Construction.wIso is a dubious translation:
+lean 3 declaration is
+  forall {C : Type.{u1}} [_inst_1 : CategoryTheory.Category.{u2, u1} C] {W : CategoryTheory.MorphismProperty.{u2, u1} C _inst_1} {X : C} {Y : C} (w : Quiver.Hom.{succ u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1)) X Y), (W X Y w) -> (CategoryTheory.Iso.{max u1 u2, u1} (CategoryTheory.MorphismProperty.Localization.{u1, u2} C _inst_1 W) (CategoryTheory.MorphismProperty.Localization.category.{u1, u2} C _inst_1 W) (CategoryTheory.Functor.obj.{u2, max u1 u2, u1, u1} C _inst_1 (CategoryTheory.MorphismProperty.Localization.{u1, u2} C _inst_1 W) (CategoryTheory.MorphismProperty.Localization.category.{u1, u2} C _inst_1 W) (CategoryTheory.MorphismProperty.Q.{u1, u2} C _inst_1 W) X) (CategoryTheory.Functor.obj.{u2, max u1 u2, u1, u1} C _inst_1 (CategoryTheory.MorphismProperty.Localization.{u1, u2} C _inst_1 W) (CategoryTheory.MorphismProperty.Localization.category.{u1, u2} C _inst_1 W) (CategoryTheory.MorphismProperty.Q.{u1, u2} C _inst_1 W) Y))
+but is expected to have type
+  forall {C : Type.{u1}} [_inst_1 : CategoryTheory.Category.{u2, u1} C] {W : CategoryTheory.MorphismProperty.{u2, u1} C _inst_1} {X : C} {Y : C} (w : Quiver.Hom.{succ u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1)) X Y), (W X Y w) -> (CategoryTheory.Iso.{max u1 u2, u1} (CategoryTheory.MorphismProperty.Localization.{u1, u2} C _inst_1 W) (CategoryTheory.MorphismProperty.instCategoryLocalization.{u1, u2} C _inst_1 W) (Prefunctor.obj.{succ u2, max (succ u1) (succ u2), u1, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1)) (CategoryTheory.MorphismProperty.Localization.{u1, u2} C _inst_1 W) (CategoryTheory.CategoryStruct.toQuiver.{max u1 u2, u1} (CategoryTheory.MorphismProperty.Localization.{u1, u2} C _inst_1 W) (CategoryTheory.Category.toCategoryStruct.{max u1 u2, u1} (CategoryTheory.MorphismProperty.Localization.{u1, u2} C _inst_1 W) (CategoryTheory.MorphismProperty.instCategoryLocalization.{u1, u2} C _inst_1 W))) (CategoryTheory.Functor.toPrefunctor.{u2, max u1 u2, u1, u1} C _inst_1 (CategoryTheory.MorphismProperty.Localization.{u1, u2} C _inst_1 W) (CategoryTheory.MorphismProperty.instCategoryLocalization.{u1, u2} C _inst_1 W) (CategoryTheory.MorphismProperty.Q.{u1, u2} C _inst_1 W)) X) (Prefunctor.obj.{succ u2, max (succ u1) (succ u2), u1, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1)) (CategoryTheory.MorphismProperty.Localization.{u1, u2} C _inst_1 W) (CategoryTheory.CategoryStruct.toQuiver.{max u1 u2, u1} (CategoryTheory.MorphismProperty.Localization.{u1, u2} C _inst_1 W) (CategoryTheory.Category.toCategoryStruct.{max u1 u2, u1} (CategoryTheory.MorphismProperty.Localization.{u1, u2} C _inst_1 W) (CategoryTheory.MorphismProperty.instCategoryLocalization.{u1, u2} C _inst_1 W))) (CategoryTheory.Functor.toPrefunctor.{u2, max u1 u2, u1, u1} C _inst_1 (CategoryTheory.MorphismProperty.Localization.{u1, u2} C _inst_1 W) (CategoryTheory.MorphismProperty.instCategoryLocalization.{u1, u2} C _inst_1 W) (CategoryTheory.MorphismProperty.Q.{u1, u2} C _inst_1 W)) Y))
+Case conversion may be inaccurate. Consider using '#align category_theory.localization.construction.Wiso CategoryTheory.Localization.Construction.wIsoₓ'. -/
 /-- The isomorphism in `W.localization` associated to a morphism `w` in W -/
-def wiso {X Y : C} (w : X ⟶ Y) (hw : W w) : Iso (W.q.obj X) (W.q.obj Y)
+def wIso {X Y : C} (w : X ⟶ Y) (hw : W w) : Iso (W.Q.obj X) (W.Q.obj Y)
     where
-  Hom := W.q.map w
+  Hom := W.Q.map w
   inv := (Quotient.functor _).map (Paths.of.map (Sum.inr ⟨w, hw⟩))
   hom_inv_id' := Quotient.sound _ (relations.Winv₁ w hw)
   inv_hom_id' := Quotient.sound _ (relations.Winv₂ w hw)
-#align category_theory.localization.construction.Wiso CategoryTheory.Localization.Construction.wiso
-
+#align category_theory.localization.construction.Wiso CategoryTheory.Localization.Construction.wIso
+
+/- warning: category_theory.localization.construction.Winv -> CategoryTheory.Localization.Construction.winv is a dubious translation:
+lean 3 declaration is
+  forall {C : Type.{u1}} [_inst_1 : CategoryTheory.Category.{u2, u1} C] {W : CategoryTheory.MorphismProperty.{u2, u1} C _inst_1} {X : C} {Y : C} (w : Quiver.Hom.{succ u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1)) X Y), (W X Y w) -> (Quiver.Hom.{succ (max u1 u2), u1} (CategoryTheory.MorphismProperty.Localization.{u1, u2} C _inst_1 (fun {X : C} {Y : C} (w : Quiver.Hom.{succ u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1)) X Y) => W X Y w)) (CategoryTheory.CategoryStruct.toQuiver.{max u1 u2, u1} (CategoryTheory.MorphismProperty.Localization.{u1, u2} C _inst_1 (fun {X : C} {Y : C} (w : Quiver.Hom.{succ u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1)) X Y) => W X Y w)) (CategoryTheory.Category.toCategoryStruct.{max u1 u2, u1} (CategoryTheory.MorphismProperty.Localization.{u1, u2} C _inst_1 (fun {X : C} {Y : C} (w : Quiver.Hom.{succ u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1)) X Y) => W X Y w)) (CategoryTheory.MorphismProperty.Localization.category.{u1, u2} C _inst_1 (fun {X : C} {Y : C} (w : Quiver.Hom.{succ u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1)) X Y) => W X Y w)))) (CategoryTheory.Functor.obj.{u2, max u1 u2, u1, u1} C _inst_1 (CategoryTheory.MorphismProperty.Localization.{u1, u2} C _inst_1 (fun {X : C} {Y : C} (w : Quiver.Hom.{succ u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1)) X Y) => W X Y w)) (CategoryTheory.MorphismProperty.Localization.category.{u1, u2} C _inst_1 (fun {X : C} {Y : C} (w : Quiver.Hom.{succ u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1)) X Y) => W X Y w)) (CategoryTheory.MorphismProperty.Q.{u1, u2} C _inst_1 (fun {X : C} {Y : C} (w : Quiver.Hom.{succ u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1)) X Y) => W X Y w)) Y) (CategoryTheory.Functor.obj.{u2, max u1 u2, u1, u1} C _inst_1 (CategoryTheory.MorphismProperty.Localization.{u1, u2} C _inst_1 (fun {X : C} {Y : C} (w : Quiver.Hom.{succ u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1)) X Y) => W X Y w)) (CategoryTheory.MorphismProperty.Localization.category.{u1, u2} C _inst_1 (fun {X : C} {Y : C} (w : Quiver.Hom.{succ u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1)) X Y) => W X Y w)) (CategoryTheory.MorphismProperty.Q.{u1, u2} C _inst_1 (fun {X : C} {Y : C} (w : Quiver.Hom.{succ u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1)) X Y) => W X Y w)) X))
+but is expected to have type
+  forall {C : Type.{u1}} [_inst_1 : CategoryTheory.Category.{u2, u1} C] {W : CategoryTheory.MorphismProperty.{u2, u1} C _inst_1} {X : C} {Y : C} (w : Quiver.Hom.{succ u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1)) X Y), (W X Y w) -> (Quiver.Hom.{succ (max u1 u2), u1} (CategoryTheory.MorphismProperty.Localization.{u1, u2} C _inst_1 W) (CategoryTheory.CategoryStruct.toQuiver.{max u1 u2, u1} (CategoryTheory.MorphismProperty.Localization.{u1, u2} C _inst_1 W) (CategoryTheory.Category.toCategoryStruct.{max u1 u2, u1} (CategoryTheory.MorphismProperty.Localization.{u1, u2} C _inst_1 W) (CategoryTheory.MorphismProperty.instCategoryLocalization.{u1, u2} C _inst_1 W))) (Prefunctor.obj.{succ u2, max (succ u1) (succ u2), u1, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1)) (CategoryTheory.MorphismProperty.Localization.{u1, u2} C _inst_1 W) (CategoryTheory.CategoryStruct.toQuiver.{max u1 u2, u1} (CategoryTheory.MorphismProperty.Localization.{u1, u2} C _inst_1 W) (CategoryTheory.Category.toCategoryStruct.{max u1 u2, u1} (CategoryTheory.MorphismProperty.Localization.{u1, u2} C _inst_1 W) (CategoryTheory.MorphismProperty.instCategoryLocalization.{u1, u2} C _inst_1 W))) (CategoryTheory.Functor.toPrefunctor.{u2, max u1 u2, u1, u1} C _inst_1 (CategoryTheory.MorphismProperty.Localization.{u1, u2} C _inst_1 W) (CategoryTheory.MorphismProperty.instCategoryLocalization.{u1, u2} C _inst_1 W) (CategoryTheory.MorphismProperty.Q.{u1, u2} C _inst_1 W)) Y) (Prefunctor.obj.{succ u2, max (succ u1) (succ u2), u1, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1)) (CategoryTheory.MorphismProperty.Localization.{u1, u2} C _inst_1 W) (CategoryTheory.CategoryStruct.toQuiver.{max u1 u2, u1} (CategoryTheory.MorphismProperty.Localization.{u1, u2} C _inst_1 W) (CategoryTheory.Category.toCategoryStruct.{max u1 u2, u1} (CategoryTheory.MorphismProperty.Localization.{u1, u2} C _inst_1 W) (CategoryTheory.MorphismProperty.instCategoryLocalization.{u1, u2} C _inst_1 W))) (CategoryTheory.Functor.toPrefunctor.{u2, max u1 u2, u1, u1} C _inst_1 (CategoryTheory.MorphismProperty.Localization.{u1, u2} C _inst_1 W) (CategoryTheory.MorphismProperty.instCategoryLocalization.{u1, u2} C _inst_1 W) (CategoryTheory.MorphismProperty.Q.{u1, u2} C _inst_1 W)) X))
+Case conversion may be inaccurate. Consider using '#align category_theory.localization.construction.Winv CategoryTheory.Localization.Construction.winvₓ'. -/
 /-- The formal inverse in `W.localization` of a morphism `w` in `W`. -/
 abbrev winv {X Y : C} (w : X ⟶ Y) (hw : W w) :=
-  (wiso w hw).inv
+  (wIso w hw).inv
 #align category_theory.localization.construction.Winv CategoryTheory.Localization.Construction.winv
 
 variable (W)
 
-theorem CategoryTheory.MorphismProperty.q_inverts : W.IsInvertedBy W.q := fun X Y w hw =>
-  IsIso.of_iso (Localization.Construction.wiso w hw)
-#align category_theory.morphism_property.Q_inverts CategoryTheory.MorphismProperty.q_inverts
+#print CategoryTheory.MorphismProperty.Q_inverts /-
+theorem CategoryTheory.MorphismProperty.Q_inverts : W.IsInvertedBy W.Q := fun X Y w hw =>
+  IsIso.of_iso (Localization.Construction.wIso w hw)
+#align category_theory.morphism_property.Q_inverts CategoryTheory.MorphismProperty.Q_inverts
+-/
 
 variable {W} (G : C ⥤ D) (hG : W.IsInvertedBy G)
 
 include G hG
 
+#print CategoryTheory.Localization.Construction.liftToPathCategory /-
 /-- The lifting of a functor to the path category of `loc_quiver W` -/
 @[simps]
 def liftToPathCategory : Paths (LocQuiver W) ⥤ D :=
@@ -155,7 +184,9 @@ def liftToPathCategory : Paths (LocQuiver W) ⥤ D :=
         · haveI := hG g hg
           exact inv (G.map g) }
 #align category_theory.localization.construction.lift_to_path_category CategoryTheory.Localization.Construction.liftToPathCategory
+-/
 
+#print CategoryTheory.Localization.Construction.lift /-
 /-- The lifting of a functor `C ⥤ D` inverting `W` as a functor `W.localization ⥤ D` -/
 @[simps]
 def lift : W.Localization ⥤ D :=
@@ -165,9 +196,16 @@ def lift : W.Localization ⥤ D :=
       rcases r with ⟨⟩
       tidy)
 #align category_theory.localization.construction.lift CategoryTheory.Localization.Construction.lift
+-/
 
+/- warning: category_theory.localization.construction.fac -> CategoryTheory.Localization.Construction.fac is a dubious translation:
+lean 3 declaration is
+  forall {C : Type.{u1}} [_inst_1 : CategoryTheory.Category.{u2, u1} C] {W : CategoryTheory.MorphismProperty.{u2, u1} C _inst_1} {D : Type.{u3}} [_inst_2 : CategoryTheory.Category.{u4, u3} D] (G : CategoryTheory.Functor.{u2, u4, u1, u3} C _inst_1 D _inst_2) (hG : CategoryTheory.MorphismProperty.IsInvertedBy.{u2, u1, u3, u4} C _inst_1 D _inst_2 W G), Eq.{succ (max u2 u4 u1 u3)} (CategoryTheory.Functor.{u2, u4, u1, u3} C _inst_1 D _inst_2) (CategoryTheory.Functor.comp.{u2, max u1 u2, u4, u1, u1, u3} C _inst_1 (CategoryTheory.MorphismProperty.Localization.{u1, u2} C _inst_1 W) (CategoryTheory.MorphismProperty.Localization.category.{u1, u2} C _inst_1 W) D _inst_2 (CategoryTheory.MorphismProperty.Q.{u1, u2} C _inst_1 W) (CategoryTheory.Localization.Construction.lift.{u1, u2, u3, u4} C _inst_1 W D _inst_2 G hG)) G
+but is expected to have type
+  forall {C : Type.{u4}} [_inst_1 : CategoryTheory.Category.{u3, u4} C] {W : CategoryTheory.MorphismProperty.{u3, u4} C _inst_1} {D : Type.{u2}} [_inst_2 : CategoryTheory.Category.{u1, u2} D] (G : CategoryTheory.Functor.{u3, u1, u4, u2} C _inst_1 D _inst_2) (hG : CategoryTheory.MorphismProperty.IsInvertedBy.{u3, u4, u2, u1} C _inst_1 D _inst_2 W G), Eq.{max (max (max (succ u4) (succ u3)) (succ u2)) (succ u1)} (CategoryTheory.Functor.{u3, u1, u4, u2} C _inst_1 D _inst_2) (CategoryTheory.Functor.comp.{u3, max u4 u3, u1, u4, u4, u2} C _inst_1 (CategoryTheory.MorphismProperty.Localization.{u4, u3} C _inst_1 W) (CategoryTheory.MorphismProperty.instCategoryLocalization.{u4, u3} C _inst_1 W) D _inst_2 (CategoryTheory.MorphismProperty.Q.{u4, u3} C _inst_1 W) (CategoryTheory.Localization.Construction.lift.{u4, u3, u2, u1} C _inst_1 W D _inst_2 G hG)) G
+Case conversion may be inaccurate. Consider using '#align category_theory.localization.construction.fac CategoryTheory.Localization.Construction.facₓ'. -/
 @[simp]
-theorem fac : W.q ⋙ lift G hG = G :=
+theorem fac : W.Q ⋙ lift G hG = G :=
   Functor.ext (fun X => rfl)
     (by
       intro X Y f
@@ -178,7 +216,13 @@ theorem fac : W.q ⋙ lift G hG = G :=
 
 omit G hG
 
-theorem uniq (G₁ G₂ : W.Localization ⥤ D) (h : W.q ⋙ G₁ = W.q ⋙ G₂) : G₁ = G₂ :=
+/- warning: category_theory.localization.construction.uniq -> CategoryTheory.Localization.Construction.uniq is a dubious translation:
+lean 3 declaration is
+  forall {C : Type.{u1}} [_inst_1 : CategoryTheory.Category.{u2, u1} C] {W : CategoryTheory.MorphismProperty.{u2, u1} C _inst_1} {D : Type.{u3}} [_inst_2 : CategoryTheory.Category.{u4, u3} D] (G₁ : CategoryTheory.Functor.{max u1 u2, u4, u1, u3} (CategoryTheory.MorphismProperty.Localization.{u1, u2} C _inst_1 W) (CategoryTheory.MorphismProperty.Localization.category.{u1, u2} C _inst_1 W) D _inst_2) (G₂ : CategoryTheory.Functor.{max u1 u2, u4, u1, u3} (CategoryTheory.MorphismProperty.Localization.{u1, u2} C _inst_1 W) (CategoryTheory.MorphismProperty.Localization.category.{u1, u2} C _inst_1 W) D _inst_2), (Eq.{succ (max u2 u4 u1 u3)} (CategoryTheory.Functor.{u2, u4, u1, u3} C _inst_1 D _inst_2) (CategoryTheory.Functor.comp.{u2, max u1 u2, u4, u1, u1, u3} C _inst_1 (CategoryTheory.MorphismProperty.Localization.{u1, u2} C _inst_1 W) (CategoryTheory.MorphismProperty.Localization.category.{u1, u2} C _inst_1 W) D _inst_2 (CategoryTheory.MorphismProperty.Q.{u1, u2} C _inst_1 W) G₁) (CategoryTheory.Functor.comp.{u2, max u1 u2, u4, u1, u1, u3} C _inst_1 (CategoryTheory.MorphismProperty.Localization.{u1, u2} C _inst_1 W) (CategoryTheory.MorphismProperty.Localization.category.{u1, u2} C _inst_1 W) D _inst_2 (CategoryTheory.MorphismProperty.Q.{u1, u2} C _inst_1 W) G₂)) -> (Eq.{succ (max (max u1 u2) u4 u1 u3)} (CategoryTheory.Functor.{max u1 u2, u4, u1, u3} (CategoryTheory.MorphismProperty.Localization.{u1, u2} C _inst_1 W) (CategoryTheory.MorphismProperty.Localization.category.{u1, u2} C _inst_1 W) D _inst_2) G₁ G₂)
+but is expected to have type
+  forall {C : Type.{u4}} [_inst_1 : CategoryTheory.Category.{u3, u4} C] {W : CategoryTheory.MorphismProperty.{u3, u4} C _inst_1} {D : Type.{u1}} [_inst_2 : CategoryTheory.Category.{u2, u1} D] (G₁ : CategoryTheory.Functor.{max u4 u3, u2, u4, u1} (CategoryTheory.MorphismProperty.Localization.{u4, u3} C _inst_1 W) (CategoryTheory.MorphismProperty.instCategoryLocalization.{u4, u3} C _inst_1 W) D _inst_2) (G₂ : CategoryTheory.Functor.{max u4 u3, u2, u4, u1} (CategoryTheory.MorphismProperty.Localization.{u4, u3} C _inst_1 W) (CategoryTheory.MorphismProperty.instCategoryLocalization.{u4, u3} C _inst_1 W) D _inst_2), (Eq.{max (max (max (succ u4) (succ u3)) (succ u1)) (succ u2)} (CategoryTheory.Functor.{u3, u2, u4, u1} C _inst_1 D _inst_2) (CategoryTheory.Functor.comp.{u3, max u4 u3, u2, u4, u4, u1} C _inst_1 (CategoryTheory.MorphismProperty.Localization.{u4, u3} C _inst_1 W) (CategoryTheory.MorphismProperty.instCategoryLocalization.{u4, u3} C _inst_1 W) D _inst_2 (CategoryTheory.MorphismProperty.Q.{u4, u3} C _inst_1 W) G₁) (CategoryTheory.Functor.comp.{u3, max u4 u3, u2, u4, u4, u1} C _inst_1 (CategoryTheory.MorphismProperty.Localization.{u4, u3} C _inst_1 W) (CategoryTheory.MorphismProperty.instCategoryLocalization.{u4, u3} C _inst_1 W) D _inst_2 (CategoryTheory.MorphismProperty.Q.{u4, u3} C _inst_1 W) G₂)) -> (Eq.{max (max (max (succ u4) (succ u3)) (succ u1)) (succ u2)} (CategoryTheory.Functor.{max u4 u3, u2, u4, u1} (CategoryTheory.MorphismProperty.Localization.{u4, u3} C _inst_1 W) (CategoryTheory.MorphismProperty.instCategoryLocalization.{u4, u3} C _inst_1 W) D _inst_2) G₁ G₂)
+Case conversion may be inaccurate. Consider using '#align category_theory.localization.construction.uniq CategoryTheory.Localization.Construction.uniqₓ'. -/
+theorem uniq (G₁ G₂ : W.Localization ⥤ D) (h : W.Q ⋙ G₁ = W.Q ⋙ G₂) : G₁ = G₂ :=
   by
   suffices h' : quotient.functor _ ⋙ G₁ = quotient.functor _ ⋙ G₂
   · refine' Functor.ext _ _
@@ -201,26 +245,34 @@ theorem uniq (G₁ G₂ : W.Localization ⥤ D) (h : W.q ⋙ G₁ = W.q ⋙ G₂
 
 variable (W)
 
+#print CategoryTheory.Localization.Construction.objEquiv /-
 /-- The canonical bijection between objects in a category and its
 localization with respect to a morphism_property `W` -/
 @[simps]
 def objEquiv : C ≃ W.Localization where
-  toFun := W.q.obj
+  toFun := W.Q.obj
   invFun X := X.as.obj
   left_inv X := rfl
   right_inv := by
     rintro ⟨⟨X⟩⟩
     rfl
 #align category_theory.localization.construction.obj_equiv CategoryTheory.Localization.Construction.objEquiv
+-/
 
 variable {W}
 
+/- warning: category_theory.localization.construction.morphism_property_is_top -> CategoryTheory.Localization.Construction.morphismProperty_is_top is a dubious translation:
+lean 3 declaration is
+  forall {C : Type.{u1}} [_inst_1 : CategoryTheory.Category.{u2, u1} C] {W : CategoryTheory.MorphismProperty.{u2, u1} C _inst_1} (P : CategoryTheory.MorphismProperty.{max u1 u2, u1} (CategoryTheory.MorphismProperty.Localization.{u1, u2} C _inst_1 W) (CategoryTheory.MorphismProperty.Localization.category.{u1, u2} C _inst_1 W)), (forall {{X : C}} {{Y : C}} (f : Quiver.Hom.{succ u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1)) X Y), P (CategoryTheory.Functor.obj.{u2, max u1 u2, u1, u1} C _inst_1 (CategoryTheory.MorphismProperty.Localization.{u1, u2} C _inst_1 W) (CategoryTheory.MorphismProperty.Localization.category.{u1, u2} C _inst_1 W) (CategoryTheory.MorphismProperty.Q.{u1, u2} C _inst_1 W) X) (CategoryTheory.Functor.obj.{u2, max u1 u2, u1, u1} C _inst_1 (CategoryTheory.MorphismProperty.Localization.{u1, u2} C _inst_1 W) (CategoryTheory.MorphismProperty.Localization.category.{u1, u2} C _inst_1 W) (CategoryTheory.MorphismProperty.Q.{u1, u2} C _inst_1 W) Y) (CategoryTheory.Functor.map.{u2, max u1 u2, u1, u1} C _inst_1 (CategoryTheory.MorphismProperty.Localization.{u1, u2} C _inst_1 W) (CategoryTheory.MorphismProperty.Localization.category.{u1, u2} C _inst_1 W) (CategoryTheory.MorphismProperty.Q.{u1, u2} C _inst_1 W) X Y f)) -> (forall {{X : C}} {{Y : C}} (w : Quiver.Hom.{succ u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1)) X Y) (hw : W X Y w), P (CategoryTheory.Functor.obj.{u2, max u1 u2, u1, u1} C _inst_1 (CategoryTheory.MorphismProperty.Localization.{u1, u2} C _inst_1 (fun {X : C} {Y : C} (w : Quiver.Hom.{succ u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1)) X Y) => W X Y w)) (CategoryTheory.MorphismProperty.Localization.category.{u1, u2} C _inst_1 (fun {X : C} {Y : C} (w : Quiver.Hom.{succ u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1)) X Y) => W X Y w)) (CategoryTheory.MorphismProperty.Q.{u1, u2} C _inst_1 (fun {X : C} {Y : C} (w : Quiver.Hom.{succ u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1)) X Y) => W X Y w)) Y) (CategoryTheory.Functor.obj.{u2, max u1 u2, u1, u1} C _inst_1 (CategoryTheory.MorphismProperty.Localization.{u1, u2} C _inst_1 (fun {X : C} {Y : C} (w : Quiver.Hom.{succ u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1)) X Y) => W X Y w)) (CategoryTheory.MorphismProperty.Localization.category.{u1, u2} C _inst_1 (fun {X : C} {Y : C} (w : Quiver.Hom.{succ u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1)) X Y) => W X Y w)) (CategoryTheory.MorphismProperty.Q.{u1, u2} C _inst_1 (fun {X : C} {Y : C} (w : Quiver.Hom.{succ u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1)) X Y) => W X Y w)) X) (CategoryTheory.Localization.Construction.winv.{u1, u2} C _inst_1 (fun (X : C) (Y : C) (w : Quiver.Hom.{succ u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1)) X Y) => W X Y w) X Y w hw)) -> (CategoryTheory.MorphismProperty.StableUnderComposition.{max u1 u2, u1} (CategoryTheory.MorphismProperty.Localization.{u1, u2} C _inst_1 W) (CategoryTheory.MorphismProperty.Localization.category.{u1, u2} C _inst_1 W) P) -> (Eq.{max (succ u1) (succ (max u1 u2))} (CategoryTheory.MorphismProperty.{max u1 u2, u1} (CategoryTheory.MorphismProperty.Localization.{u1, u2} C _inst_1 W) (CategoryTheory.MorphismProperty.Localization.category.{u1, u2} C _inst_1 W)) P (Top.top.{max u1 u2} (CategoryTheory.MorphismProperty.{max u1 u2, u1} (CategoryTheory.MorphismProperty.Localization.{u1, u2} C _inst_1 W) (CategoryTheory.MorphismProperty.Localization.category.{u1, u2} C _inst_1 W)) (CompleteLattice.toHasTop.{max u1 u2} (CategoryTheory.MorphismProperty.{max u1 u2, u1} (CategoryTheory.MorphismProperty.Localization.{u1, u2} C _inst_1 W) (CategoryTheory.MorphismProperty.Localization.category.{u1, u2} C _inst_1 W)) (CategoryTheory.MorphismProperty.completeLattice.{max u1 u2, u1} (CategoryTheory.MorphismProperty.Localization.{u1, u2} C _inst_1 W) (CategoryTheory.MorphismProperty.Localization.category.{u1, u2} C _inst_1 W)))))
+but is expected to have type
+  forall {C : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} C] {W : CategoryTheory.MorphismProperty.{u1, u2} C _inst_1} (P : CategoryTheory.MorphismProperty.{max u2 u1, u2} (CategoryTheory.MorphismProperty.Localization.{u2, u1} C _inst_1 W) (CategoryTheory.MorphismProperty.instCategoryLocalization.{u2, u1} C _inst_1 W)), (forall {{X : C}} {{Y : C}} (f : Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) X Y), P (Prefunctor.obj.{succ u1, max (succ u2) (succ u1), u2, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.MorphismProperty.Localization.{u2, u1} C _inst_1 W) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, u2} (CategoryTheory.MorphismProperty.Localization.{u2, u1} C _inst_1 W) (CategoryTheory.Category.toCategoryStruct.{max u2 u1, u2} (CategoryTheory.MorphismProperty.Localization.{u2, u1} C _inst_1 W) (CategoryTheory.MorphismProperty.instCategoryLocalization.{u2, u1} C _inst_1 W))) (CategoryTheory.Functor.toPrefunctor.{u1, max u2 u1, u2, u2} C _inst_1 (CategoryTheory.MorphismProperty.Localization.{u2, u1} C _inst_1 W) (CategoryTheory.MorphismProperty.instCategoryLocalization.{u2, u1} C _inst_1 W) (CategoryTheory.MorphismProperty.Q.{u2, u1} C _inst_1 W)) X) (Prefunctor.obj.{succ u1, max (succ u2) (succ u1), u2, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.MorphismProperty.Localization.{u2, u1} C _inst_1 W) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, u2} (CategoryTheory.MorphismProperty.Localization.{u2, u1} C _inst_1 W) (CategoryTheory.Category.toCategoryStruct.{max u2 u1, u2} (CategoryTheory.MorphismProperty.Localization.{u2, u1} C _inst_1 W) (CategoryTheory.MorphismProperty.instCategoryLocalization.{u2, u1} C _inst_1 W))) (CategoryTheory.Functor.toPrefunctor.{u1, max u2 u1, u2, u2} C _inst_1 (CategoryTheory.MorphismProperty.Localization.{u2, u1} C _inst_1 W) (CategoryTheory.MorphismProperty.instCategoryLocalization.{u2, u1} C _inst_1 W) (CategoryTheory.MorphismProperty.Q.{u2, u1} C _inst_1 W)) Y) (Prefunctor.map.{succ u1, max (succ u2) (succ u1), u2, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.MorphismProperty.Localization.{u2, u1} C _inst_1 W) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, u2} (CategoryTheory.MorphismProperty.Localization.{u2, u1} C _inst_1 W) (CategoryTheory.Category.toCategoryStruct.{max u2 u1, u2} (CategoryTheory.MorphismProperty.Localization.{u2, u1} C _inst_1 W) (CategoryTheory.MorphismProperty.instCategoryLocalization.{u2, u1} C _inst_1 W))) (CategoryTheory.Functor.toPrefunctor.{u1, max u2 u1, u2, u2} C _inst_1 (CategoryTheory.MorphismProperty.Localization.{u2, u1} C _inst_1 W) (CategoryTheory.MorphismProperty.instCategoryLocalization.{u2, u1} C _inst_1 W) (CategoryTheory.MorphismProperty.Q.{u2, u1} C _inst_1 W)) X Y f)) -> (forall {{X : C}} {{Y : C}} (w : Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) X Y) (hw : W X Y w), P (Prefunctor.obj.{succ u1, max (succ u2) (succ u1), u2, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.MorphismProperty.Localization.{u2, u1} C _inst_1 W) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, u2} (CategoryTheory.MorphismProperty.Localization.{u2, u1} C _inst_1 W) (CategoryTheory.Category.toCategoryStruct.{max u2 u1, u2} (CategoryTheory.MorphismProperty.Localization.{u2, u1} C _inst_1 W) (CategoryTheory.MorphismProperty.instCategoryLocalization.{u2, u1} C _inst_1 W))) (CategoryTheory.Functor.toPrefunctor.{u1, max u2 u1, u2, u2} C _inst_1 (CategoryTheory.MorphismProperty.Localization.{u2, u1} C _inst_1 W) (CategoryTheory.MorphismProperty.instCategoryLocalization.{u2, u1} C _inst_1 W) (CategoryTheory.MorphismProperty.Q.{u2, u1} C _inst_1 W)) Y) (Prefunctor.obj.{succ u1, max (succ u2) (succ u1), u2, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.MorphismProperty.Localization.{u2, u1} C _inst_1 W) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, u2} (CategoryTheory.MorphismProperty.Localization.{u2, u1} C _inst_1 W) (CategoryTheory.Category.toCategoryStruct.{max u2 u1, u2} (CategoryTheory.MorphismProperty.Localization.{u2, u1} C _inst_1 W) (CategoryTheory.MorphismProperty.instCategoryLocalization.{u2, u1} C _inst_1 W))) (CategoryTheory.Functor.toPrefunctor.{u1, max u2 u1, u2, u2} C _inst_1 (CategoryTheory.MorphismProperty.Localization.{u2, u1} C _inst_1 W) (CategoryTheory.MorphismProperty.instCategoryLocalization.{u2, u1} C _inst_1 W) (CategoryTheory.MorphismProperty.Q.{u2, u1} C _inst_1 W)) X) (CategoryTheory.Localization.Construction.winv.{u2, u1} C _inst_1 W X Y w hw)) -> (CategoryTheory.MorphismProperty.StableUnderComposition.{max u2 u1, u2} (CategoryTheory.MorphismProperty.Localization.{u2, u1} C _inst_1 W) (CategoryTheory.MorphismProperty.instCategoryLocalization.{u2, u1} C _inst_1 W) P) -> (Eq.{max (succ u2) (succ u1)} (CategoryTheory.MorphismProperty.{max u2 u1, u2} (CategoryTheory.MorphismProperty.Localization.{u2, u1} C _inst_1 W) (CategoryTheory.MorphismProperty.instCategoryLocalization.{u2, u1} C _inst_1 W)) P (Top.top.{max u2 u1} (CategoryTheory.MorphismProperty.{max u2 u1, u2} (CategoryTheory.MorphismProperty.Localization.{u2, u1} C _inst_1 W) (CategoryTheory.MorphismProperty.instCategoryLocalization.{u2, u1} C _inst_1 W)) (CompleteLattice.toTop.{max u2 u1} (CategoryTheory.MorphismProperty.{max u2 u1, u2} (CategoryTheory.MorphismProperty.Localization.{u2, u1} C _inst_1 W) (CategoryTheory.MorphismProperty.instCategoryLocalization.{u2, u1} C _inst_1 W)) (CategoryTheory.instCompleteLatticeMorphismProperty.{max u2 u1, u2} (CategoryTheory.MorphismProperty.Localization.{u2, u1} C _inst_1 W) (CategoryTheory.MorphismProperty.instCategoryLocalization.{u2, u1} C _inst_1 W)))))
+Case conversion may be inaccurate. Consider using '#align category_theory.localization.construction.morphism_property_is_top CategoryTheory.Localization.Construction.morphismProperty_is_topₓ'. -/
 /-- A `morphism_property` in `W.localization` is satisfied by all
 morphisms in the localized category if it contains the image of the
 morphisms in the original category, the inverses of the morphisms
 in `W` and if it is stable under composition -/
 theorem morphismProperty_is_top (P : MorphismProperty W.Localization)
-    (hP₁ : ∀ ⦃X Y : C⦄ (f : X ⟶ Y), P (W.q.map f))
+    (hP₁ : ∀ ⦃X Y : C⦄ (f : X ⟶ Y), P (W.Q.map f))
     (hP₂ : ∀ ⦃X Y : C⦄ (w : X ⟶ Y) (hw : W w), P (winv w hw)) (hP₃ : P.StableUnderComposition) :
     P = ⊤ := by
   ext (X Y f)
@@ -251,12 +303,18 @@ theorem morphismProperty_is_top (P : MorphismProperty W.Localization)
       · apply hP₂
 #align category_theory.localization.construction.morphism_property_is_top CategoryTheory.Localization.Construction.morphismProperty_is_top
 
+/- warning: category_theory.localization.construction.morphism_property_is_top' -> CategoryTheory.Localization.Construction.morphismProperty_is_top' is a dubious translation:
+lean 3 declaration is
+  forall {C : Type.{u1}} [_inst_1 : CategoryTheory.Category.{u2, u1} C] {W : CategoryTheory.MorphismProperty.{u2, u1} C _inst_1} (P : CategoryTheory.MorphismProperty.{max u1 u2, u1} (CategoryTheory.MorphismProperty.Localization.{u1, u2} C _inst_1 W) (CategoryTheory.MorphismProperty.Localization.category.{u1, u2} C _inst_1 W)), (forall {{X : C}} {{Y : C}} (f : Quiver.Hom.{succ u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1)) X Y), P (CategoryTheory.Functor.obj.{u2, max u1 u2, u1, u1} C _inst_1 (CategoryTheory.MorphismProperty.Localization.{u1, u2} C _inst_1 W) (CategoryTheory.MorphismProperty.Localization.category.{u1, u2} C _inst_1 W) (CategoryTheory.MorphismProperty.Q.{u1, u2} C _inst_1 W) X) (CategoryTheory.Functor.obj.{u2, max u1 u2, u1, u1} C _inst_1 (CategoryTheory.MorphismProperty.Localization.{u1, u2} C _inst_1 W) (CategoryTheory.MorphismProperty.Localization.category.{u1, u2} C _inst_1 W) (CategoryTheory.MorphismProperty.Q.{u1, u2} C _inst_1 W) Y) (CategoryTheory.Functor.map.{u2, max u1 u2, u1, u1} C _inst_1 (CategoryTheory.MorphismProperty.Localization.{u1, u2} C _inst_1 W) (CategoryTheory.MorphismProperty.Localization.category.{u1, u2} C _inst_1 W) (CategoryTheory.MorphismProperty.Q.{u1, u2} C _inst_1 W) X Y f)) -> (forall {{X : CategoryTheory.MorphismProperty.Localization.{u1, u2} C _inst_1 W}} {{Y : CategoryTheory.MorphismProperty.Localization.{u1, u2} C _inst_1 W}} (e : CategoryTheory.Iso.{max u1 u2, u1} (CategoryTheory.MorphismProperty.Localization.{u1, u2} C _inst_1 W) (CategoryTheory.MorphismProperty.Localization.category.{u1, u2} C _inst_1 W) X Y), (P X Y (CategoryTheory.Iso.hom.{max u1 u2, u1} (CategoryTheory.MorphismProperty.Localization.{u1, u2} C _inst_1 W) (CategoryTheory.MorphismProperty.Localization.category.{u1, u2} C _inst_1 W) X Y e)) -> (P Y X (CategoryTheory.Iso.inv.{max u1 u2, u1} (CategoryTheory.MorphismProperty.Localization.{u1, u2} C _inst_1 W) (CategoryTheory.MorphismProperty.Localization.category.{u1, u2} C _inst_1 W) X Y e))) -> (CategoryTheory.MorphismProperty.StableUnderComposition.{max u1 u2, u1} (CategoryTheory.MorphismProperty.Localization.{u1, u2} C _inst_1 W) (CategoryTheory.MorphismProperty.Localization.category.{u1, u2} C _inst_1 W) P) -> (Eq.{max (succ u1) (succ (max u1 u2))} (CategoryTheory.MorphismProperty.{max u1 u2, u1} (CategoryTheory.MorphismProperty.Localization.{u1, u2} C _inst_1 W) (CategoryTheory.MorphismProperty.Localization.category.{u1, u2} C _inst_1 W)) P (Top.top.{max u1 u2} (CategoryTheory.MorphismProperty.{max u1 u2, u1} (CategoryTheory.MorphismProperty.Localization.{u1, u2} C _inst_1 W) (CategoryTheory.MorphismProperty.Localization.category.{u1, u2} C _inst_1 W)) (CompleteLattice.toHasTop.{max u1 u2} (CategoryTheory.MorphismProperty.{max u1 u2, u1} (CategoryTheory.MorphismProperty.Localization.{u1, u2} C _inst_1 W) (CategoryTheory.MorphismProperty.Localization.category.{u1, u2} C _inst_1 W)) (CategoryTheory.MorphismProperty.completeLattice.{max u1 u2, u1} (CategoryTheory.MorphismProperty.Localization.{u1, u2} C _inst_1 W) (CategoryTheory.MorphismProperty.Localization.category.{u1, u2} C _inst_1 W)))))
+but is expected to have type
+  forall {C : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} C] {W : CategoryTheory.MorphismProperty.{u1, u2} C _inst_1} (P : CategoryTheory.MorphismProperty.{max u2 u1, u2} (CategoryTheory.MorphismProperty.Localization.{u2, u1} C _inst_1 W) (CategoryTheory.MorphismProperty.instCategoryLocalization.{u2, u1} C _inst_1 W)), (forall {{X : C}} {{Y : C}} (f : Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) X Y), P (Prefunctor.obj.{succ u1, max (succ u2) (succ u1), u2, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.MorphismProperty.Localization.{u2, u1} C _inst_1 W) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, u2} (CategoryTheory.MorphismProperty.Localization.{u2, u1} C _inst_1 W) (CategoryTheory.Category.toCategoryStruct.{max u2 u1, u2} (CategoryTheory.MorphismProperty.Localization.{u2, u1} C _inst_1 W) (CategoryTheory.MorphismProperty.instCategoryLocalization.{u2, u1} C _inst_1 W))) (CategoryTheory.Functor.toPrefunctor.{u1, max u2 u1, u2, u2} C _inst_1 (CategoryTheory.MorphismProperty.Localization.{u2, u1} C _inst_1 W) (CategoryTheory.MorphismProperty.instCategoryLocalization.{u2, u1} C _inst_1 W) (CategoryTheory.MorphismProperty.Q.{u2, u1} C _inst_1 W)) X) (Prefunctor.obj.{succ u1, max (succ u2) (succ u1), u2, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.MorphismProperty.Localization.{u2, u1} C _inst_1 W) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, u2} (CategoryTheory.MorphismProperty.Localization.{u2, u1} C _inst_1 W) (CategoryTheory.Category.toCategoryStruct.{max u2 u1, u2} (CategoryTheory.MorphismProperty.Localization.{u2, u1} C _inst_1 W) (CategoryTheory.MorphismProperty.instCategoryLocalization.{u2, u1} C _inst_1 W))) (CategoryTheory.Functor.toPrefunctor.{u1, max u2 u1, u2, u2} C _inst_1 (CategoryTheory.MorphismProperty.Localization.{u2, u1} C _inst_1 W) (CategoryTheory.MorphismProperty.instCategoryLocalization.{u2, u1} C _inst_1 W) (CategoryTheory.MorphismProperty.Q.{u2, u1} C _inst_1 W)) Y) (Prefunctor.map.{succ u1, max (succ u2) (succ u1), u2, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.MorphismProperty.Localization.{u2, u1} C _inst_1 W) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, u2} (CategoryTheory.MorphismProperty.Localization.{u2, u1} C _inst_1 W) (CategoryTheory.Category.toCategoryStruct.{max u2 u1, u2} (CategoryTheory.MorphismProperty.Localization.{u2, u1} C _inst_1 W) (CategoryTheory.MorphismProperty.instCategoryLocalization.{u2, u1} C _inst_1 W))) (CategoryTheory.Functor.toPrefunctor.{u1, max u2 u1, u2, u2} C _inst_1 (CategoryTheory.MorphismProperty.Localization.{u2, u1} C _inst_1 W) (CategoryTheory.MorphismProperty.instCategoryLocalization.{u2, u1} C _inst_1 W) (CategoryTheory.MorphismProperty.Q.{u2, u1} C _inst_1 W)) X Y f)) -> (forall {{X : CategoryTheory.MorphismProperty.Localization.{u2, u1} C _inst_1 W}} {{Y : CategoryTheory.MorphismProperty.Localization.{u2, u1} C _inst_1 W}} (e : CategoryTheory.Iso.{max u2 u1, u2} (CategoryTheory.MorphismProperty.Localization.{u2, u1} C _inst_1 W) (CategoryTheory.MorphismProperty.instCategoryLocalization.{u2, u1} C _inst_1 W) X Y), (P X Y (CategoryTheory.Iso.hom.{max u2 u1, u2} (CategoryTheory.MorphismProperty.Localization.{u2, u1} C _inst_1 W) (CategoryTheory.MorphismProperty.instCategoryLocalization.{u2, u1} C _inst_1 W) X Y e)) -> (P Y X (CategoryTheory.Iso.inv.{max u2 u1, u2} (CategoryTheory.MorphismProperty.Localization.{u2, u1} C _inst_1 W) (CategoryTheory.MorphismProperty.instCategoryLocalization.{u2, u1} C _inst_1 W) X Y e))) -> (CategoryTheory.MorphismProperty.StableUnderComposition.{max u2 u1, u2} (CategoryTheory.MorphismProperty.Localization.{u2, u1} C _inst_1 W) (CategoryTheory.MorphismProperty.instCategoryLocalization.{u2, u1} C _inst_1 W) P) -> (Eq.{max (succ u2) (succ u1)} (CategoryTheory.MorphismProperty.{max u2 u1, u2} (CategoryTheory.MorphismProperty.Localization.{u2, u1} C _inst_1 W) (CategoryTheory.MorphismProperty.instCategoryLocalization.{u2, u1} C _inst_1 W)) P (Top.top.{max u2 u1} (CategoryTheory.MorphismProperty.{max u2 u1, u2} (CategoryTheory.MorphismProperty.Localization.{u2, u1} C _inst_1 W) (CategoryTheory.MorphismProperty.instCategoryLocalization.{u2, u1} C _inst_1 W)) (CompleteLattice.toTop.{max u2 u1} (CategoryTheory.MorphismProperty.{max u2 u1, u2} (CategoryTheory.MorphismProperty.Localization.{u2, u1} C _inst_1 W) (CategoryTheory.MorphismProperty.instCategoryLocalization.{u2, u1} C _inst_1 W)) (CategoryTheory.instCompleteLatticeMorphismProperty.{max u2 u1, u2} (CategoryTheory.MorphismProperty.Localization.{u2, u1} C _inst_1 W) (CategoryTheory.MorphismProperty.instCategoryLocalization.{u2, u1} C _inst_1 W)))))
+Case conversion may be inaccurate. Consider using '#align category_theory.localization.construction.morphism_property_is_top' CategoryTheory.Localization.Construction.morphismProperty_is_top'ₓ'. -/
 /-- A `morphism_property` in `W.localization` is satisfied by all
 morphisms in the localized category if it contains the image of the
 morphisms in the original category, if is stable under composition
 and if the property is stable by passing to inverses. -/
 theorem morphismProperty_is_top' (P : MorphismProperty W.Localization)
-    (hP₁ : ∀ ⦃X Y : C⦄ (f : X ⟶ Y), P (W.q.map f))
+    (hP₁ : ∀ ⦃X Y : C⦄ (f : X ⟶ Y), P (W.Q.map f))
     (hP₂ : ∀ ⦃X Y : W.Localization⦄ (e : X ≅ Y) (he : P e.Hom), P e.inv)
     (hP₃ : P.StableUnderComposition) : P = ⊤ :=
   morphismProperty_is_top P hP₁ (fun X Y w hw => hP₂ _ (hP₁ w)) hP₃
@@ -264,10 +322,16 @@ theorem morphismProperty_is_top' (P : MorphismProperty W.Localization)
 
 namespace NatTransExtension
 
-variable {F₁ F₂ : W.Localization ⥤ D} (τ : W.q ⋙ F₁ ⟶ W.q ⋙ F₂)
+variable {F₁ F₂ : W.Localization ⥤ D} (τ : W.Q ⋙ F₁ ⟶ W.Q ⋙ F₂)
 
 include τ
 
+/- warning: category_theory.localization.construction.nat_trans_extension.app -> CategoryTheory.Localization.Construction.NatTransExtension.app is a dubious translation:
+lean 3 declaration is
+  forall {C : Type.{u1}} [_inst_1 : CategoryTheory.Category.{u2, u1} C] {W : CategoryTheory.MorphismProperty.{u2, u1} C _inst_1} {D : Type.{u3}} [_inst_2 : CategoryTheory.Category.{u4, u3} D] {F₁ : CategoryTheory.Functor.{max u1 u2, u4, u1, u3} (CategoryTheory.MorphismProperty.Localization.{u1, u2} C _inst_1 W) (CategoryTheory.MorphismProperty.Localization.category.{u1, u2} C _inst_1 W) D _inst_2} {F₂ : CategoryTheory.Functor.{max u1 u2, u4, u1, u3} (CategoryTheory.MorphismProperty.Localization.{u1, u2} C _inst_1 W) (CategoryTheory.MorphismProperty.Localization.category.{u1, u2} C _inst_1 W) D _inst_2}, (Quiver.Hom.{succ (max u1 u4), max u2 u4 u1 u3} (CategoryTheory.Functor.{u2, u4, u1, u3} C _inst_1 D _inst_2) (CategoryTheory.CategoryStruct.toQuiver.{max u1 u4, max u2 u4 u1 u3} (CategoryTheory.Functor.{u2, u4, u1, u3} C _inst_1 D _inst_2) (CategoryTheory.Category.toCategoryStruct.{max u1 u4, max u2 u4 u1 u3} (CategoryTheory.Functor.{u2, u4, u1, u3} C _inst_1 D _inst_2) (CategoryTheory.Functor.category.{u2, u4, u1, u3} C _inst_1 D _inst_2))) (CategoryTheory.Functor.comp.{u2, max u1 u2, u4, u1, u1, u3} C _inst_1 (CategoryTheory.MorphismProperty.Localization.{u1, u2} C _inst_1 W) (CategoryTheory.MorphismProperty.Localization.category.{u1, u2} C _inst_1 W) D _inst_2 (CategoryTheory.MorphismProperty.Q.{u1, u2} C _inst_1 W) F₁) (CategoryTheory.Functor.comp.{u2, max u1 u2, u4, u1, u1, u3} C _inst_1 (CategoryTheory.MorphismProperty.Localization.{u1, u2} C _inst_1 W) (CategoryTheory.MorphismProperty.Localization.category.{u1, u2} C _inst_1 W) D _inst_2 (CategoryTheory.MorphismProperty.Q.{u1, u2} C _inst_1 W) F₂)) -> (forall (X : CategoryTheory.MorphismProperty.Localization.{u1, u2} C _inst_1 W), Quiver.Hom.{succ u4, u3} D (CategoryTheory.CategoryStruct.toQuiver.{u4, u3} D (CategoryTheory.Category.toCategoryStruct.{u4, u3} D _inst_2)) (CategoryTheory.Functor.obj.{max u1 u2, u4, u1, u3} (CategoryTheory.MorphismProperty.Localization.{u1, u2} C _inst_1 W) (CategoryTheory.MorphismProperty.Localization.category.{u1, u2} C _inst_1 W) D _inst_2 F₁ X) (CategoryTheory.Functor.obj.{max u1 u2, u4, u1, u3} (CategoryTheory.MorphismProperty.Localization.{u1, u2} C _inst_1 W) (CategoryTheory.MorphismProperty.Localization.category.{u1, u2} C _inst_1 W) D _inst_2 F₂ X))
+but is expected to have type
+  forall {C : Type.{u1}} [_inst_1 : CategoryTheory.Category.{u2, u1} C] {W : CategoryTheory.MorphismProperty.{u2, u1} C _inst_1} {D : Type.{u3}} [_inst_2 : CategoryTheory.Category.{u4, u3} D] {F₁ : CategoryTheory.Functor.{max u1 u2, u4, u1, u3} (CategoryTheory.MorphismProperty.Localization.{u1, u2} C _inst_1 W) (CategoryTheory.MorphismProperty.instCategoryLocalization.{u1, u2} C _inst_1 W) D _inst_2} {F₂ : CategoryTheory.Functor.{max u1 u2, u4, u1, u3} (CategoryTheory.MorphismProperty.Localization.{u1, u2} C _inst_1 W) (CategoryTheory.MorphismProperty.instCategoryLocalization.{u1, u2} C _inst_1 W) D _inst_2}, (Quiver.Hom.{max (succ u1) (succ u4), max (max (max u3 u1) u4) u2} (CategoryTheory.Functor.{u2, u4, u1, u3} C _inst_1 D _inst_2) (CategoryTheory.CategoryStruct.toQuiver.{max u1 u4, max (max (max u1 u2) u3) u4} (CategoryTheory.Functor.{u2, u4, u1, u3} C _inst_1 D _inst_2) (CategoryTheory.Category.toCategoryStruct.{max u1 u4, max (max (max u1 u2) u3) u4} (CategoryTheory.Functor.{u2, u4, u1, u3} C _inst_1 D _inst_2) (CategoryTheory.Functor.category.{u2, u4, u1, u3} C _inst_1 D _inst_2))) (CategoryTheory.Functor.comp.{u2, max u1 u2, u4, u1, u1, u3} C _inst_1 (CategoryTheory.MorphismProperty.Localization.{u1, u2} C _inst_1 W) (CategoryTheory.MorphismProperty.instCategoryLocalization.{u1, u2} C _inst_1 W) D _inst_2 (CategoryTheory.MorphismProperty.Q.{u1, u2} C _inst_1 W) F₁) (CategoryTheory.Functor.comp.{u2, max u1 u2, u4, u1, u1, u3} C _inst_1 (CategoryTheory.MorphismProperty.Localization.{u1, u2} C _inst_1 W) (CategoryTheory.MorphismProperty.instCategoryLocalization.{u1, u2} C _inst_1 W) D _inst_2 (CategoryTheory.MorphismProperty.Q.{u1, u2} C _inst_1 W) F₂)) -> (forall (X : CategoryTheory.MorphismProperty.Localization.{u1, u2} C _inst_1 W), Quiver.Hom.{succ u4, u3} D (CategoryTheory.CategoryStruct.toQuiver.{u4, u3} D (CategoryTheory.Category.toCategoryStruct.{u4, u3} D _inst_2)) (Prefunctor.obj.{max (succ u1) (succ u2), succ u4, u1, u3} (CategoryTheory.MorphismProperty.Localization.{u1, u2} C _inst_1 W) (CategoryTheory.CategoryStruct.toQuiver.{max u1 u2, u1} (CategoryTheory.MorphismProperty.Localization.{u1, u2} C _inst_1 W) (CategoryTheory.Category.toCategoryStruct.{max u1 u2, u1} (CategoryTheory.MorphismProperty.Localization.{u1, u2} C _inst_1 W) (CategoryTheory.MorphismProperty.instCategoryLocalization.{u1, u2} C _inst_1 W))) D (CategoryTheory.CategoryStruct.toQuiver.{u4, u3} D (CategoryTheory.Category.toCategoryStruct.{u4, u3} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{max u1 u2, u4, u1, u3} (CategoryTheory.MorphismProperty.Localization.{u1, u2} C _inst_1 W) (CategoryTheory.MorphismProperty.instCategoryLocalization.{u1, u2} C _inst_1 W) D _inst_2 F₁) X) (Prefunctor.obj.{max (succ u1) (succ u2), succ u4, u1, u3} (CategoryTheory.MorphismProperty.Localization.{u1, u2} C _inst_1 W) (CategoryTheory.CategoryStruct.toQuiver.{max u1 u2, u1} (CategoryTheory.MorphismProperty.Localization.{u1, u2} C _inst_1 W) (CategoryTheory.Category.toCategoryStruct.{max u1 u2, u1} (CategoryTheory.MorphismProperty.Localization.{u1, u2} C _inst_1 W) (CategoryTheory.MorphismProperty.instCategoryLocalization.{u1, u2} C _inst_1 W))) D (CategoryTheory.CategoryStruct.toQuiver.{u4, u3} D (CategoryTheory.Category.toCategoryStruct.{u4, u3} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{max u1 u2, u4, u1, u3} (CategoryTheory.MorphismProperty.Localization.{u1, u2} C _inst_1 W) (CategoryTheory.MorphismProperty.instCategoryLocalization.{u1, u2} C _inst_1 W) D _inst_2 F₂) X))
+Case conversion may be inaccurate. Consider using '#align category_theory.localization.construction.nat_trans_extension.app CategoryTheory.Localization.Construction.NatTransExtension.appₓ'. -/
 /-- If `F₁` and `F₂` are functors `W.localization ⥤ D` and if we have
 `τ : W.Q ⋙ F₁ ⟶ W.Q ⋙ F₂`, we shall define a natural transformation `F₁ ⟶ F₂`.
 This is the `app` field of this natural transformation. -/
@@ -276,17 +340,24 @@ def app (X : W.Localization) : F₁.obj X ⟶ F₂.obj X :=
     τ.app ((objEquiv W).invFun X) ≫ eqToHom (congr_arg F₂.obj ((objEquiv W).right_inv X))
 #align category_theory.localization.construction.nat_trans_extension.app CategoryTheory.Localization.Construction.NatTransExtension.app
 
+/- warning: category_theory.localization.construction.nat_trans_extension.app_eq -> CategoryTheory.Localization.Construction.NatTransExtension.app_eq is a dubious translation:
+lean 3 declaration is
+  forall {C : Type.{u1}} [_inst_1 : CategoryTheory.Category.{u2, u1} C] {W : CategoryTheory.MorphismProperty.{u2, u1} C _inst_1} {D : Type.{u3}} [_inst_2 : CategoryTheory.Category.{u4, u3} D] {F₁ : CategoryTheory.Functor.{max u1 u2, u4, u1, u3} (CategoryTheory.MorphismProperty.Localization.{u1, u2} C _inst_1 W) (CategoryTheory.MorphismProperty.Localization.category.{u1, u2} C _inst_1 W) D _inst_2} {F₂ : CategoryTheory.Functor.{max u1 u2, u4, u1, u3} (CategoryTheory.MorphismProperty.Localization.{u1, u2} C _inst_1 W) (CategoryTheory.MorphismProperty.Localization.category.{u1, u2} C _inst_1 W) D _inst_2} (τ : Quiver.Hom.{succ (max u1 u4), max u2 u4 u1 u3} (CategoryTheory.Functor.{u2, u4, u1, u3} C _inst_1 D _inst_2) (CategoryTheory.CategoryStruct.toQuiver.{max u1 u4, max u2 u4 u1 u3} (CategoryTheory.Functor.{u2, u4, u1, u3} C _inst_1 D _inst_2) (CategoryTheory.Category.toCategoryStruct.{max u1 u4, max u2 u4 u1 u3} (CategoryTheory.Functor.{u2, u4, u1, u3} C _inst_1 D _inst_2) (CategoryTheory.Functor.category.{u2, u4, u1, u3} C _inst_1 D _inst_2))) (CategoryTheory.Functor.comp.{u2, max u1 u2, u4, u1, u1, u3} C _inst_1 (CategoryTheory.MorphismProperty.Localization.{u1, u2} C _inst_1 W) (CategoryTheory.MorphismProperty.Localization.category.{u1, u2} C _inst_1 W) D _inst_2 (CategoryTheory.MorphismProperty.Q.{u1, u2} C _inst_1 W) F₁) (CategoryTheory.Functor.comp.{u2, max u1 u2, u4, u1, u1, u3} C _inst_1 (CategoryTheory.MorphismProperty.Localization.{u1, u2} C _inst_1 W) (CategoryTheory.MorphismProperty.Localization.category.{u1, u2} C _inst_1 W) D _inst_2 (CategoryTheory.MorphismProperty.Q.{u1, u2} C _inst_1 W) F₂)) (X : C), Eq.{succ u4} (Quiver.Hom.{succ u4, u3} D (CategoryTheory.CategoryStruct.toQuiver.{u4, u3} D (CategoryTheory.Category.toCategoryStruct.{u4, u3} D _inst_2)) (CategoryTheory.Functor.obj.{max u1 u2, u4, u1, u3} (CategoryTheory.MorphismProperty.Localization.{u1, u2} C _inst_1 W) (CategoryTheory.MorphismProperty.Localization.category.{u1, u2} C _inst_1 W) D _inst_2 F₁ (CategoryTheory.Functor.obj.{u2, max u1 u2, u1, u1} C _inst_1 (CategoryTheory.MorphismProperty.Localization.{u1, u2} C _inst_1 W) (CategoryTheory.MorphismProperty.Localization.category.{u1, u2} C _inst_1 W) (CategoryTheory.MorphismProperty.Q.{u1, u2} C _inst_1 W) X)) (CategoryTheory.Functor.obj.{max u1 u2, u4, u1, u3} (CategoryTheory.MorphismProperty.Localization.{u1, u2} C _inst_1 W) (CategoryTheory.MorphismProperty.Localization.category.{u1, u2} C _inst_1 W) D _inst_2 F₂ (CategoryTheory.Functor.obj.{u2, max u1 u2, u1, u1} C _inst_1 (CategoryTheory.MorphismProperty.Localization.{u1, u2} C _inst_1 W) (CategoryTheory.MorphismProperty.Localization.category.{u1, u2} C _inst_1 W) (CategoryTheory.MorphismProperty.Q.{u1, u2} C _inst_1 W) X))) (CategoryTheory.Localization.Construction.NatTransExtension.app.{u1, u2, u3, u4} C _inst_1 W D _inst_2 F₁ F₂ τ (CategoryTheory.Functor.obj.{u2, max u1 u2, u1, u1} C _inst_1 (CategoryTheory.MorphismProperty.Localization.{u1, u2} C _inst_1 W) (CategoryTheory.MorphismProperty.Localization.category.{u1, u2} C _inst_1 W) (CategoryTheory.MorphismProperty.Q.{u1, u2} C _inst_1 W) X)) (CategoryTheory.NatTrans.app.{u2, u4, u1, u3} C _inst_1 D _inst_2 (CategoryTheory.Functor.comp.{u2, max u1 u2, u4, u1, u1, u3} C _inst_1 (CategoryTheory.MorphismProperty.Localization.{u1, u2} C _inst_1 W) (CategoryTheory.MorphismProperty.Localization.category.{u1, u2} C _inst_1 W) D _inst_2 (CategoryTheory.MorphismProperty.Q.{u1, u2} C _inst_1 W) F₁) (CategoryTheory.Functor.comp.{u2, max u1 u2, u4, u1, u1, u3} C _inst_1 (CategoryTheory.MorphismProperty.Localization.{u1, u2} C _inst_1 W) (CategoryTheory.MorphismProperty.Localization.category.{u1, u2} C _inst_1 W) D _inst_2 (CategoryTheory.MorphismProperty.Q.{u1, u2} C _inst_1 W) F₂) τ X)
+but is expected to have type
+  forall {C : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} C] {W : CategoryTheory.MorphismProperty.{u1, u2} C _inst_1} {D : Type.{u3}} [_inst_2 : CategoryTheory.Category.{u4, u3} D] {F₁ : CategoryTheory.Functor.{max u2 u1, u4, u2, u3} (CategoryTheory.MorphismProperty.Localization.{u2, u1} C _inst_1 W) (CategoryTheory.MorphismProperty.instCategoryLocalization.{u2, u1} C _inst_1 W) D _inst_2} {F₂ : CategoryTheory.Functor.{max u2 u1, u4, u2, u3} (CategoryTheory.MorphismProperty.Localization.{u2, u1} C _inst_1 W) (CategoryTheory.MorphismProperty.instCategoryLocalization.{u2, u1} C _inst_1 W) D _inst_2} (τ : Quiver.Hom.{max (succ u2) (succ u4), max (max (max u3 u2) u4) u1} (CategoryTheory.Functor.{u1, u4, u2, u3} C _inst_1 D _inst_2) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u4, max (max (max u2 u1) u3) u4} (CategoryTheory.Functor.{u1, u4, u2, u3} C _inst_1 D _inst_2) (CategoryTheory.Category.toCategoryStruct.{max u2 u4, max (max (max u2 u1) u3) u4} (CategoryTheory.Functor.{u1, u4, u2, u3} C _inst_1 D _inst_2) (CategoryTheory.Functor.category.{u1, u4, u2, u3} C _inst_1 D _inst_2))) (CategoryTheory.Functor.comp.{u1, max u2 u1, u4, u2, u2, u3} C _inst_1 (CategoryTheory.MorphismProperty.Localization.{u2, u1} C _inst_1 W) (CategoryTheory.MorphismProperty.instCategoryLocalization.{u2, u1} C _inst_1 W) D _inst_2 (CategoryTheory.MorphismProperty.Q.{u2, u1} C _inst_1 W) F₁) (CategoryTheory.Functor.comp.{u1, max u2 u1, u4, u2, u2, u3} C _inst_1 (CategoryTheory.MorphismProperty.Localization.{u2, u1} C _inst_1 W) (CategoryTheory.MorphismProperty.instCategoryLocalization.{u2, u1} C _inst_1 W) D _inst_2 (CategoryTheory.MorphismProperty.Q.{u2, u1} C _inst_1 W) F₂)) (X : C), Eq.{succ u4} (Quiver.Hom.{succ u4, u3} D (CategoryTheory.CategoryStruct.toQuiver.{u4, u3} D (CategoryTheory.Category.toCategoryStruct.{u4, u3} D _inst_2)) (Prefunctor.obj.{max (succ u2) (succ u1), succ u4, u2, u3} (CategoryTheory.MorphismProperty.Localization.{u2, u1} C _inst_1 W) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, u2} (CategoryTheory.MorphismProperty.Localization.{u2, u1} C _inst_1 W) (CategoryTheory.Category.toCategoryStruct.{max u2 u1, u2} (CategoryTheory.MorphismProperty.Localization.{u2, u1} C _inst_1 W) (CategoryTheory.MorphismProperty.instCategoryLocalization.{u2, u1} C _inst_1 W))) D (CategoryTheory.CategoryStruct.toQuiver.{u4, u3} D (CategoryTheory.Category.toCategoryStruct.{u4, u3} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{max u2 u1, u4, u2, u3} (CategoryTheory.MorphismProperty.Localization.{u2, u1} C _inst_1 W) (CategoryTheory.MorphismProperty.instCategoryLocalization.{u2, u1} C _inst_1 W) D _inst_2 F₁) (Prefunctor.obj.{succ u1, max (succ u2) (succ u1), u2, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.MorphismProperty.Localization.{u2, u1} C _inst_1 W) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, u2} (CategoryTheory.MorphismProperty.Localization.{u2, u1} C _inst_1 W) (CategoryTheory.Category.toCategoryStruct.{max u2 u1, u2} (CategoryTheory.MorphismProperty.Localization.{u2, u1} C _inst_1 W) (CategoryTheory.MorphismProperty.instCategoryLocalization.{u2, u1} C _inst_1 W))) (CategoryTheory.Functor.toPrefunctor.{u1, max u2 u1, u2, u2} C _inst_1 (CategoryTheory.MorphismProperty.Localization.{u2, u1} C _inst_1 W) (CategoryTheory.MorphismProperty.instCategoryLocalization.{u2, u1} C _inst_1 W) (CategoryTheory.MorphismProperty.Q.{u2, u1} C _inst_1 W)) X)) (Prefunctor.obj.{max (succ u2) (succ u1), succ u4, u2, u3} (CategoryTheory.MorphismProperty.Localization.{u2, u1} C _inst_1 W) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, u2} (CategoryTheory.MorphismProperty.Localization.{u2, u1} C _inst_1 W) (CategoryTheory.Category.toCategoryStruct.{max u2 u1, u2} (CategoryTheory.MorphismProperty.Localization.{u2, u1} C _inst_1 W) (CategoryTheory.MorphismProperty.instCategoryLocalization.{u2, u1} C _inst_1 W))) D (CategoryTheory.CategoryStruct.toQuiver.{u4, u3} D (CategoryTheory.Category.toCategoryStruct.{u4, u3} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{max u2 u1, u4, u2, u3} (CategoryTheory.MorphismProperty.Localization.{u2, u1} C _inst_1 W) (CategoryTheory.MorphismProperty.instCategoryLocalization.{u2, u1} C _inst_1 W) D _inst_2 F₂) (Prefunctor.obj.{succ u1, max (succ u2) (succ u1), u2, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.MorphismProperty.Localization.{u2, u1} C _inst_1 W) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, u2} (CategoryTheory.MorphismProperty.Localization.{u2, u1} C _inst_1 W) (CategoryTheory.Category.toCategoryStruct.{max u2 u1, u2} (CategoryTheory.MorphismProperty.Localization.{u2, u1} C _inst_1 W) (CategoryTheory.MorphismProperty.instCategoryLocalization.{u2, u1} C _inst_1 W))) (CategoryTheory.Functor.toPrefunctor.{u1, max u2 u1, u2, u2} C _inst_1 (CategoryTheory.MorphismProperty.Localization.{u2, u1} C _inst_1 W) (CategoryTheory.MorphismProperty.instCategoryLocalization.{u2, u1} C _inst_1 W) (CategoryTheory.MorphismProperty.Q.{u2, u1} C _inst_1 W)) X))) (CategoryTheory.Localization.Construction.NatTransExtension.app.{u2, u1, u3, u4} C _inst_1 W D _inst_2 F₁ F₂ τ (Prefunctor.obj.{succ u1, max (succ u2) (succ u1), u2, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.MorphismProperty.Localization.{u2, u1} C _inst_1 W) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, u2} (CategoryTheory.MorphismProperty.Localization.{u2, u1} C _inst_1 W) (CategoryTheory.Category.toCategoryStruct.{max u2 u1, u2} (CategoryTheory.MorphismProperty.Localization.{u2, u1} C _inst_1 W) (CategoryTheory.MorphismProperty.instCategoryLocalization.{u2, u1} C _inst_1 W))) (CategoryTheory.Functor.toPrefunctor.{u1, max u2 u1, u2, u2} C _inst_1 (CategoryTheory.MorphismProperty.Localization.{u2, u1} C _inst_1 W) (CategoryTheory.MorphismProperty.instCategoryLocalization.{u2, u1} C _inst_1 W) (CategoryTheory.MorphismProperty.Q.{u2, u1} C _inst_1 W)) X)) (CategoryTheory.NatTrans.app.{u1, u4, u2, u3} C _inst_1 D _inst_2 (CategoryTheory.Functor.comp.{u1, max u2 u1, u4, u2, u2, u3} C _inst_1 (CategoryTheory.MorphismProperty.Localization.{u2, u1} C _inst_1 W) (CategoryTheory.MorphismProperty.instCategoryLocalization.{u2, u1} C _inst_1 W) D _inst_2 (CategoryTheory.MorphismProperty.Q.{u2, u1} C _inst_1 W) F₁) (CategoryTheory.Functor.comp.{u1, max u2 u1, u4, u2, u2, u3} C _inst_1 (CategoryTheory.MorphismProperty.Localization.{u2, u1} C _inst_1 W) (CategoryTheory.MorphismProperty.instCategoryLocalization.{u2, u1} C _inst_1 W) D _inst_2 (CategoryTheory.MorphismProperty.Q.{u2, u1} C _inst_1 W) F₂) τ X)
+Case conversion may be inaccurate. Consider using '#align category_theory.localization.construction.nat_trans_extension.app_eq CategoryTheory.Localization.Construction.NatTransExtension.app_eqₓ'. -/
 @[simp]
-theorem app_eq (X : C) : (app τ) (W.q.obj X) = τ.app X := by
+theorem app_eq (X : C) : (app τ) (W.Q.obj X) = τ.app X := by
   simpa only [app, eq_to_hom_refl, comp_id, id_comp]
 #align category_theory.localization.construction.nat_trans_extension.app_eq CategoryTheory.Localization.Construction.NatTransExtension.app_eq
 
 end NatTransExtension
 
+#print CategoryTheory.Localization.Construction.natTransExtension /-
 /-- If `F₁` and `F₂` are functors `W.localization ⥤ D`, a natural transformation `F₁ ⟶ F₂`
 can be obtained from a natural transformation `W.Q ⋙ F₁ ⟶ W.Q ⋙ F₂`. -/
 @[simps]
-def natTransExtension {F₁ F₂ : W.Localization ⥤ D} (τ : W.q ⋙ F₁ ⟶ W.q ⋙ F₂) : F₁ ⟶ F₂
+def natTransExtension {F₁ F₂ : W.Localization ⥤ D} (τ : W.Q ⋙ F₁ ⟶ W.Q ⋙ F₂) : F₁ ⟶ F₂
     where
   app := NatTransExtension.app τ
   naturality' X Y f :=
@@ -302,35 +373,51 @@ def natTransExtension {F₁ F₂ : W.Localization ⥤ D} (τ : W.q ⋙ F₁ ⟶
     have hf : (⊤ : morphism_property _) f := by simp only [Pi.top_apply]
     simpa only [← h] using hf
 #align category_theory.localization.construction.nat_trans_extension CategoryTheory.Localization.Construction.natTransExtension
+-/
 
+/- warning: category_theory.localization.construction.nat_trans_extension_hcomp -> CategoryTheory.Localization.Construction.natTransExtension_hcomp is a dubious translation:
+lean 3 declaration is
+  forall {C : Type.{u1}} [_inst_1 : CategoryTheory.Category.{u2, u1} C] {W : CategoryTheory.MorphismProperty.{u2, u1} C _inst_1} {D : Type.{u3}} [_inst_2 : CategoryTheory.Category.{u4, u3} D] {F : CategoryTheory.Functor.{max u1 u2, u4, u1, u3} (CategoryTheory.MorphismProperty.Localization.{u1, u2} C _inst_1 W) (CategoryTheory.MorphismProperty.Localization.category.{u1, u2} C _inst_1 W) D _inst_2} {G : CategoryTheory.Functor.{max u1 u2, u4, u1, u3} (CategoryTheory.MorphismProperty.Localization.{u1, u2} C _inst_1 W) (CategoryTheory.MorphismProperty.Localization.category.{u1, u2} C _inst_1 W) D _inst_2} (τ : Quiver.Hom.{succ (max u1 u4), max u2 u4 u1 u3} (CategoryTheory.Functor.{u2, u4, u1, u3} C _inst_1 D _inst_2) (CategoryTheory.CategoryStruct.toQuiver.{max u1 u4, max u2 u4 u1 u3} (CategoryTheory.Functor.{u2, u4, u1, u3} C _inst_1 D _inst_2) (CategoryTheory.Category.toCategoryStruct.{max u1 u4, max u2 u4 u1 u3} (CategoryTheory.Functor.{u2, u4, u1, u3} C _inst_1 D _inst_2) (CategoryTheory.Functor.category.{u2, u4, u1, u3} C _inst_1 D _inst_2))) (CategoryTheory.Functor.comp.{u2, max u1 u2, u4, u1, u1, u3} C _inst_1 (CategoryTheory.MorphismProperty.Localization.{u1, u2} C _inst_1 W) (CategoryTheory.MorphismProperty.Localization.category.{u1, u2} C _inst_1 W) D _inst_2 (CategoryTheory.MorphismProperty.Q.{u1, u2} C _inst_1 W) F) (CategoryTheory.Functor.comp.{u2, max u1 u2, u4, u1, u1, u3} C _inst_1 (CategoryTheory.MorphismProperty.Localization.{u1, u2} C _inst_1 W) (CategoryTheory.MorphismProperty.Localization.category.{u1, u2} C _inst_1 W) D _inst_2 (CategoryTheory.MorphismProperty.Q.{u1, u2} C _inst_1 W) G)), Eq.{succ (max u1 u4)} (Quiver.Hom.{succ (max u1 u4), max u2 u4 u1 u3} (CategoryTheory.Functor.{u2, u4, u1, u3} C _inst_1 D _inst_2) (CategoryTheory.CategoryStruct.toQuiver.{max u1 u4, max u2 u4 u1 u3} (CategoryTheory.Functor.{u2, u4, u1, u3} C _inst_1 D _inst_2) (CategoryTheory.Category.toCategoryStruct.{max u1 u4, max u2 u4 u1 u3} (CategoryTheory.Functor.{u2, u4, u1, u3} C _inst_1 D _inst_2) (CategoryTheory.Functor.category.{u2, u4, u1, u3} C _inst_1 D _inst_2))) (CategoryTheory.Functor.comp.{u2, max u1 u2, u4, u1, u1, u3} C _inst_1 (CategoryTheory.MorphismProperty.Localization.{u1, u2} C _inst_1 W) (CategoryTheory.MorphismProperty.Localization.category.{u1, u2} C _inst_1 W) D _inst_2 (CategoryTheory.MorphismProperty.Q.{u1, u2} C _inst_1 W) F) (CategoryTheory.Functor.comp.{u2, max u1 u2, u4, u1, u1, u3} C _inst_1 (CategoryTheory.MorphismProperty.Localization.{u1, u2} C _inst_1 W) (CategoryTheory.MorphismProperty.Localization.category.{u1, u2} C _inst_1 W) D _inst_2 (CategoryTheory.MorphismProperty.Q.{u1, u2} C _inst_1 W) G)) (CategoryTheory.NatTrans.hcomp.{u2, max u1 u2, u4, u1, u1, u3} C _inst_1 (CategoryTheory.MorphismProperty.Localization.{u1, u2} C _inst_1 W) (CategoryTheory.MorphismProperty.Localization.category.{u1, u2} C _inst_1 W) D _inst_2 (CategoryTheory.MorphismProperty.Q.{u1, u2} C _inst_1 W) (CategoryTheory.MorphismProperty.Q.{u1, u2} C _inst_1 W) F G (CategoryTheory.CategoryStruct.id.{max u1 u2, max u1 u2} (CategoryTheory.Functor.{u2, max u1 u2, u1, u1} C _inst_1 (CategoryTheory.MorphismProperty.Localization.{u1, u2} C _inst_1 W) (CategoryTheory.MorphismProperty.Localization.category.{u1, u2} C _inst_1 W)) (CategoryTheory.Category.toCategoryStruct.{max u1 u2, max u1 u2} (CategoryTheory.Functor.{u2, max u1 u2, u1, u1} C _inst_1 (CategoryTheory.MorphismProperty.Localization.{u1, u2} C _inst_1 W) (CategoryTheory.MorphismProperty.Localization.category.{u1, u2} C _inst_1 W)) (CategoryTheory.Functor.category.{u2, max u1 u2, u1, u1} C _inst_1 (CategoryTheory.MorphismProperty.Localization.{u1, u2} C _inst_1 W) (CategoryTheory.MorphismProperty.Localization.category.{u1, u2} C _inst_1 W))) (CategoryTheory.MorphismProperty.Q.{u1, u2} C _inst_1 W)) (CategoryTheory.Localization.Construction.natTransExtension.{u1, u2, u3, u4} C _inst_1 W D _inst_2 F G τ)) τ
+but is expected to have type
+  forall {C : Type.{u4}} [_inst_1 : CategoryTheory.Category.{u3, u4} C] {W : CategoryTheory.MorphismProperty.{u3, u4} C _inst_1} {D : Type.{u1}} [_inst_2 : CategoryTheory.Category.{u2, u1} D] {F : CategoryTheory.Functor.{max u4 u3, u2, u4, u1} (CategoryTheory.MorphismProperty.Localization.{u4, u3} C _inst_1 W) (CategoryTheory.MorphismProperty.instCategoryLocalization.{u4, u3} C _inst_1 W) D _inst_2} {G : CategoryTheory.Functor.{max u4 u3, u2, u4, u1} (CategoryTheory.MorphismProperty.Localization.{u4, u3} C _inst_1 W) (CategoryTheory.MorphismProperty.instCategoryLocalization.{u4, u3} C _inst_1 W) D _inst_2} (τ : Quiver.Hom.{max (succ u4) (succ u2), max (max (max u1 u4) u2) u3} (CategoryTheory.Functor.{u3, u2, u4, u1} C _inst_1 D _inst_2) (CategoryTheory.CategoryStruct.toQuiver.{max u4 u2, max (max (max u4 u3) u1) u2} (CategoryTheory.Functor.{u3, u2, u4, u1} C _inst_1 D _inst_2) (CategoryTheory.Category.toCategoryStruct.{max u4 u2, max (max (max u4 u3) u1) u2} (CategoryTheory.Functor.{u3, u2, u4, u1} C _inst_1 D _inst_2) (CategoryTheory.Functor.category.{u3, u2, u4, u1} C _inst_1 D _inst_2))) (CategoryTheory.Functor.comp.{u3, max u4 u3, u2, u4, u4, u1} C _inst_1 (CategoryTheory.MorphismProperty.Localization.{u4, u3} C _inst_1 W) (CategoryTheory.MorphismProperty.instCategoryLocalization.{u4, u3} C _inst_1 W) D _inst_2 (CategoryTheory.MorphismProperty.Q.{u4, u3} C _inst_1 W) F) (CategoryTheory.Functor.comp.{u3, max u4 u3, u2, u4, u4, u1} C _inst_1 (CategoryTheory.MorphismProperty.Localization.{u4, u3} C _inst_1 W) (CategoryTheory.MorphismProperty.instCategoryLocalization.{u4, u3} C _inst_1 W) D _inst_2 (CategoryTheory.MorphismProperty.Q.{u4, u3} C _inst_1 W) G)), Eq.{max (succ u4) (succ u2)} (Quiver.Hom.{max (succ u4) (succ u2), max (max (max u1 u4) u2) u3} (CategoryTheory.Functor.{u3, u2, u4, u1} C _inst_1 D _inst_2) (CategoryTheory.CategoryStruct.toQuiver.{max u4 u2, max (max (max u4 u1) u3) u2} (CategoryTheory.Functor.{u3, u2, u4, u1} C _inst_1 D _inst_2) (CategoryTheory.Category.toCategoryStruct.{max u4 u2, max (max (max u4 u1) u3) u2} (CategoryTheory.Functor.{u3, u2, u4, u1} C _inst_1 D _inst_2) (CategoryTheory.Functor.category.{u3, u2, u4, u1} C _inst_1 D _inst_2))) (CategoryTheory.Functor.comp.{u3, max u4 u3, u2, u4, u4, u1} C _inst_1 (CategoryTheory.MorphismProperty.Localization.{u4, u3} C _inst_1 W) (CategoryTheory.MorphismProperty.instCategoryLocalization.{u4, u3} C _inst_1 W) D _inst_2 (CategoryTheory.MorphismProperty.Q.{u4, u3} C _inst_1 W) F) (CategoryTheory.Functor.comp.{u3, max u4 u3, u2, u4, u4, u1} C _inst_1 (CategoryTheory.MorphismProperty.Localization.{u4, u3} C _inst_1 W) (CategoryTheory.MorphismProperty.instCategoryLocalization.{u4, u3} C _inst_1 W) D _inst_2 (CategoryTheory.MorphismProperty.Q.{u4, u3} C _inst_1 W) G)) (CategoryTheory.NatTrans.hcomp.{u3, max u4 u3, u2, u4, u4, u1} C _inst_1 (CategoryTheory.MorphismProperty.Localization.{u4, u3} C _inst_1 W) (CategoryTheory.MorphismProperty.instCategoryLocalization.{u4, u3} C _inst_1 W) D _inst_2 (CategoryTheory.MorphismProperty.Q.{u4, u3} C _inst_1 W) (CategoryTheory.MorphismProperty.Q.{u4, u3} C _inst_1 W) F G (CategoryTheory.CategoryStruct.id.{max u4 u3, max u4 u3} (CategoryTheory.Functor.{u3, max u4 u3, u4, u4} C _inst_1 (CategoryTheory.MorphismProperty.Localization.{u4, u3} C _inst_1 W) (CategoryTheory.MorphismProperty.instCategoryLocalization.{u4, u3} C _inst_1 W)) (CategoryTheory.Category.toCategoryStruct.{max u4 u3, max u4 u3} (CategoryTheory.Functor.{u3, max u4 u3, u4, u4} C _inst_1 (CategoryTheory.MorphismProperty.Localization.{u4, u3} C _inst_1 W) (CategoryTheory.MorphismProperty.instCategoryLocalization.{u4, u3} C _inst_1 W)) (CategoryTheory.Functor.category.{u3, max u4 u3, u4, u4} C _inst_1 (CategoryTheory.MorphismProperty.Localization.{u4, u3} C _inst_1 W) (CategoryTheory.MorphismProperty.instCategoryLocalization.{u4, u3} C _inst_1 W))) (CategoryTheory.MorphismProperty.Q.{u4, u3} C _inst_1 W)) (CategoryTheory.Localization.Construction.natTransExtension.{u4, u3, u1, u2} C _inst_1 W D _inst_2 F G τ)) τ
+Case conversion may be inaccurate. Consider using '#align category_theory.localization.construction.nat_trans_extension_hcomp CategoryTheory.Localization.Construction.natTransExtension_hcompₓ'. -/
 @[simp]
-theorem natTransExtension_hcomp {F G : W.Localization ⥤ D} (τ : W.q ⋙ F ⟶ W.q ⋙ G) :
-    𝟙 W.q ◫ natTransExtension τ = τ := by
+theorem natTransExtension_hcomp {F G : W.Localization ⥤ D} (τ : W.Q ⋙ F ⟶ W.Q ⋙ G) :
+    𝟙 W.Q ◫ natTransExtension τ = τ := by
   ext X
   simp only [nat_trans.hcomp_app, nat_trans.id_app, G.map_id, comp_id, nat_trans_extension_app,
     nat_trans_extension.app_eq]
 #align category_theory.localization.construction.nat_trans_extension_hcomp CategoryTheory.Localization.Construction.natTransExtension_hcomp
 
-theorem nat_trans_hcomp_injective {F G : W.Localization ⥤ D} {τ₁ τ₂ : F ⟶ G}
-    (h : 𝟙 W.q ◫ τ₁ = 𝟙 W.q ◫ τ₂) : τ₁ = τ₂ := by
+/- warning: category_theory.localization.construction.nat_trans_hcomp_injective -> CategoryTheory.Localization.Construction.natTrans_hcomp_injective is a dubious translation:
+lean 3 declaration is
+  forall {C : Type.{u1}} [_inst_1 : CategoryTheory.Category.{u2, u1} C] {W : CategoryTheory.MorphismProperty.{u2, u1} C _inst_1} {D : Type.{u3}} [_inst_2 : CategoryTheory.Category.{u4, u3} D] {F : CategoryTheory.Functor.{max u1 u2, u4, u1, u3} (CategoryTheory.MorphismProperty.Localization.{u1, u2} C _inst_1 W) (CategoryTheory.MorphismProperty.Localization.category.{u1, u2} C _inst_1 W) D _inst_2} {G : CategoryTheory.Functor.{max u1 u2, u4, u1, u3} (CategoryTheory.MorphismProperty.Localization.{u1, u2} C _inst_1 W) (CategoryTheory.MorphismProperty.Localization.category.{u1, u2} C _inst_1 W) D _inst_2} {τ₁ : Quiver.Hom.{succ (max u1 u4), max (max u1 u2) u4 u1 u3} (CategoryTheory.Functor.{max u1 u2, u4, u1, u3} (CategoryTheory.MorphismProperty.Localization.{u1, u2} C _inst_1 W) (CategoryTheory.MorphismProperty.Localization.category.{u1, u2} C _inst_1 W) D _inst_2) (CategoryTheory.CategoryStruct.toQuiver.{max u1 u4, max (max u1 u2) u4 u1 u3} (CategoryTheory.Functor.{max u1 u2, u4, u1, u3} (CategoryTheory.MorphismProperty.Localization.{u1, u2} C _inst_1 W) (CategoryTheory.MorphismProperty.Localization.category.{u1, u2} C _inst_1 W) D _inst_2) (CategoryTheory.Category.toCategoryStruct.{max u1 u4, max (max u1 u2) u4 u1 u3} (CategoryTheory.Functor.{max u1 u2, u4, u1, u3} (CategoryTheory.MorphismProperty.Localization.{u1, u2} C _inst_1 W) (CategoryTheory.MorphismProperty.Localization.category.{u1, u2} C _inst_1 W) D _inst_2) (CategoryTheory.Functor.category.{max u1 u2, u4, u1, u3} (CategoryTheory.MorphismProperty.Localization.{u1, u2} C _inst_1 W) (CategoryTheory.MorphismProperty.Localization.category.{u1, u2} C _inst_1 W) D _inst_2))) F G} {τ₂ : Quiver.Hom.{succ (max u1 u4), max (max u1 u2) u4 u1 u3} (CategoryTheory.Functor.{max u1 u2, u4, u1, u3} (CategoryTheory.MorphismProperty.Localization.{u1, u2} C _inst_1 W) (CategoryTheory.MorphismProperty.Localization.category.{u1, u2} C _inst_1 W) D _inst_2) (CategoryTheory.CategoryStruct.toQuiver.{max u1 u4, max (max u1 u2) u4 u1 u3} (CategoryTheory.Functor.{max u1 u2, u4, u1, u3} (CategoryTheory.MorphismProperty.Localization.{u1, u2} C _inst_1 W) (CategoryTheory.MorphismProperty.Localization.category.{u1, u2} C _inst_1 W) D _inst_2) (CategoryTheory.Category.toCategoryStruct.{max u1 u4, max (max u1 u2) u4 u1 u3} (CategoryTheory.Functor.{max u1 u2, u4, u1, u3} (CategoryTheory.MorphismProperty.Localization.{u1, u2} C _inst_1 W) (CategoryTheory.MorphismProperty.Localization.category.{u1, u2} C _inst_1 W) D _inst_2) (CategoryTheory.Functor.category.{max u1 u2, u4, u1, u3} (CategoryTheory.MorphismProperty.Localization.{u1, u2} C _inst_1 W) (CategoryTheory.MorphismProperty.Localization.category.{u1, u2} C _inst_1 W) D _inst_2))) F G}, (Eq.{succ (max u1 u4)} (Quiver.Hom.{succ (max u1 u4), max u2 u4 u1 u3} (CategoryTheory.Functor.{u2, u4, u1, u3} C _inst_1 D _inst_2) (CategoryTheory.CategoryStruct.toQuiver.{max u1 u4, max u2 u4 u1 u3} (CategoryTheory.Functor.{u2, u4, u1, u3} C _inst_1 D _inst_2) (CategoryTheory.Category.toCategoryStruct.{max u1 u4, max u2 u4 u1 u3} (CategoryTheory.Functor.{u2, u4, u1, u3} C _inst_1 D _inst_2) (CategoryTheory.Functor.category.{u2, u4, u1, u3} C _inst_1 D _inst_2))) (CategoryTheory.Functor.comp.{u2, max u1 u2, u4, u1, u1, u3} C _inst_1 (CategoryTheory.MorphismProperty.Localization.{u1, u2} C _inst_1 W) (CategoryTheory.MorphismProperty.Localization.category.{u1, u2} C _inst_1 W) D _inst_2 (CategoryTheory.MorphismProperty.Q.{u1, u2} C _inst_1 W) F) (CategoryTheory.Functor.comp.{u2, max u1 u2, u4, u1, u1, u3} C _inst_1 (CategoryTheory.MorphismProperty.Localization.{u1, u2} C _inst_1 W) (CategoryTheory.MorphismProperty.Localization.category.{u1, u2} C _inst_1 W) D _inst_2 (CategoryTheory.MorphismProperty.Q.{u1, u2} C _inst_1 W) G)) (CategoryTheory.NatTrans.hcomp.{u2, max u1 u2, u4, u1, u1, u3} C _inst_1 (CategoryTheory.MorphismProperty.Localization.{u1, u2} C _inst_1 W) (CategoryTheory.MorphismProperty.Localization.category.{u1, u2} C _inst_1 W) D _inst_2 (CategoryTheory.MorphismProperty.Q.{u1, u2} C _inst_1 W) (CategoryTheory.MorphismProperty.Q.{u1, u2} C _inst_1 W) F G (CategoryTheory.CategoryStruct.id.{max u1 u2, max u1 u2} (CategoryTheory.Functor.{u2, max u1 u2, u1, u1} C _inst_1 (CategoryTheory.MorphismProperty.Localization.{u1, u2} C _inst_1 W) (CategoryTheory.MorphismProperty.Localization.category.{u1, u2} C _inst_1 W)) (CategoryTheory.Category.toCategoryStruct.{max u1 u2, max u1 u2} (CategoryTheory.Functor.{u2, max u1 u2, u1, u1} C _inst_1 (CategoryTheory.MorphismProperty.Localization.{u1, u2} C _inst_1 W) (CategoryTheory.MorphismProperty.Localization.category.{u1, u2} C _inst_1 W)) (CategoryTheory.Functor.category.{u2, max u1 u2, u1, u1} C _inst_1 (CategoryTheory.MorphismProperty.Localization.{u1, u2} C _inst_1 W) (CategoryTheory.MorphismProperty.Localization.category.{u1, u2} C _inst_1 W))) (CategoryTheory.MorphismProperty.Q.{u1, u2} C _inst_1 W)) τ₁) (CategoryTheory.NatTrans.hcomp.{u2, max u1 u2, u4, u1, u1, u3} C _inst_1 (CategoryTheory.MorphismProperty.Localization.{u1, u2} C _inst_1 W) (CategoryTheory.MorphismProperty.Localization.category.{u1, u2} C _inst_1 W) D _inst_2 (CategoryTheory.MorphismProperty.Q.{u1, u2} C _inst_1 W) (CategoryTheory.MorphismProperty.Q.{u1, u2} C _inst_1 W) F G (CategoryTheory.CategoryStruct.id.{max u1 u2, max u1 u2} (CategoryTheory.Functor.{u2, max u1 u2, u1, u1} C _inst_1 (CategoryTheory.MorphismProperty.Localization.{u1, u2} C _inst_1 W) (CategoryTheory.MorphismProperty.Localization.category.{u1, u2} C _inst_1 W)) (CategoryTheory.Category.toCategoryStruct.{max u1 u2, max u1 u2} (CategoryTheory.Functor.{u2, max u1 u2, u1, u1} C _inst_1 (CategoryTheory.MorphismProperty.Localization.{u1, u2} C _inst_1 W) (CategoryTheory.MorphismProperty.Localization.category.{u1, u2} C _inst_1 W)) (CategoryTheory.Functor.category.{u2, max u1 u2, u1, u1} C _inst_1 (CategoryTheory.MorphismProperty.Localization.{u1, u2} C _inst_1 W) (CategoryTheory.MorphismProperty.Localization.category.{u1, u2} C _inst_1 W))) (CategoryTheory.MorphismProperty.Q.{u1, u2} C _inst_1 W)) τ₂)) -> (Eq.{succ (max u1 u4)} (Quiver.Hom.{succ (max u1 u4), max (max u1 u2) u4 u1 u3} (CategoryTheory.Functor.{max u1 u2, u4, u1, u3} (CategoryTheory.MorphismProperty.Localization.{u1, u2} C _inst_1 W) (CategoryTheory.MorphismProperty.Localization.category.{u1, u2} C _inst_1 W) D _inst_2) (CategoryTheory.CategoryStruct.toQuiver.{max u1 u4, max (max u1 u2) u4 u1 u3} (CategoryTheory.Functor.{max u1 u2, u4, u1, u3} (CategoryTheory.MorphismProperty.Localization.{u1, u2} C _inst_1 W) (CategoryTheory.MorphismProperty.Localization.category.{u1, u2} C _inst_1 W) D _inst_2) (CategoryTheory.Category.toCategoryStruct.{max u1 u4, max (max u1 u2) u4 u1 u3} (CategoryTheory.Functor.{max u1 u2, u4, u1, u3} (CategoryTheory.MorphismProperty.Localization.{u1, u2} C _inst_1 W) (CategoryTheory.MorphismProperty.Localization.category.{u1, u2} C _inst_1 W) D _inst_2) (CategoryTheory.Functor.category.{max u1 u2, u4, u1, u3} (CategoryTheory.MorphismProperty.Localization.{u1, u2} C _inst_1 W) (CategoryTheory.MorphismProperty.Localization.category.{u1, u2} C _inst_1 W) D _inst_2))) F G) τ₁ τ₂)
+but is expected to have type
+  forall {C : Type.{u4}} [_inst_1 : CategoryTheory.Category.{u3, u4} C] {W : CategoryTheory.MorphismProperty.{u3, u4} C _inst_1} {D : Type.{u1}} [_inst_2 : CategoryTheory.Category.{u2, u1} D] {F : CategoryTheory.Functor.{max u4 u3, u2, u4, u1} (CategoryTheory.MorphismProperty.Localization.{u4, u3} C _inst_1 W) (CategoryTheory.MorphismProperty.instCategoryLocalization.{u4, u3} C _inst_1 W) D _inst_2} {G : CategoryTheory.Functor.{max u4 u3, u2, u4, u1} (CategoryTheory.MorphismProperty.Localization.{u4, u3} C _inst_1 W) (CategoryTheory.MorphismProperty.instCategoryLocalization.{u4, u3} C _inst_1 W) D _inst_2} {τ₁ : Quiver.Hom.{max (succ u4) (succ u2), max (max (max u4 u3) u1) u2} (CategoryTheory.Functor.{max u4 u3, u2, u4, u1} (CategoryTheory.MorphismProperty.Localization.{u4, u3} C _inst_1 W) (CategoryTheory.MorphismProperty.instCategoryLocalization.{u4, u3} C _inst_1 W) D _inst_2) (CategoryTheory.CategoryStruct.toQuiver.{max u4 u2, max (max (max u4 u3) u1) u2} (CategoryTheory.Functor.{max u4 u3, u2, u4, u1} (CategoryTheory.MorphismProperty.Localization.{u4, u3} C _inst_1 W) (CategoryTheory.MorphismProperty.instCategoryLocalization.{u4, u3} C _inst_1 W) D _inst_2) (CategoryTheory.Category.toCategoryStruct.{max u4 u2, max (max (max u4 u3) u1) u2} (CategoryTheory.Functor.{max u4 u3, u2, u4, u1} (CategoryTheory.MorphismProperty.Localization.{u4, u3} C _inst_1 W) (CategoryTheory.MorphismProperty.instCategoryLocalization.{u4, u3} C _inst_1 W) D _inst_2) (CategoryTheory.Functor.category.{max u4 u3, u2, u4, u1} (CategoryTheory.MorphismProperty.Localization.{u4, u3} C _inst_1 W) (CategoryTheory.MorphismProperty.instCategoryLocalization.{u4, u3} C _inst_1 W) D _inst_2))) F G} {τ₂ : Quiver.Hom.{max (succ u4) (succ u2), max (max (max u4 u3) u1) u2} (CategoryTheory.Functor.{max u4 u3, u2, u4, u1} (CategoryTheory.MorphismProperty.Localization.{u4, u3} C _inst_1 W) (CategoryTheory.MorphismProperty.instCategoryLocalization.{u4, u3} C _inst_1 W) D _inst_2) (CategoryTheory.CategoryStruct.toQuiver.{max u4 u2, max (max (max u4 u3) u1) u2} (CategoryTheory.Functor.{max u4 u3, u2, u4, u1} (CategoryTheory.MorphismProperty.Localization.{u4, u3} C _inst_1 W) (CategoryTheory.MorphismProperty.instCategoryLocalization.{u4, u3} C _inst_1 W) D _inst_2) (CategoryTheory.Category.toCategoryStruct.{max u4 u2, max (max (max u4 u3) u1) u2} (CategoryTheory.Functor.{max u4 u3, u2, u4, u1} (CategoryTheory.MorphismProperty.Localization.{u4, u3} C _inst_1 W) (CategoryTheory.MorphismProperty.instCategoryLocalization.{u4, u3} C _inst_1 W) D _inst_2) (CategoryTheory.Functor.category.{max u4 u3, u2, u4, u1} (CategoryTheory.MorphismProperty.Localization.{u4, u3} C _inst_1 W) (CategoryTheory.MorphismProperty.instCategoryLocalization.{u4, u3} C _inst_1 W) D _inst_2))) F G}, (Eq.{max (succ u4) (succ u2)} (Quiver.Hom.{max (succ u4) (succ u2), max (max (max u1 u4) u2) u3} (CategoryTheory.Functor.{u3, u2, u4, u1} C _inst_1 D _inst_2) (CategoryTheory.CategoryStruct.toQuiver.{max u4 u2, max (max (max u4 u1) u3) u2} (CategoryTheory.Functor.{u3, u2, u4, u1} C _inst_1 D _inst_2) (CategoryTheory.Category.toCategoryStruct.{max u4 u2, max (max (max u4 u1) u3) u2} (CategoryTheory.Functor.{u3, u2, u4, u1} C _inst_1 D _inst_2) (CategoryTheory.Functor.category.{u3, u2, u4, u1} C _inst_1 D _inst_2))) (CategoryTheory.Functor.comp.{u3, max u4 u3, u2, u4, u4, u1} C _inst_1 (CategoryTheory.MorphismProperty.Localization.{u4, u3} C _inst_1 W) (CategoryTheory.MorphismProperty.instCategoryLocalization.{u4, u3} C _inst_1 W) D _inst_2 (CategoryTheory.MorphismProperty.Q.{u4, u3} C _inst_1 W) F) (CategoryTheory.Functor.comp.{u3, max u4 u3, u2, u4, u4, u1} C _inst_1 (CategoryTheory.MorphismProperty.Localization.{u4, u3} C _inst_1 W) (CategoryTheory.MorphismProperty.instCategoryLocalization.{u4, u3} C _inst_1 W) D _inst_2 (CategoryTheory.MorphismProperty.Q.{u4, u3} C _inst_1 W) G)) (CategoryTheory.NatTrans.hcomp.{u3, max u4 u3, u2, u4, u4, u1} C _inst_1 (CategoryTheory.MorphismProperty.Localization.{u4, u3} C _inst_1 W) (CategoryTheory.MorphismProperty.instCategoryLocalization.{u4, u3} C _inst_1 W) D _inst_2 (CategoryTheory.MorphismProperty.Q.{u4, u3} C _inst_1 W) (CategoryTheory.MorphismProperty.Q.{u4, u3} C _inst_1 W) F G (CategoryTheory.CategoryStruct.id.{max u4 u3, max u4 u3} (CategoryTheory.Functor.{u3, max u4 u3, u4, u4} C _inst_1 (CategoryTheory.MorphismProperty.Localization.{u4, u3} C _inst_1 W) (CategoryTheory.MorphismProperty.instCategoryLocalization.{u4, u3} C _inst_1 W)) (CategoryTheory.Category.toCategoryStruct.{max u4 u3, max u4 u3} (CategoryTheory.Functor.{u3, max u4 u3, u4, u4} C _inst_1 (CategoryTheory.MorphismProperty.Localization.{u4, u3} C _inst_1 W) (CategoryTheory.MorphismProperty.instCategoryLocalization.{u4, u3} C _inst_1 W)) (CategoryTheory.Functor.category.{u3, max u4 u3, u4, u4} C _inst_1 (CategoryTheory.MorphismProperty.Localization.{u4, u3} C _inst_1 W) (CategoryTheory.MorphismProperty.instCategoryLocalization.{u4, u3} C _inst_1 W))) (CategoryTheory.MorphismProperty.Q.{u4, u3} C _inst_1 W)) τ₁) (CategoryTheory.NatTrans.hcomp.{u3, max u4 u3, u2, u4, u4, u1} C _inst_1 (CategoryTheory.MorphismProperty.Localization.{u4, u3} C _inst_1 W) (CategoryTheory.MorphismProperty.instCategoryLocalization.{u4, u3} C _inst_1 W) D _inst_2 (CategoryTheory.MorphismProperty.Q.{u4, u3} C _inst_1 W) (CategoryTheory.MorphismProperty.Q.{u4, u3} C _inst_1 W) F G (CategoryTheory.CategoryStruct.id.{max u4 u3, max u4 u3} (CategoryTheory.Functor.{u3, max u4 u3, u4, u4} C _inst_1 (CategoryTheory.MorphismProperty.Localization.{u4, u3} C _inst_1 W) (CategoryTheory.MorphismProperty.instCategoryLocalization.{u4, u3} C _inst_1 W)) (CategoryTheory.Category.toCategoryStruct.{max u4 u3, max u4 u3} (CategoryTheory.Functor.{u3, max u4 u3, u4, u4} C _inst_1 (CategoryTheory.MorphismProperty.Localization.{u4, u3} C _inst_1 W) (CategoryTheory.MorphismProperty.instCategoryLocalization.{u4, u3} C _inst_1 W)) (CategoryTheory.Functor.category.{u3, max u4 u3, u4, u4} C _inst_1 (CategoryTheory.MorphismProperty.Localization.{u4, u3} C _inst_1 W) (CategoryTheory.MorphismProperty.instCategoryLocalization.{u4, u3} C _inst_1 W))) (CategoryTheory.MorphismProperty.Q.{u4, u3} C _inst_1 W)) τ₂)) -> (Eq.{max (succ u4) (succ u2)} (Quiver.Hom.{max (succ u4) (succ u2), max (max (max u4 u3) u1) u2} (CategoryTheory.Functor.{max u4 u3, u2, u4, u1} (CategoryTheory.MorphismProperty.Localization.{u4, u3} C _inst_1 W) (CategoryTheory.MorphismProperty.instCategoryLocalization.{u4, u3} C _inst_1 W) D _inst_2) (CategoryTheory.CategoryStruct.toQuiver.{max u4 u2, max (max (max u4 u3) u1) u2} (CategoryTheory.Functor.{max u4 u3, u2, u4, u1} (CategoryTheory.MorphismProperty.Localization.{u4, u3} C _inst_1 W) (CategoryTheory.MorphismProperty.instCategoryLocalization.{u4, u3} C _inst_1 W) D _inst_2) (CategoryTheory.Category.toCategoryStruct.{max u4 u2, max (max (max u4 u3) u1) u2} (CategoryTheory.Functor.{max u4 u3, u2, u4, u1} (CategoryTheory.MorphismProperty.Localization.{u4, u3} C _inst_1 W) (CategoryTheory.MorphismProperty.instCategoryLocalization.{u4, u3} C _inst_1 W) D _inst_2) (CategoryTheory.Functor.category.{max u4 u3, u2, u4, u1} (CategoryTheory.MorphismProperty.Localization.{u4, u3} C _inst_1 W) (CategoryTheory.MorphismProperty.instCategoryLocalization.{u4, u3} C _inst_1 W) D _inst_2))) F G) τ₁ τ₂)
+Case conversion may be inaccurate. Consider using '#align category_theory.localization.construction.nat_trans_hcomp_injective CategoryTheory.Localization.Construction.natTrans_hcomp_injectiveₓ'. -/
+theorem natTrans_hcomp_injective {F G : W.Localization ⥤ D} {τ₁ τ₂ : F ⟶ G}
+    (h : 𝟙 W.Q ◫ τ₁ = 𝟙 W.Q ◫ τ₂) : τ₁ = τ₂ := by
   ext X
   have eq := (obj_equiv W).right_inv X
   simp only [obj_equiv] at eq
   rw [← Eq, ← nat_trans.id_hcomp_app, ← nat_trans.id_hcomp_app, h]
-#align category_theory.localization.construction.nat_trans_hcomp_injective CategoryTheory.Localization.Construction.nat_trans_hcomp_injective
+#align category_theory.localization.construction.nat_trans_hcomp_injective CategoryTheory.Localization.Construction.natTrans_hcomp_injective
 
 variable (W D)
 
 namespace WhiskeringLeftEquivalence
 
+#print CategoryTheory.Localization.Construction.WhiskeringLeftEquivalence.functor /-
 /-- The functor `(W.localization ⥤ D) ⥤ (W.functors_inverting D)` induced by the
 composition with `W.Q : C ⥤ W.localization`. -/
 @[simps]
 def functor : (W.Localization ⥤ D) ⥤ W.FunctorsInverting D :=
-  FullSubcategory.lift _ ((whiskeringLeft _ _ D).obj W.q) fun F =>
-    MorphismProperty.IsInvertedBy.of_comp W W.q W.q_inverts _
+  FullSubcategory.lift _ ((whiskeringLeft _ _ D).obj W.Q) fun F =>
+    MorphismProperty.IsInvertedBy.of_comp W W.Q W.Q_inverts _
 #align category_theory.localization.construction.whiskering_left_equivalence.functor CategoryTheory.Localization.Construction.WhiskeringLeftEquivalence.functor
+-/
 
+#print CategoryTheory.Localization.Construction.WhiskeringLeftEquivalence.inverse /-
 /-- The function `(W.functors_inverting D) ⥤ (W.localization ⥤ D)` induced by
 `construction.lift`. -/
 @[simps]
@@ -339,21 +426,23 @@ def inverse : W.FunctorsInverting D ⥤ W.Localization ⥤ D
   obj G := lift G.obj G.property
   map G₁ G₂ τ := natTransExtension (eqToHom (by rw [fac]) ≫ τ ≫ eqToHom (by rw [fac]))
   map_id' G :=
-    nat_trans_hcomp_injective
+    natTrans_hcomp_injective
       (by
         rw [nat_trans_extension_hcomp]
         ext X
         simpa only [nat_trans.comp_app, eq_to_hom_app, eq_to_hom_refl, comp_id, id_comp,
           nat_trans.hcomp_id_app, nat_trans.id_app, Functor.map_id] )
   map_comp' G₁ G₂ G₃ τ₁ τ₂ :=
-    nat_trans_hcomp_injective
+    natTrans_hcomp_injective
       (by
         ext X
         simpa only [nat_trans_extension_hcomp, nat_trans.comp_app, eq_to_hom_app, eq_to_hom_refl,
           id_comp, comp_id, nat_trans.hcomp_app, nat_trans.id_app, Functor.map_id,
           nat_trans_extension_app, nat_trans_extension.app_eq] )
 #align category_theory.localization.construction.whiskering_left_equivalence.inverse CategoryTheory.Localization.Construction.WhiskeringLeftEquivalence.inverse
+-/
 
+#print CategoryTheory.Localization.Construction.WhiskeringLeftEquivalence.unitIso /-
 /-- The unit isomorphism of the equivalence of categories `whiskering_left_equivalence W D`. -/
 @[simps]
 def unitIso : 𝟭 (W.Localization ⥤ D) ≅ functor W D ⋙ inverse W D :=
@@ -369,7 +458,9 @@ def unitIso : 𝟭 (W.Localization ⥤ D) ≅ functor W D ⋙ inverse W D :=
           nat_trans.comp_app, eq_to_hom_app, eq_to_hom_refl, nat_trans_extension_app,
           nat_trans_extension.app_eq, functor_map_app, id_comp])
 #align category_theory.localization.construction.whiskering_left_equivalence.unit_iso CategoryTheory.Localization.Construction.WhiskeringLeftEquivalence.unitIso
+-/
 
+#print CategoryTheory.Localization.Construction.WhiskeringLeftEquivalence.counitIso /-
 /-- The counit isomorphism of the equivalence of categories `whiskering_left_equivalence W D`. -/
 @[simps]
 def counitIso : inverse W D ⋙ functor W D ≅ 𝟭 (W.FunctorsInverting D) :=
@@ -383,9 +474,16 @@ def counitIso : inverse W D ⋙ functor W D ≅ 𝟭 (W.FunctorsInverting D) :=
         ext X
         apply nat_trans_extension.app_eq)
 #align category_theory.localization.construction.whiskering_left_equivalence.counit_iso CategoryTheory.Localization.Construction.WhiskeringLeftEquivalence.counitIso
+-/
 
 end WhiskeringLeftEquivalence
 
+/- warning: category_theory.localization.construction.whiskering_left_equivalence -> CategoryTheory.Localization.Construction.whiskeringLeftEquivalence is a dubious translation:
+lean 3 declaration is
+  forall {C : Type.{u1}} [_inst_1 : CategoryTheory.Category.{u2, u1} C] (W : CategoryTheory.MorphismProperty.{u2, u1} C _inst_1) (D : Type.{u3}) [_inst_2 : CategoryTheory.Category.{u4, u3} D], CategoryTheory.Equivalence.{max u1 u4, max u1 u4, max (max u1 u2) u4 u1 u3, max u2 u4 u1 u3} (CategoryTheory.Functor.{max u1 u2, u4, u1, u3} (CategoryTheory.MorphismProperty.Localization.{u1, u2} C _inst_1 W) (CategoryTheory.MorphismProperty.Localization.category.{u1, u2} C _inst_1 W) D _inst_2) (CategoryTheory.Functor.category.{max u1 u2, u4, u1, u3} (CategoryTheory.MorphismProperty.Localization.{u1, u2} C _inst_1 W) (CategoryTheory.MorphismProperty.Localization.category.{u1, u2} C _inst_1 W) D _inst_2) (CategoryTheory.MorphismProperty.FunctorsInverting.{u2, u1, u3, u4} C _inst_1 W D _inst_2) (CategoryTheory.MorphismProperty.FunctorsInverting.category.{u2, u3, u1, u4} C _inst_1 W D _inst_2)
+but is expected to have type
+  forall {C : Type.{u1}} [_inst_1 : CategoryTheory.Category.{u2, u1} C] (W : CategoryTheory.MorphismProperty.{u2, u1} C _inst_1) (D : Type.{u3}) [_inst_2 : CategoryTheory.Category.{u4, u3} D], CategoryTheory.Equivalence.{max u1 u4, max u1 u4, max (max (max u3 u1) u4) u1 u2, max (max (max u1 u2) u4) u3} (CategoryTheory.Functor.{max u1 u2, u4, u1, u3} (CategoryTheory.MorphismProperty.Localization.{u1, u2} C _inst_1 W) (CategoryTheory.MorphismProperty.instCategoryLocalization.{u1, u2} C _inst_1 W) D _inst_2) (CategoryTheory.MorphismProperty.FunctorsInverting.{u2, u1, u3, u4} C _inst_1 W D _inst_2) (CategoryTheory.Functor.category.{max u1 u2, u4, u1, u3} (CategoryTheory.MorphismProperty.Localization.{u1, u2} C _inst_1 W) (CategoryTheory.MorphismProperty.instCategoryLocalization.{u1, u2} C _inst_1 W) D _inst_2) (CategoryTheory.MorphismProperty.instCategoryFunctorsInverting.{u2, u1, u3, u4} C _inst_1 W D _inst_2)
+Case conversion may be inaccurate. Consider using '#align category_theory.localization.construction.whiskering_left_equivalence CategoryTheory.Localization.Construction.whiskeringLeftEquivalenceₓ'. -/
 /-- The equivalence of categories `(W.localization ⥤ D) ≌ (W.functors_inverting D)`
 induced by the composition with `W.Q : C ⥤ W.localization`. -/
 def whiskeringLeftEquivalence : W.Localization ⥤ D ≌ W.FunctorsInverting D
Diff
@@ -147,7 +147,7 @@ include G hG
 /-- The lifting of a functor to the path category of `loc_quiver W` -/
 @[simps]
 def liftToPathCategory : Paths (LocQuiver W) ⥤ D :=
-  Quiv.lift
+  QuivCat.lift
     { obj := fun X => G.obj X.obj
       map := fun X Y => by
         rintro (f | ⟨g, hg⟩)

Changes in mathlib4

mathlib3
mathlib4
feat(CategoryTheory): morphism properties that have the two-out-of-three property (#12460)

The type class MorphismProperty.HasTwoOutOfThreeProperty is introduced. The structure StableUnderComposition is also changed into a type class IsStableUnderComposition.

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

Diff
@@ -231,8 +231,8 @@ morphisms in the localized category if it contains the image of the
 morphisms in the original category, the inverses of the morphisms
 in `W` and if it is stable under composition -/
 theorem morphismProperty_is_top (P : MorphismProperty W.Localization)
-    (hP₁ : ∀ ⦃X Y : C⦄ (f : X ⟶ Y), P (W.Q.map f))
-    (hP₂ : ∀ ⦃X Y : C⦄ (w : X ⟶ Y) (hw : W w), P (winv w hw)) (hP₃ : P.StableUnderComposition) :
+    [P.IsStableUnderComposition] (hP₁ : ∀ ⦃X Y : C⦄ (f : X ⟶ Y), P (W.Q.map f))
+    (hP₂ : ∀ ⦃X Y : C⦄ (w : X ⟶ Y) (hw : W w), P (winv w hw)) :
     P = ⊤ := by
   funext X Y f
   ext
@@ -251,7 +251,7 @@ theorem morphismProperty_is_top (P : MorphismProperty W.Localization)
     · simpa only [Functor.map_id] using hP₁ (𝟙 X₁.obj)
     · let p' : X₁ ⟶X₂ := p
       rw [show p'.cons g = p' ≫ Quiver.Hom.toPath g by rfl, G.map_comp]
-      refine' hP₃ _ _ hp _
+      refine' P.comp_mem _ _ hp _
       rcases g with (g | ⟨g, hg⟩)
       · apply hP₁
       · apply hP₂
@@ -262,10 +262,9 @@ morphisms in the localized category if it contains the image of the
 morphisms in the original category, if is stable under composition
 and if the property is stable by passing to inverses. -/
 theorem morphismProperty_is_top' (P : MorphismProperty W.Localization)
-    (hP₁ : ∀ ⦃X Y : C⦄ (f : X ⟶ Y), P (W.Q.map f))
-    (hP₂ : ∀ ⦃X Y : W.Localization⦄ (e : X ≅ Y) (_ : P e.hom), P e.inv)
-    (hP₃ : P.StableUnderComposition) : P = ⊤ :=
-  morphismProperty_is_top P hP₁ (fun _ _ w _ => hP₂ _ (hP₁ w)) hP₃
+    [P.IsStableUnderComposition] (hP₁ : ∀ ⦃X Y : C⦄ (f : X ⟶ Y), P (W.Q.map f))
+    (hP₂ : ∀ ⦃X Y : W.Localization⦄ (e : X ≅ Y) (_ : P e.hom), P e.inv) : P = ⊤ :=
+  morphismProperty_is_top P hP₁ (fun _ _ w _ => hP₂ _ (hP₁ w))
 #align category_theory.localization.construction.morphism_property_is_top' CategoryTheory.Localization.Construction.morphismProperty_is_top'
 
 namespace NatTransExtension
@@ -301,7 +300,6 @@ def natTransExtension {F₁ F₂ : W.Localization ⥤ D} (τ : W.Q ⋙ F₁ ⟶
     refine' morphismProperty_is_top'
       (MorphismProperty.naturalityProperty (NatTransExtension.app τ))
       _ (MorphismProperty.naturalityProperty.stableUnderInverse _)
-      (MorphismProperty.naturalityProperty.stableUnderComposition _)
     intros X Y f
     dsimp
     simpa only [NatTransExtension.app_eq] using τ.naturality f
chore(CategoryTheory): make Functor.Full a Prop (#12449)

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

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

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

Diff
@@ -241,11 +241,11 @@ theorem morphismProperty_is_top (P : MorphismProperty W.Localization)
     apply MorphismProperty.top_apply
   · intro
     let G : _ ⥤ W.Localization := Quotient.functor _
-    haveI : G.Full := Quotient.fullFunctor _
+    haveI : G.Full := Quotient.full_functor _
     suffices ∀ (X₁ X₂ : Paths (LocQuiver W)) (f : X₁ ⟶ X₂), P (G.map f) by
       rcases X with ⟨⟨X⟩⟩
       rcases Y with ⟨⟨Y⟩⟩
-      simpa only [Functor.image_preimage] using this _ _ (G.preimage f)
+      simpa only [Functor.map_preimage] using this _ _ (G.preimage f)
     intros X₁ X₂ p
     induction' p with X₂ X₃ p g hp
     · simpa only [Functor.map_id] using hP₁ (𝟙 X₁.obj)
chore: split CategoryTheory.MorphismProperty (#12393)

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

Diff
@@ -3,7 +3,8 @@ Copyright (c) 2022 Joël Riou. All rights reserved.
 Released under Apache 2.0 license as described in the file LICENSE.
 Authors: Joël Riou
 -/
-import Mathlib.CategoryTheory.MorphismProperty
+import Mathlib.CategoryTheory.MorphismProperty.Composition
+import Mathlib.CategoryTheory.MorphismProperty.IsInvertedBy
 import Mathlib.CategoryTheory.Category.Quiv
 
 #align_import category_theory.localization.construction from "leanprover-community/mathlib"@"1a5e56f2166e4e9d0964c71f4273b1d39227678d"
chore: classify porting notes referring to missing linters (#12098)

Reference the newly created issues #12094 and #12096, as well as the pre-existing #5171. Change all references to #10927 to #5171. Some of these changes were not labelled as "porting note"; change this for good measure.

Diff
@@ -51,7 +51,7 @@ namespace Localization
 
 namespace Construction
 
--- porting note (#10927): removed @[nolint has_nonempty_instance]
+-- porting note (#5171): removed @[nolint has_nonempty_instance]
 /-- If `W : MorphismProperty C`, `LocQuiver W` is a quiver with the same objects
 as `C`, and whose morphisms are those in `C` and placeholders for formal
 inverses of the morphisms in `W`. -/
@@ -96,7 +96,7 @@ namespace MorphismProperty
 
 open Localization.Construction
 
--- porting note (#10927): removed @[nolint has_nonempty_instance]
+-- porting note (#5171): removed @[nolint has_nonempty_instance]
 /-- The localized category obtained by formally inverting the morphisms
 in `W : MorphismProperty C` -/
 def Localization :=
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
@@ -240,7 +240,7 @@ theorem morphismProperty_is_top (P : MorphismProperty W.Localization)
     apply MorphismProperty.top_apply
   · intro
     let G : _ ⥤ W.Localization := Quotient.functor _
-    haveI : Full G := Quotient.fullFunctor _
+    haveI : G.Full := Quotient.fullFunctor _
     suffices ∀ (X₁ X₂ : Paths (LocQuiver W)) (f : X₁ ⟶ X₂), P (G.map f) by
       rcases X with ⟨⟨X⟩⟩
       rcases Y with ⟨⟨Y⟩⟩
style: homogenise porting notes (#11145)

Homogenises porting notes via capitalisation and addition of whitespace.

It makes the following changes:

  • converts "--porting note" into "-- Porting note";
  • converts "porting note" into "Porting note".
Diff
@@ -168,7 +168,7 @@ def lift : W.Localization ⥤ D :=
   Quotient.lift (relations W) (liftToPathCategory G hG)
     (by
       rintro ⟨X⟩ ⟨Y⟩ f₁ f₂ r
-      --Porting note: rest of proof was `rcases r with ⟨⟩; tidy`
+      -- Porting note: rest of proof was `rcases r with ⟨⟩; tidy`
       rcases r with (_|_|⟨f,hf⟩|⟨f,hf⟩)
       · aesop_cat
       · aesop_cat
chore: classify removed @[nolint has_nonempty_instance] porting notes (#10929)

Classifies by adding issue number (#10927) to porting notes claiming removed @[nolint has_nonempty_instance].

Diff
@@ -51,7 +51,7 @@ namespace Localization
 
 namespace Construction
 
--- porting note: removed @[nolint has_nonempty_instance]
+-- porting note (#10927): removed @[nolint has_nonempty_instance]
 /-- If `W : MorphismProperty C`, `LocQuiver W` is a quiver with the same objects
 as `C`, and whose morphisms are those in `C` and placeholders for formal
 inverses of the morphisms in `W`. -/
@@ -96,7 +96,7 @@ namespace MorphismProperty
 
 open Localization.Construction
 
--- porting note: removed @[nolint has_nonempty_instance]
+-- porting note (#10927): removed @[nolint has_nonempty_instance]
 /-- The localized category obtained by formally inverting the morphisms
 in `W : MorphismProperty C` -/
 def Localization :=
chore: remove stream-of-consciousness uses of have, replace and suffices (#10640)

No changes to tactic file, it's just boring fixes throughout the library.

This follows on from #6964.

Co-authored-by: sgouezel <sebastien.gouezel@univ-rennes1.fr> Co-authored-by: Eric Wieser <wieser.eric@gmail.com>

Diff
@@ -190,23 +190,23 @@ theorem fac : W.Q ⋙ lift G hG = G :=
 #align category_theory.localization.construction.fac CategoryTheory.Localization.Construction.fac
 
 theorem uniq (G₁ G₂ : W.Localization ⥤ D) (h : W.Q ⋙ G₁ = W.Q ⋙ G₂) : G₁ = G₂ := by
-  suffices h' : Quotient.functor _ ⋙ G₁ = Quotient.functor _ ⋙ G₂
-  · refine' Functor.ext _ _
+  suffices h' : Quotient.functor _ ⋙ G₁ = Quotient.functor _ ⋙ G₂ by
+    refine' Functor.ext _ _
     · rintro ⟨⟨X⟩⟩
       apply Functor.congr_obj h
     · rintro ⟨⟨X⟩⟩ ⟨⟨Y⟩⟩ ⟨f⟩
       apply Functor.congr_hom h'
-  · refine' Paths.ext_functor _ _
-    · ext X
-      cases X
-      apply Functor.congr_obj h
-    · rintro ⟨X⟩ ⟨Y⟩ (f | ⟨w, hw⟩)
-      · simpa only using Functor.congr_hom h f
-      · have hw : W.Q.map w = (wIso w hw).hom := rfl
-        have hw' := Functor.congr_hom h w
-        simp only [Functor.comp_map, hw] at hw'
-        refine' Functor.congr_inv_of_congr_hom _ _ _ _ _ hw'
-        all_goals apply Functor.congr_obj h
+  refine' Paths.ext_functor _ _
+  · ext X
+    cases X
+    apply Functor.congr_obj h
+  · rintro ⟨X⟩ ⟨Y⟩ (f | ⟨w, hw⟩)
+    · simpa only using Functor.congr_hom h f
+    · have hw : W.Q.map w = (wIso w hw).hom := rfl
+      have hw' := Functor.congr_hom h w
+      simp only [Functor.comp_map, hw] at hw'
+      refine' Functor.congr_inv_of_congr_hom _ _ _ _ _ hw'
+      all_goals apply Functor.congr_obj h
 #align category_theory.localization.construction.uniq CategoryTheory.Localization.Construction.uniq
 
 variable (W)
chore: cleanup some spaces (#7484)

Purely cosmetic PR.

Diff
@@ -345,7 +345,7 @@ def inverse : W.FunctorsInverting D ⥤ W.Localization ⥤ D
         ext X
         simp only [NatTrans.comp_app, eqToHom_app, eqToHom_refl, comp_id, id_comp,
           NatTrans.hcomp_id_app, NatTrans.id_app, Functor.map_id]
-        rfl )
+        rfl)
   map_comp τ₁ τ₂ :=
     natTrans_hcomp_injective
       (by
chore: Remove Cat suffixes (#3730)

These names needn't change in the first place.

Diff
@@ -4,7 +4,7 @@ Released under Apache 2.0 license as described in the file LICENSE.
 Authors: Joël Riou
 -/
 import Mathlib.CategoryTheory.MorphismProperty
-import Mathlib.CategoryTheory.Category.QuivCat
+import Mathlib.CategoryTheory.Category.Quiv
 
 #align_import category_theory.localization.construction from "leanprover-community/mathlib"@"1a5e56f2166e4e9d0964c71f4273b1d39227678d"
 
@@ -152,7 +152,7 @@ variable {W} (G : C ⥤ D) (hG : W.IsInvertedBy G)
 /-- The lifting of a functor to the path category of `LocQuiver W` -/
 @[simps!]
 def liftToPathCategory : Paths (LocQuiver W) ⥤ D :=
-  QuivCat.lift
+  Quiv.lift
     { obj := fun X => G.obj X.obj
       map := by
         intros X Y
feat: the quotient category is preadditive (#7049)

It is shown in this PR that when an equivalence relation on morphisms in a preadditive category is compatible with the addition, then the quotient category is preadditive.

Diff
@@ -185,7 +185,7 @@ theorem fac : W.Q ⋙ lift G hG = G :=
     (by
       intro X Y f
       simp only [Functor.comp_map, eqToHom_refl, comp_id, id_comp]
-      dsimp [MorphismProperty.Q, Quot.liftOn]
+      dsimp [MorphismProperty.Q, Quot.liftOn, Quotient.functor]
       rw [composePath_toPath])
 #align category_theory.localization.construction.fac CategoryTheory.Localization.Construction.fac
 
fix(CategoryTheory/Localization/Construction): restore universe polymorphism (#6685)

Zulip thread.

Without explicit universes, CategoryTheory.Localization.Construction.relations (and everything downstream) was inferred as taking Category.{u,u} C.

Diff
@@ -43,7 +43,9 @@ open CategoryTheory.Category
 
 namespace CategoryTheory
 
-variable {C : Type*} [Category C] (W : MorphismProperty C) {D : Type*} [Category D]
+-- category universes first for convenience
+universe uC' uD' uC uD
+variable {C : Type uC} [Category.{uC'} C] (W : MorphismProperty C) {D : Type uD} [Category.{uD'} D]
 
 namespace Localization
 
chore: banish Type _ and Sort _ (#6499)

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

This has nice performance benefits.

Diff
@@ -43,7 +43,7 @@ open CategoryTheory.Category
 
 namespace CategoryTheory
 
-variable {C : Type _} [Category C] (W : MorphismProperty C) {D : Type _} [Category D]
+variable {C : Type*} [Category C] (W : MorphismProperty C) {D : Type*} [Category D]
 
 namespace Localization
 
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,15 +2,12 @@
 Copyright (c) 2022 Joël Riou. All rights reserved.
 Released under Apache 2.0 license as described in the file LICENSE.
 Authors: Joël Riou
-
-! This file was ported from Lean 3 source module category_theory.localization.construction
-! leanprover-community/mathlib commit 1a5e56f2166e4e9d0964c71f4273b1d39227678d
-! Please do not edit these lines, except to modify the commit id
-! if you have ported upstream changes.
 -/
 import Mathlib.CategoryTheory.MorphismProperty
 import Mathlib.CategoryTheory.Category.QuivCat
 
+#align_import category_theory.localization.construction from "leanprover-community/mathlib"@"1a5e56f2166e4e9d0964c71f4273b1d39227678d"
+
 /-!
 
 # Construction of the localized category
chore: fix focusing dots (#5708)

This PR is the result of running

find . -type f -name "*.lean" -exec sed -i -E 's/^( +)\. /\1· /' {} \;
find . -type f -name "*.lean" -exec sed -i -E 'N;s/^( +·)\n +(.*)$/\1 \2/;P;D' {} \;

which firstly replaces . focusing dots with · and secondly removes isolated instances of such dots, unifying them with the following line. A new rule is placed in the style linter to verify this.

Diff
@@ -158,8 +158,8 @@ def liftToPathCategory : Paths (LocQuiver W) ⥤ D :=
       map := by
         intros X Y
         rintro (f | ⟨g, hg⟩)
-        . exact G.map f
-        . haveI := hG g hg
+        · exact G.map f
+        · haveI := hG g hg
           exact inv (G.map g) }
 #align category_theory.localization.construction.lift_to_path_category CategoryTheory.Localization.Construction.liftToPathCategory
 
@@ -171,8 +171,8 @@ def lift : W.Localization ⥤ D :=
       rintro ⟨X⟩ ⟨Y⟩ f₁ f₂ r
       --Porting note: rest of proof was `rcases r with ⟨⟩; tidy`
       rcases r with (_|_|⟨f,hf⟩|⟨f,hf⟩)
-      . aesop_cat
-      . aesop_cat
+      · aesop_cat
+      · aesop_cat
       all_goals
         dsimp
         haveI := hG f hf
@@ -237,7 +237,7 @@ theorem morphismProperty_is_top (P : MorphismProperty W.Localization)
   funext X Y f
   ext
   constructor
-  . intro
+  · intro
     apply MorphismProperty.top_apply
   · intro
     let G : _ ⥤ W.Localization := Quotient.functor _
@@ -249,12 +249,12 @@ theorem morphismProperty_is_top (P : MorphismProperty W.Localization)
     intros X₁ X₂ p
     induction' p with X₂ X₃ p g hp
     · simpa only [Functor.map_id] using hP₁ (𝟙 X₁.obj)
-    . let p' : X₁ ⟶X₂ := p
+    · let p' : X₁ ⟶X₂ := p
       rw [show p'.cons g = p' ≫ Quiver.Hom.toPath g by rfl, G.map_comp]
       refine' hP₃ _ _ hp _
       rcases g with (g | ⟨g, hg⟩)
-      . apply hP₁
-      . apply hP₂
+      · apply hP₁
+      · apply hP₂
 #align category_theory.localization.construction.morphism_property_is_top CategoryTheory.Localization.Construction.morphismProperty_is_top
 
 /-- A `MorphismProperty` in `W.Localization` is satisfied by all
chore: add @[ext] lemmas for NatTrans synonyms (#5228)

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

Diff
@@ -382,8 +382,7 @@ def counitIso : inverse W D ⋙ functor W D ≅ 𝟭 (W.FunctorsInverting D) :=
         ext
         exact fac G hG
       · rintro ⟨G₁, hG₁⟩ ⟨G₂, hG₂⟩ f
-        apply NatTrans.ext
-        ext1
+        ext
         apply NatTransExtension.app_eq)
 #align category_theory.localization.construction.whiskering_left_equivalence.counit_iso CategoryTheory.Localization.Construction.WhiskeringLeftEquivalence.counitIso
 
@@ -398,8 +397,7 @@ def whiskeringLeftEquivalence : W.Localization ⥤ D ≌ W.FunctorsInverting D
   unitIso := WhiskeringLeftEquivalence.unitIso W D
   counitIso := WhiskeringLeftEquivalence.counitIso W D
   functor_unitIso_comp F := by
-    apply NatTrans.ext
-    ext1
+    ext
     simp only [WhiskeringLeftEquivalence.unitIso_hom, eqToHom_app, eqToHom_refl,
       WhiskeringLeftEquivalence.counitIso_hom, eqToHom_map, eqToHom_trans]
     rfl
chore: bye-bye, solo bys! (#3825)

This PR puts, with one exception, every single remaining by that lies all by itself on its own line to the previous line, thus matching the current behaviour of start-port.sh. The exception is when the by begins the second or later argument to a tuple or anonymous constructor; see https://github.com/leanprover-community/mathlib4/pull/3825#discussion_r1186702599.

Essentially this is s/\n *by$/ by/g, but with manual editing to satisfy the linter's max-100-char-line requirement. The Python style linter is also modified to catch these "isolated bys".

Diff
@@ -242,9 +242,7 @@ theorem morphismProperty_is_top (P : MorphismProperty W.Localization)
   · intro
     let G : _ ⥤ W.Localization := Quotient.functor _
     haveI : Full G := Quotient.fullFunctor _
-    suffices
-      ∀ (X₁ X₂ : Paths (LocQuiver W)) (f : X₁ ⟶ X₂), P (G.map f)
-      by
+    suffices ∀ (X₁ X₂ : Paths (LocQuiver W)) (f : X₁ ⟶ X₂), P (G.map f) by
       rcases X with ⟨⟨X⟩⟩
       rcases Y with ⟨⟨Y⟩⟩
       simpa only [Functor.image_preimage] using this _ _ (G.preimage f)
@@ -297,8 +295,7 @@ def natTransExtension {F₁ F₂ : W.Localization ⥤ D} (τ : W.Q ⋙ F₁ ⟶
     where
   app := NatTransExtension.app τ
   naturality := by
-    suffices MorphismProperty.naturalityProperty (NatTransExtension.app τ) = ⊤
-      by
+    suffices MorphismProperty.naturalityProperty (NatTransExtension.app τ) = ⊤ by
       intro X Y f
       simpa only [← this] using MorphismProperty.top_apply f
     refine' morphismProperty_is_top'
feat: port CategoryTheory.Localization.Construction (#2917)

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

Dependencies 2 + 260

261 files ported (99.2%)
108323 lines ported (99.9%)
Show graph

The unported dependencies are