category_theory.bicategory.coherenceMathlib.CategoryTheory.Bicategory.Coherence

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)

(last sync)

Changes in mathlib3port

mathlib3
mathlib3port
Diff
@@ -196,7 +196,7 @@ theorem normalize_naturality {a b c : B} (p : Path a b) {f g : Hom b c} (η : f
     dsimp
     rw [associator_inv_naturality_middle_assoc, ← comp_whisker_right_assoc, ih, comp_whisker_right]
     have := dcongr_arg (fun x => (normalize_iso x h).Hom) (normalize_aux_congr p (Quot.mk _ η))
-    dsimp at this ; simp [this]
+    dsimp at this; simp [this]
   all_goals dsimp; dsimp [id_def, comp_def]; simp
 #align category_theory.free_bicategory.normalize_naturality CategoryTheory.FreeBicategory.normalize_naturality
 -/
Diff
@@ -3,10 +3,10 @@ Copyright (c) 2022 Yuma Mizuno. All rights reserved.
 Released under Apache 2.0 license as described in the file LICENSE.
 Authors: Yuma Mizuno, Junyan Xu
 -/
-import Mathbin.CategoryTheory.PathCategory
-import Mathbin.CategoryTheory.Functor.FullyFaithful
-import Mathbin.CategoryTheory.Bicategory.Free
-import Mathbin.CategoryTheory.Bicategory.LocallyDiscrete
+import CategoryTheory.PathCategory
+import CategoryTheory.Functor.FullyFaithful
+import CategoryTheory.Bicategory.Free
+import CategoryTheory.Bicategory.LocallyDiscrete
 
 #align_import category_theory.bicategory.coherence from "leanprover-community/mathlib"@"f60c6087a7275b72d5db3c5a1d0e19e35a429c0a"
 
Diff
@@ -2,17 +2,14 @@
 Copyright (c) 2022 Yuma Mizuno. All rights reserved.
 Released under Apache 2.0 license as described in the file LICENSE.
 Authors: Yuma Mizuno, Junyan Xu
-
-! This file was ported from Lean 3 source module category_theory.bicategory.coherence
-! leanprover-community/mathlib commit f60c6087a7275b72d5db3c5a1d0e19e35a429c0a
-! Please do not edit these lines, except to modify the commit id
-! if you have ported upstream changes.
 -/
 import Mathbin.CategoryTheory.PathCategory
 import Mathbin.CategoryTheory.Functor.FullyFaithful
 import Mathbin.CategoryTheory.Bicategory.Free
 import Mathbin.CategoryTheory.Bicategory.LocallyDiscrete
 
+#align_import category_theory.bicategory.coherence from "leanprover-community/mathlib"@"f60c6087a7275b72d5db3c5a1d0e19e35a429c0a"
+
 /-!
 # The coherence theorem for bicategories
 
Diff
@@ -91,11 +91,14 @@ def preinclusion (B : Type u) [Quiver.{v + 1} B] :
 #align category_theory.free_bicategory.preinclusion CategoryTheory.FreeBicategory.preinclusion
 -/
 
+#print CategoryTheory.FreeBicategory.preinclusion_obj /-
 @[simp]
 theorem preinclusion_obj (a : B) : (preinclusion B).obj a = a :=
   rfl
 #align category_theory.free_bicategory.preinclusion_obj CategoryTheory.FreeBicategory.preinclusion_obj
+-/
 
+#print CategoryTheory.FreeBicategory.preinclusion_map₂ /-
 @[simp]
 theorem preinclusion_map₂ {a b : B} (f g : Discrete (Path.{v + 1} a b)) (η : f ⟶ g) :
     (preinclusion B).zipWith η = eqToHom (congr_arg _ (Discrete.ext _ _ (Discrete.eq_of_hom η))) :=
@@ -104,6 +107,7 @@ theorem preinclusion_map₂ {a b : B} (f g : Discrete (Path.{v + 1} a b)) (η :
   cases discrete.ext _ _ η
   exact (inclusion_path a b).map_id _
 #align category_theory.free_bicategory.preinclusion_map₂ CategoryTheory.FreeBicategory.preinclusion_map₂
+-/
 
 #print CategoryTheory.FreeBicategory.normalizeAux /-
 /-- The normalization of the composition of `p : path a b` and `f : hom b c`.
@@ -119,6 +123,7 @@ def normalizeAux {a : B} : ∀ {b c : B}, Path a b → Hom b c → Path a c
 #align category_theory.free_bicategory.normalize_aux CategoryTheory.FreeBicategory.normalizeAux
 -/
 
+#print CategoryTheory.FreeBicategory.normalizeIso /-
 /-
 We may define
 ```
@@ -150,6 +155,7 @@ def normalizeIso {a : B} :
   | _, _, p, hom.comp f g =>
     (α_ _ _ _).symm ≪≫ whiskerRightIso (normalize_iso p f) g ≪≫ normalize_iso (normalizeAux p f) g
 #align category_theory.free_bicategory.normalize_iso CategoryTheory.FreeBicategory.normalizeIso
+-/
 
 #print CategoryTheory.FreeBicategory.normalizeAux_congr /-
 /-- Given a 2-morphism between `f` and `g` in the free bicategory, we have the equality
@@ -170,6 +176,7 @@ theorem normalizeAux_congr {a b c : B} (p : Path a b) {f g : Hom b c} (η : f 
 #align category_theory.free_bicategory.normalize_aux_congr CategoryTheory.FreeBicategory.normalizeAux_congr
 -/
 
+#print CategoryTheory.FreeBicategory.normalize_naturality /-
 /-- The 2-isomorphism `normalize_iso p f` is natural in `f`. -/
 theorem normalize_naturality {a b c : B} (p : Path a b) {f g : Hom b c} (η : f ⟶ g) :
     (preinclusion B).map ⟨p⟩ ◁ η ≫ (normalizeIso p g).Hom =
@@ -195,6 +202,7 @@ theorem normalize_naturality {a b c : B} (p : Path a b) {f g : Hom b c} (η : f
     dsimp at this ; simp [this]
   all_goals dsimp; dsimp [id_def, comp_def]; simp
 #align category_theory.free_bicategory.normalize_naturality CategoryTheory.FreeBicategory.normalize_naturality
+-/
 
 #print CategoryTheory.FreeBicategory.normalizeAux_nil_comp /-
 @[simp]
@@ -234,11 +242,13 @@ def normalizeUnitIso (a b : FreeBicategory B) :
 #align category_theory.free_bicategory.normalize_unit_iso CategoryTheory.FreeBicategory.normalizeUnitIso
 -/
 
+#print CategoryTheory.FreeBicategory.normalizeEquiv /-
 /-- Normalization as an equivalence of categories. -/
 def normalizeEquiv (a b : B) : Hom a b ≌ Discrete (Path.{v + 1} a b) :=
   Equivalence.mk ((normalize _).mapFunctor a b) (inclusionPath a b) (normalizeUnitIso a b)
     (Discrete.natIso fun f => eqToIso (by induction f <;> induction f <;> tidy))
 #align category_theory.free_bicategory.normalize_equiv CategoryTheory.FreeBicategory.normalizeEquiv
+-/
 
 #print CategoryTheory.FreeBicategory.locally_thin /-
 /-- The coherence theorem for bicategories. -/
@@ -247,6 +257,7 @@ instance locally_thin {a b : FreeBicategory B} : Quiver.IsThin (a ⟶ b) := fun
 #align category_theory.free_bicategory.locally_thin CategoryTheory.FreeBicategory.locally_thin
 -/
 
+#print CategoryTheory.FreeBicategory.inclusionMapCompAux /-
 /-- Auxiliary definition for `inclusion`. -/
 def inclusionMapCompAux {a b : B} :
     ∀ {c : B} (f : Path a b) (g : Path b c),
@@ -254,6 +265,7 @@ def inclusionMapCompAux {a b : B} :
   | _, f, nil => (ρ_ ((preinclusion _).map ⟨f⟩)).symm
   | _, f, cons g₁ g₂ => whiskerRightIso (inclusion_map_comp_aux f g₁) (Hom.of g₂) ≪≫ α_ _ _ _
 #align category_theory.free_bicategory.inclusion_map_comp_aux CategoryTheory.FreeBicategory.inclusionMapCompAux
+-/
 
 #print CategoryTheory.FreeBicategory.inclusion /-
 /-- The inclusion pseudofunctor from the locally discrete bicategory on the path category into the
Diff
@@ -178,21 +178,21 @@ theorem normalize_naturality {a b c : B} (p : Path a b) {f g : Hom b c} (η : f
   by
   rcases η with ⟨⟩; induction η
   case id => simp
-  case
-    vcomp _ _ _ _ _ _ _ ihf ihg =>
+  case vcomp _ _ _ _ _ _ _ ihf
+    ihg =>
     rw [mk_vcomp, bicategory.whisker_left_comp]
     slice_lhs 2 3 => rw [ihg]
     slice_lhs 1 2 => rw [ihf]
     simp
-  case
-    whisker_left _ _ _ _ _ _ _ ih =>-- p ≠ nil required! See the docstring of `normalize_aux`.
+  case whisker_left _ _ _ _ _ _ _
+    ih =>-- p ≠ nil required! See the docstring of `normalize_aux`.
     dsimp;
     simp_rw [associator_inv_naturality_right_assoc, whisker_exchange_assoc, ih, assoc]
   case whisker_right _ _ _ _ _ h η ih =>
     dsimp
     rw [associator_inv_naturality_middle_assoc, ← comp_whisker_right_assoc, ih, comp_whisker_right]
     have := dcongr_arg (fun x => (normalize_iso x h).Hom) (normalize_aux_congr p (Quot.mk _ η))
-    dsimp at this; simp [this]
+    dsimp at this ; simp [this]
   all_goals dsimp; dsimp [id_def, comp_def]; simp
 #align category_theory.free_bicategory.normalize_naturality CategoryTheory.FreeBicategory.normalize_naturality
 
Diff
@@ -4,7 +4,7 @@ Released under Apache 2.0 license as described in the file LICENSE.
 Authors: Yuma Mizuno, Junyan Xu
 
 ! This file was ported from Lean 3 source module category_theory.bicategory.coherence
-! leanprover-community/mathlib commit f187f1074fa1857c94589cc653c786cadc4c35ff
+! leanprover-community/mathlib commit f60c6087a7275b72d5db3c5a1d0e19e35a429c0a
 ! Please do not edit these lines, except to modify the commit id
 ! if you have ported upstream changes.
 -/
@@ -16,6 +16,9 @@ import Mathbin.CategoryTheory.Bicategory.LocallyDiscrete
 /-!
 # The coherence theorem for bicategories
 
+> THIS FILE IS SYNCHRONIZED WITH MATHLIB4.
+> Any changes to this file require a corresponding PR to mathlib4.
+
 In this file, we prove the coherence theorem for bicategories, stated in the following form: the
 free bicategory over any quiver is locally thin.
 
Diff
@@ -48,7 +48,7 @@ namespace CategoryTheory
 
 open Bicategory Category
 
-open Bicategory
+open scoped Bicategory
 
 universe v u
 
Diff
@@ -56,20 +56,25 @@ namespace FreeBicategory
 
 variable {B : Type u} [Quiver.{v + 1} B]
 
+#print CategoryTheory.FreeBicategory.inclusionPathAux /-
 /-- Auxiliary definition for `inclusion_path`. -/
 @[simp]
 def inclusionPathAux {a : B} : ∀ {b : B}, Path a b → Hom a b
   | _, nil => Hom.id a
   | _, cons p f => (inclusion_path_aux p).comp (Hom.of f)
 #align category_theory.free_bicategory.inclusion_path_aux CategoryTheory.FreeBicategory.inclusionPathAux
+-/
 
+#print CategoryTheory.FreeBicategory.inclusionPath /-
 /-- The discrete category on the paths includes into the category of 1-morphisms in the free
 bicategory.
 -/
 def inclusionPath (a b : B) : Discrete (Path.{v + 1} a b) ⥤ Hom a b :=
   Discrete.functor inclusionPathAux
 #align category_theory.free_bicategory.inclusion_path CategoryTheory.FreeBicategory.inclusionPath
+-/
 
+#print CategoryTheory.FreeBicategory.preinclusion /-
 /-- The inclusion from the locally discrete bicategory on the path category into the free bicategory
 as a prelax functor. This will be promoted to a pseudofunctor after proving the coherence theorem.
 See `inclusion`.
@@ -81,6 +86,7 @@ def preinclusion (B : Type u) [Quiver.{v + 1} B] :
   map a b := (inclusionPath a b).obj
   zipWith a b f g η := (inclusionPath a b).map η
 #align category_theory.free_bicategory.preinclusion CategoryTheory.FreeBicategory.preinclusion
+-/
 
 @[simp]
 theorem preinclusion_obj (a : B) : (preinclusion B).obj a = a :=
@@ -96,6 +102,7 @@ theorem preinclusion_map₂ {a b : B} (f g : Discrete (Path.{v + 1} a b)) (η :
   exact (inclusion_path a b).map_id _
 #align category_theory.free_bicategory.preinclusion_map₂ CategoryTheory.FreeBicategory.preinclusion_map₂
 
+#print CategoryTheory.FreeBicategory.normalizeAux /-
 /-- The normalization of the composition of `p : path a b` and `f : hom b c`.
 `p` will eventually be taken to be `nil` and we then get the normalization
 of `f` alone, but the auxiliary `p` is necessary for Lean to accept the definition of
@@ -107,6 +114,7 @@ def normalizeAux {a : B} : ∀ {b c : B}, Path a b → Hom b c → Path a c
   | _, _, p, hom.id b => p
   | _, _, p, hom.comp f g => normalize_aux (normalize_aux p f) g
 #align category_theory.free_bicategory.normalize_aux CategoryTheory.FreeBicategory.normalizeAux
+-/
 
 /-
 We may define
@@ -140,6 +148,7 @@ def normalizeIso {a : B} :
     (α_ _ _ _).symm ≪≫ whiskerRightIso (normalize_iso p f) g ≪≫ normalize_iso (normalizeAux p f) g
 #align category_theory.free_bicategory.normalize_iso CategoryTheory.FreeBicategory.normalizeIso
 
+#print CategoryTheory.FreeBicategory.normalizeAux_congr /-
 /-- Given a 2-morphism between `f` and `g` in the free bicategory, we have the equality
 `normalize_aux p f = normalize_aux p g`.
 -/
@@ -156,6 +165,7 @@ theorem normalizeAux_congr {a b c : B} (p : Path a b) {f g : Hom b c} (η : f 
   case whisker_right _ _ _ _ _ _ _ ih => funext; apply congr_arg₂ _ (congr_fun ih p) rfl
   all_goals funext; rfl
 #align category_theory.free_bicategory.normalize_aux_congr CategoryTheory.FreeBicategory.normalizeAux_congr
+-/
 
 /-- The 2-isomorphism `normalize_iso p f` is natural in `f`. -/
 theorem normalize_naturality {a b c : B} (p : Path a b) {f g : Hom b c} (η : f ⟶ g) :
@@ -183,6 +193,7 @@ theorem normalize_naturality {a b c : B} (p : Path a b) {f g : Hom b c} (η : f
   all_goals dsimp; dsimp [id_def, comp_def]; simp
 #align category_theory.free_bicategory.normalize_naturality CategoryTheory.FreeBicategory.normalize_naturality
 
+#print CategoryTheory.FreeBicategory.normalizeAux_nil_comp /-
 @[simp]
 theorem normalizeAux_nil_comp {a b c : B} (f : Hom a b) (g : Hom b c) :
     normalizeAux nil (f.comp g) = (normalizeAux nil f).comp (normalizeAux nil g) :=
@@ -192,7 +203,9 @@ theorem normalizeAux_nil_comp {a b c : B} (f : Hom a b) (g : Hom b c) :
   case of => rfl
   case comp _ _ _ g _ ihf ihg => erw [ihg (f.comp g), ihf f, ihg g, comp_assoc]
 #align category_theory.free_bicategory.normalize_aux_nil_comp CategoryTheory.FreeBicategory.normalizeAux_nil_comp
+-/
 
+#print CategoryTheory.FreeBicategory.normalize /-
 /-- The normalization pseudofunctor for the free bicategory on a quiver `B`. -/
 def normalize (B : Type u) [Quiver.{v + 1} B] :
     Pseudofunctor (FreeBicategory B) (LocallyDiscrete (Paths B))
@@ -203,7 +216,9 @@ def normalize (B : Type u) [Quiver.{v + 1} B] :
   map_id a := eqToIso <| Discrete.ext _ _ rfl
   map_comp a b c f g := eqToIso <| Discrete.ext _ _ <| normalizeAux_nil_comp f g
 #align category_theory.free_bicategory.normalize CategoryTheory.FreeBicategory.normalize
+-/
 
+#print CategoryTheory.FreeBicategory.normalizeUnitIso /-
 /-- Auxiliary definition for `normalize_equiv`. -/
 def normalizeUnitIso (a b : FreeBicategory B) :
     𝟭 (a ⟶ b) ≅ (normalize B).mapFunctor a b ⋙ inclusionPath a b :=
@@ -214,6 +229,7 @@ def normalizeUnitIso (a b : FreeBicategory B) :
       congr 1
       exact normalize_naturality nil η)
 #align category_theory.free_bicategory.normalize_unit_iso CategoryTheory.FreeBicategory.normalizeUnitIso
+-/
 
 /-- Normalization as an equivalence of categories. -/
 def normalizeEquiv (a b : B) : Hom a b ≌ Discrete (Path.{v + 1} a b) :=
@@ -221,10 +237,12 @@ def normalizeEquiv (a b : B) : Hom a b ≌ Discrete (Path.{v + 1} a b) :=
     (Discrete.natIso fun f => eqToIso (by induction f <;> induction f <;> tidy))
 #align category_theory.free_bicategory.normalize_equiv CategoryTheory.FreeBicategory.normalizeEquiv
 
+#print CategoryTheory.FreeBicategory.locally_thin /-
 /-- The coherence theorem for bicategories. -/
 instance locally_thin {a b : FreeBicategory B} : Quiver.IsThin (a ⟶ b) := fun _ _ =>
   ⟨fun η θ => (normalizeEquiv a b).Functor.map_injective (Subsingleton.elim _ _)⟩
 #align category_theory.free_bicategory.locally_thin CategoryTheory.FreeBicategory.locally_thin
+-/
 
 /-- Auxiliary definition for `inclusion`. -/
 def inclusionMapCompAux {a b : B} :
@@ -234,6 +252,7 @@ def inclusionMapCompAux {a b : B} :
   | _, f, cons g₁ g₂ => whiskerRightIso (inclusion_map_comp_aux f g₁) (Hom.of g₂) ≪≫ α_ _ _ _
 #align category_theory.free_bicategory.inclusion_map_comp_aux CategoryTheory.FreeBicategory.inclusionMapCompAux
 
+#print CategoryTheory.FreeBicategory.inclusion /-
 /-- The inclusion pseudofunctor from the locally discrete bicategory on the path category into the
 free bicategory.
 -/
@@ -245,6 +264,7 @@ def inclusion (B : Type u) [Quiver.{v + 1} B] :
     map_id := fun a => Iso.refl (𝟙 a)
     map_comp := fun a b c f g => inclusionMapCompAux f.as g.as }
 #align category_theory.free_bicategory.inclusion CategoryTheory.FreeBicategory.inclusion
+-/
 
 end FreeBicategory
 
Diff
@@ -56,12 +56,6 @@ namespace FreeBicategory
 
 variable {B : Type u} [Quiver.{v + 1} B]
 
-/- warning: category_theory.free_bicategory.inclusion_path_aux -> CategoryTheory.FreeBicategory.inclusionPathAux is a dubious translation:
-lean 3 declaration is
-  forall {B : Type.{u2}} [_inst_1 : Quiver.{succ u1, u2} B] {a : B} {b : B}, (Quiver.Path.{succ u1, u2} B _inst_1 a b) -> (CategoryTheory.FreeBicategory.Hom.{u1, u2} B _inst_1 a b)
-but is expected to have type
-  forall {B : Type.{u1}} [_inst_1 : Quiver.{succ u2, u1} B] {a : B} {b : B}, (Quiver.Path.{succ u2, u1} B _inst_1 a b) -> (CategoryTheory.FreeBicategory.Hom.{u2, u1} B _inst_1 a b)
-Case conversion may be inaccurate. Consider using '#align category_theory.free_bicategory.inclusion_path_aux CategoryTheory.FreeBicategory.inclusionPathAuxₓ'. -/
 /-- Auxiliary definition for `inclusion_path`. -/
 @[simp]
 def inclusionPathAux {a : B} : ∀ {b : B}, Path a b → Hom a b
@@ -102,12 +96,6 @@ theorem preinclusion_map₂ {a b : B} (f g : Discrete (Path.{v + 1} a b)) (η :
   exact (inclusion_path a b).map_id _
 #align category_theory.free_bicategory.preinclusion_map₂ CategoryTheory.FreeBicategory.preinclusion_map₂
 
-/- warning: category_theory.free_bicategory.normalize_aux -> CategoryTheory.FreeBicategory.normalizeAux is a dubious translation:
-lean 3 declaration is
-  forall {B : Type.{u2}} [_inst_1 : Quiver.{succ u1, u2} B] {a : B} {b : B} {c : B}, (Quiver.Path.{succ u1, u2} B _inst_1 a b) -> (CategoryTheory.FreeBicategory.Hom.{u1, u2} B _inst_1 b c) -> (Quiver.Path.{succ u1, u2} B _inst_1 a c)
-but is expected to have type
-  forall {B : Type.{u1}} [_inst_1 : Quiver.{succ u2, u1} B] {a : B} {b : B} {c : B}, (Quiver.Path.{succ u2, u1} B _inst_1 a b) -> (CategoryTheory.FreeBicategory.Hom.{u2, u1} B _inst_1 b c) -> (Quiver.Path.{succ u2, u1} B _inst_1 a c)
-Case conversion may be inaccurate. Consider using '#align category_theory.free_bicategory.normalize_aux CategoryTheory.FreeBicategory.normalizeAuxₓ'. -/
 /-- The normalization of the composition of `p : path a b` and `f : hom b c`.
 `p` will eventually be taken to be `nil` and we then get the normalization
 of `f` alone, but the auxiliary `p` is necessary for Lean to accept the definition of
@@ -120,9 +108,6 @@ def normalizeAux {a : B} : ∀ {b c : B}, Path a b → Hom b c → Path a c
   | _, _, p, hom.comp f g => normalize_aux (normalize_aux p f) g
 #align category_theory.free_bicategory.normalize_aux CategoryTheory.FreeBicategory.normalizeAux
 
-/- warning: category_theory.free_bicategory.normalize_iso -> CategoryTheory.FreeBicategory.normalizeIso is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align category_theory.free_bicategory.normalize_iso CategoryTheory.FreeBicategory.normalizeIsoₓ'. -/
 /-
 We may define
 ```
@@ -241,9 +226,6 @@ instance locally_thin {a b : FreeBicategory B} : Quiver.IsThin (a ⟶ b) := fun
   ⟨fun η θ => (normalizeEquiv a b).Functor.map_injective (Subsingleton.elim _ _)⟩
 #align category_theory.free_bicategory.locally_thin CategoryTheory.FreeBicategory.locally_thin
 
-/- warning: category_theory.free_bicategory.inclusion_map_comp_aux -> CategoryTheory.FreeBicategory.inclusionMapCompAux is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align category_theory.free_bicategory.inclusion_map_comp_aux CategoryTheory.FreeBicategory.inclusionMapCompAuxₓ'. -/
 /-- Auxiliary definition for `inclusion`. -/
 def inclusionMapCompAux {a b : B} :
     ∀ {c : B} (f : Path a b) (g : Path b c),
Diff
@@ -121,10 +121,7 @@ def normalizeAux {a : B} : ∀ {b c : B}, Path a b → Hom b c → Path a c
 #align category_theory.free_bicategory.normalize_aux CategoryTheory.FreeBicategory.normalizeAux
 
 /- warning: category_theory.free_bicategory.normalize_iso -> CategoryTheory.FreeBicategory.normalizeIso is a dubious translation:
-lean 3 declaration is
-  forall {B : Type.{u2}} [_inst_1 : Quiver.{succ u1, u2} B] {a : B} {b : B} {c : B} (p : Quiver.Path.{succ u1, u2} B _inst_1 a b) (f : CategoryTheory.FreeBicategory.Hom.{u1, u2} B _inst_1 b c), CategoryTheory.Iso.{max u2 u1, max u2 u1} (Quiver.Hom.{succ (max u2 u1), u2} (CategoryTheory.FreeBicategory.{u2} B) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, u2} (CategoryTheory.FreeBicategory.{u2} B) (CategoryTheory.Bicategory.toCategoryStruct.{max u2 u1, max u2 u1, u2} (CategoryTheory.FreeBicategory.{u2} B) (CategoryTheory.FreeBicategory.bicategory.{u1, u2} B _inst_1))) (CategoryTheory.PrelaxFunctor.obj.{max u2 u1, max u2 u1, max u2 u1, max u2 u1, u2, u2} (CategoryTheory.LocallyDiscrete.{u2} (CategoryTheory.Paths.{u2} B)) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, u2} (CategoryTheory.LocallyDiscrete.{u2} (CategoryTheory.Paths.{u2} B)) (CategoryTheory.LocallyDiscrete.CategoryTheory.categoryStruct.{max u2 u1, u2} (CategoryTheory.Paths.{u2} B) (CategoryTheory.Category.toCategoryStruct.{max u2 u1, u2} (CategoryTheory.Paths.{u2} B) (CategoryTheory.Paths.categoryPaths.{u1, u2} B _inst_1)))) (fun (a : CategoryTheory.LocallyDiscrete.{u2} (CategoryTheory.Paths.{u2} B)) (b : CategoryTheory.LocallyDiscrete.{u2} (CategoryTheory.Paths.{u2} B)) => CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, max u2 u1} (Quiver.Hom.{succ (max u2 u1), u2} (CategoryTheory.LocallyDiscrete.{u2} (CategoryTheory.Paths.{u2} B)) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, u2} (CategoryTheory.LocallyDiscrete.{u2} (CategoryTheory.Paths.{u2} B)) (CategoryTheory.LocallyDiscrete.CategoryTheory.categoryStruct.{max u2 u1, u2} (CategoryTheory.Paths.{u2} B) (CategoryTheory.Category.toCategoryStruct.{max u2 u1, u2} (CategoryTheory.Paths.{u2} B) (CategoryTheory.Paths.categoryPaths.{u1, u2} B _inst_1)))) a b) (CategoryTheory.Category.toCategoryStruct.{max u2 u1, max u2 u1} (Quiver.Hom.{succ (max u2 u1), u2} (CategoryTheory.LocallyDiscrete.{u2} (CategoryTheory.Paths.{u2} B)) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, u2} (CategoryTheory.LocallyDiscrete.{u2} (CategoryTheory.Paths.{u2} B)) (CategoryTheory.LocallyDiscrete.CategoryTheory.categoryStruct.{max u2 u1, u2} (CategoryTheory.Paths.{u2} B) (CategoryTheory.Category.toCategoryStruct.{max u2 u1, u2} (CategoryTheory.Paths.{u2} B) (CategoryTheory.Paths.categoryPaths.{u1, u2} B _inst_1)))) a b) (CategoryTheory.discreteCategory.{max u2 u1} (Quiver.Hom.{succ (max u2 u1), u2} (CategoryTheory.Paths.{u2} B) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, u2} (CategoryTheory.Paths.{u2} B) (CategoryTheory.Category.toCategoryStruct.{max u2 u1, u2} (CategoryTheory.Paths.{u2} B) (CategoryTheory.Paths.categoryPaths.{u1, u2} B _inst_1))) a b)))) (CategoryTheory.FreeBicategory.{u2} B) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, u2} (CategoryTheory.FreeBicategory.{u2} B) (CategoryTheory.Bicategory.toCategoryStruct.{max u2 u1, max u2 u1, u2} (CategoryTheory.FreeBicategory.{u2} B) (CategoryTheory.FreeBicategory.bicategory.{u1, u2} B _inst_1))) (fun (a : CategoryTheory.FreeBicategory.{u2} B) (b : CategoryTheory.FreeBicategory.{u2} B) => CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, max u2 u1} (Quiver.Hom.{succ (max u2 u1), u2} (CategoryTheory.FreeBicategory.{u2} B) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, u2} (CategoryTheory.FreeBicategory.{u2} B) (CategoryTheory.Bicategory.toCategoryStruct.{max u2 u1, max u2 u1, u2} (CategoryTheory.FreeBicategory.{u2} B) (CategoryTheory.FreeBicategory.bicategory.{u1, u2} B _inst_1))) a b) (CategoryTheory.Category.toCategoryStruct.{max u2 u1, max u2 u1} (Quiver.Hom.{succ (max u2 u1), u2} (CategoryTheory.FreeBicategory.{u2} B) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, u2} (CategoryTheory.FreeBicategory.{u2} B) (CategoryTheory.Bicategory.toCategoryStruct.{max u2 u1, max u2 u1, u2} (CategoryTheory.FreeBicategory.{u2} B) (CategoryTheory.FreeBicategory.bicategory.{u1, u2} B _inst_1))) a b) (CategoryTheory.FreeBicategory.homCategory.{u1, u2} (CategoryTheory.FreeBicategory.{u2} B) _inst_1 a b))) (CategoryTheory.FreeBicategory.preinclusion.{u1, u2} B _inst_1) a) c) (CategoryTheory.FreeBicategory.homCategory.{u1, u2} B _inst_1 (CategoryTheory.PrelaxFunctor.obj.{max u2 u1, max u2 u1, max u2 u1, max u2 u1, u2, u2} (CategoryTheory.LocallyDiscrete.{u2} (CategoryTheory.Paths.{u2} B)) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, u2} (CategoryTheory.LocallyDiscrete.{u2} (CategoryTheory.Paths.{u2} B)) (CategoryTheory.LocallyDiscrete.CategoryTheory.categoryStruct.{max u2 u1, u2} (CategoryTheory.Paths.{u2} B) (CategoryTheory.Category.toCategoryStruct.{max u2 u1, u2} (CategoryTheory.Paths.{u2} B) (CategoryTheory.Paths.categoryPaths.{u1, u2} B _inst_1)))) (fun (a : CategoryTheory.LocallyDiscrete.{u2} (CategoryTheory.Paths.{u2} B)) (b : CategoryTheory.LocallyDiscrete.{u2} (CategoryTheory.Paths.{u2} B)) => CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, max u2 u1} (Quiver.Hom.{succ (max u2 u1), u2} (CategoryTheory.LocallyDiscrete.{u2} (CategoryTheory.Paths.{u2} B)) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, u2} (CategoryTheory.LocallyDiscrete.{u2} (CategoryTheory.Paths.{u2} B)) (CategoryTheory.LocallyDiscrete.CategoryTheory.categoryStruct.{max u2 u1, u2} (CategoryTheory.Paths.{u2} B) (CategoryTheory.Category.toCategoryStruct.{max u2 u1, u2} (CategoryTheory.Paths.{u2} B) (CategoryTheory.Paths.categoryPaths.{u1, u2} B _inst_1)))) a b) (CategoryTheory.Category.toCategoryStruct.{max u2 u1, max u2 u1} (Quiver.Hom.{succ (max u2 u1), u2} (CategoryTheory.LocallyDiscrete.{u2} (CategoryTheory.Paths.{u2} B)) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, u2} (CategoryTheory.LocallyDiscrete.{u2} (CategoryTheory.Paths.{u2} B)) (CategoryTheory.LocallyDiscrete.CategoryTheory.categoryStruct.{max u2 u1, u2} (CategoryTheory.Paths.{u2} B) (CategoryTheory.Category.toCategoryStruct.{max u2 u1, u2} (CategoryTheory.Paths.{u2} B) (CategoryTheory.Paths.categoryPaths.{u1, u2} B _inst_1)))) a b) (CategoryTheory.discreteCategory.{max u2 u1} (Quiver.Hom.{succ (max u2 u1), u2} (CategoryTheory.Paths.{u2} B) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, u2} (CategoryTheory.Paths.{u2} B) (CategoryTheory.Category.toCategoryStruct.{max u2 u1, u2} (CategoryTheory.Paths.{u2} B) (CategoryTheory.Paths.categoryPaths.{u1, u2} B _inst_1))) a b)))) (CategoryTheory.FreeBicategory.{u2} B) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, u2} (CategoryTheory.FreeBicategory.{u2} B) (CategoryTheory.Bicategory.toCategoryStruct.{max u2 u1, max u2 u1, u2} (CategoryTheory.FreeBicategory.{u2} B) (CategoryTheory.FreeBicategory.bicategory.{u1, u2} B _inst_1))) (fun (a : CategoryTheory.FreeBicategory.{u2} B) (b : CategoryTheory.FreeBicategory.{u2} B) => CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, max u2 u1} (Quiver.Hom.{succ (max u2 u1), u2} (CategoryTheory.FreeBicategory.{u2} B) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, u2} (CategoryTheory.FreeBicategory.{u2} B) (CategoryTheory.Bicategory.toCategoryStruct.{max u2 u1, max u2 u1, u2} (CategoryTheory.FreeBicategory.{u2} B) (CategoryTheory.FreeBicategory.bicategory.{u1, u2} B _inst_1))) a b) (CategoryTheory.Category.toCategoryStruct.{max u2 u1, max u2 u1} (Quiver.Hom.{succ (max u2 u1), u2} (CategoryTheory.FreeBicategory.{u2} B) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, u2} (CategoryTheory.FreeBicategory.{u2} B) (CategoryTheory.Bicategory.toCategoryStruct.{max u2 u1, max u2 u1, u2} (CategoryTheory.FreeBicategory.{u2} B) (CategoryTheory.FreeBicategory.bicategory.{u1, u2} B _inst_1))) a b) (CategoryTheory.FreeBicategory.homCategory.{u1, u2} (CategoryTheory.FreeBicategory.{u2} B) _inst_1 a b))) (CategoryTheory.FreeBicategory.preinclusion.{u1, u2} B _inst_1) a) c) (CategoryTheory.CategoryStruct.comp.{max u2 u1, u2} (CategoryTheory.FreeBicategory.{u2} B) (CategoryTheory.Bicategory.toCategoryStruct.{max u2 u1, max u2 u1, u2} (CategoryTheory.FreeBicategory.{u2} B) (CategoryTheory.FreeBicategory.bicategory.{u1, u2} B _inst_1)) (CategoryTheory.PrelaxFunctor.obj.{max u2 u1, max u2 u1, max u2 u1, max u2 u1, u2, u2} (CategoryTheory.LocallyDiscrete.{u2} (CategoryTheory.Paths.{u2} B)) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, u2} (CategoryTheory.LocallyDiscrete.{u2} (CategoryTheory.Paths.{u2} B)) (CategoryTheory.LocallyDiscrete.CategoryTheory.categoryStruct.{max u2 u1, u2} (CategoryTheory.Paths.{u2} B) (CategoryTheory.Category.toCategoryStruct.{max u2 u1, u2} (CategoryTheory.Paths.{u2} B) (CategoryTheory.Paths.categoryPaths.{u1, u2} B _inst_1)))) (fun (a : CategoryTheory.LocallyDiscrete.{u2} (CategoryTheory.Paths.{u2} B)) (b : CategoryTheory.LocallyDiscrete.{u2} (CategoryTheory.Paths.{u2} B)) => CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, max u2 u1} (Quiver.Hom.{succ (max u2 u1), u2} (CategoryTheory.LocallyDiscrete.{u2} (CategoryTheory.Paths.{u2} B)) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, u2} (CategoryTheory.LocallyDiscrete.{u2} (CategoryTheory.Paths.{u2} B)) (CategoryTheory.LocallyDiscrete.CategoryTheory.categoryStruct.{max u2 u1, u2} (CategoryTheory.Paths.{u2} B) (CategoryTheory.Category.toCategoryStruct.{max u2 u1, u2} (CategoryTheory.Paths.{u2} B) (CategoryTheory.Paths.categoryPaths.{u1, u2} B _inst_1)))) a b) (CategoryTheory.Category.toCategoryStruct.{max u2 u1, max u2 u1} (Quiver.Hom.{succ (max u2 u1), u2} (CategoryTheory.LocallyDiscrete.{u2} (CategoryTheory.Paths.{u2} B)) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, u2} (CategoryTheory.LocallyDiscrete.{u2} (CategoryTheory.Paths.{u2} B)) (CategoryTheory.LocallyDiscrete.CategoryTheory.categoryStruct.{max u2 u1, u2} (CategoryTheory.Paths.{u2} B) (CategoryTheory.Category.toCategoryStruct.{max u2 u1, u2} (CategoryTheory.Paths.{u2} B) (CategoryTheory.Paths.categoryPaths.{u1, u2} B _inst_1)))) a b) (CategoryTheory.discreteCategory.{max u2 u1} (Quiver.Hom.{succ (max u2 u1), u2} (CategoryTheory.Paths.{u2} B) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, u2} (CategoryTheory.Paths.{u2} B) (CategoryTheory.Category.toCategoryStruct.{max u2 u1, u2} (CategoryTheory.Paths.{u2} B) (CategoryTheory.Paths.categoryPaths.{u1, u2} B _inst_1))) a b)))) (CategoryTheory.FreeBicategory.{u2} B) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, u2} (CategoryTheory.FreeBicategory.{u2} B) (CategoryTheory.Bicategory.toCategoryStruct.{max u2 u1, max u2 u1, u2} (CategoryTheory.FreeBicategory.{u2} B) (CategoryTheory.FreeBicategory.bicategory.{u1, u2} B _inst_1))) (fun (a : CategoryTheory.FreeBicategory.{u2} B) (b : CategoryTheory.FreeBicategory.{u2} B) => CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, max u2 u1} (Quiver.Hom.{succ (max u2 u1), u2} (CategoryTheory.FreeBicategory.{u2} B) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, u2} (CategoryTheory.FreeBicategory.{u2} B) (CategoryTheory.Bicategory.toCategoryStruct.{max u2 u1, max u2 u1, u2} (CategoryTheory.FreeBicategory.{u2} B) (CategoryTheory.FreeBicategory.bicategory.{u1, u2} B _inst_1))) a b) (CategoryTheory.Category.toCategoryStruct.{max u2 u1, max u2 u1} (Quiver.Hom.{succ (max u2 u1), u2} (CategoryTheory.FreeBicategory.{u2} B) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, u2} (CategoryTheory.FreeBicategory.{u2} B) (CategoryTheory.Bicategory.toCategoryStruct.{max u2 u1, max u2 u1, u2} (CategoryTheory.FreeBicategory.{u2} B) (CategoryTheory.FreeBicategory.bicategory.{u1, u2} B _inst_1))) a b) (CategoryTheory.FreeBicategory.homCategory.{u1, u2} (CategoryTheory.FreeBicategory.{u2} B) _inst_1 a b))) (CategoryTheory.FreeBicategory.preinclusion.{u1, u2} B _inst_1) a) (CategoryTheory.PrelaxFunctor.obj.{max u2 u1, max u2 u1, max u2 u1, max u2 u1, u2, u2} (CategoryTheory.LocallyDiscrete.{u2} (CategoryTheory.Paths.{u2} B)) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, u2} (CategoryTheory.LocallyDiscrete.{u2} (CategoryTheory.Paths.{u2} B)) (CategoryTheory.LocallyDiscrete.CategoryTheory.categoryStruct.{max u2 u1, u2} (CategoryTheory.Paths.{u2} B) (CategoryTheory.Category.toCategoryStruct.{max u2 u1, u2} (CategoryTheory.Paths.{u2} B) (CategoryTheory.Paths.categoryPaths.{u1, u2} B _inst_1)))) (fun (a : CategoryTheory.LocallyDiscrete.{u2} (CategoryTheory.Paths.{u2} B)) (b : CategoryTheory.LocallyDiscrete.{u2} (CategoryTheory.Paths.{u2} B)) => CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, max u2 u1} (Quiver.Hom.{succ (max u2 u1), u2} (CategoryTheory.LocallyDiscrete.{u2} (CategoryTheory.Paths.{u2} B)) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, u2} (CategoryTheory.LocallyDiscrete.{u2} (CategoryTheory.Paths.{u2} B)) (CategoryTheory.LocallyDiscrete.CategoryTheory.categoryStruct.{max u2 u1, u2} (CategoryTheory.Paths.{u2} B) (CategoryTheory.Category.toCategoryStruct.{max u2 u1, u2} (CategoryTheory.Paths.{u2} B) (CategoryTheory.Paths.categoryPaths.{u1, u2} B _inst_1)))) a b) (CategoryTheory.Category.toCategoryStruct.{max u2 u1, max u2 u1} (Quiver.Hom.{succ (max u2 u1), u2} (CategoryTheory.LocallyDiscrete.{u2} (CategoryTheory.Paths.{u2} B)) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, u2} (CategoryTheory.LocallyDiscrete.{u2} (CategoryTheory.Paths.{u2} B)) (CategoryTheory.LocallyDiscrete.CategoryTheory.categoryStruct.{max u2 u1, u2} (CategoryTheory.Paths.{u2} B) (CategoryTheory.Category.toCategoryStruct.{max u2 u1, u2} (CategoryTheory.Paths.{u2} B) (CategoryTheory.Paths.categoryPaths.{u1, u2} B _inst_1)))) a b) (CategoryTheory.discreteCategory.{max u2 u1} (Quiver.Hom.{succ (max u2 u1), u2} (CategoryTheory.Paths.{u2} B) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, u2} (CategoryTheory.Paths.{u2} B) (CategoryTheory.Category.toCategoryStruct.{max u2 u1, u2} (CategoryTheory.Paths.{u2} B) (CategoryTheory.Paths.categoryPaths.{u1, u2} B _inst_1))) a b)))) (CategoryTheory.FreeBicategory.{u2} B) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, u2} (CategoryTheory.FreeBicategory.{u2} B) (CategoryTheory.Bicategory.toCategoryStruct.{max u2 u1, max u2 u1, u2} (CategoryTheory.FreeBicategory.{u2} B) (CategoryTheory.FreeBicategory.bicategory.{u1, u2} B _inst_1))) (fun (a : CategoryTheory.FreeBicategory.{u2} B) (b : CategoryTheory.FreeBicategory.{u2} B) => CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, max u2 u1} (Quiver.Hom.{succ (max u2 u1), u2} (CategoryTheory.FreeBicategory.{u2} B) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, u2} (CategoryTheory.FreeBicategory.{u2} B) (CategoryTheory.Bicategory.toCategoryStruct.{max u2 u1, max u2 u1, u2} (CategoryTheory.FreeBicategory.{u2} B) (CategoryTheory.FreeBicategory.bicategory.{u1, u2} B _inst_1))) a b) (CategoryTheory.Category.toCategoryStruct.{max u2 u1, max u2 u1} (Quiver.Hom.{succ (max u2 u1), u2} (CategoryTheory.FreeBicategory.{u2} B) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, u2} (CategoryTheory.FreeBicategory.{u2} B) (CategoryTheory.Bicategory.toCategoryStruct.{max u2 u1, max u2 u1, u2} (CategoryTheory.FreeBicategory.{u2} B) (CategoryTheory.FreeBicategory.bicategory.{u1, u2} B _inst_1))) a b) (CategoryTheory.FreeBicategory.homCategory.{u1, u2} (CategoryTheory.FreeBicategory.{u2} B) _inst_1 a b))) (CategoryTheory.FreeBicategory.preinclusion.{u1, u2} B _inst_1) b) c (CategoryTheory.PrelaxFunctor.map.{max u2 u1, max u2 u1, max u2 u1, max u2 u1, u2, u2} (CategoryTheory.LocallyDiscrete.{u2} (CategoryTheory.Paths.{u2} B)) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, u2} (CategoryTheory.LocallyDiscrete.{u2} (CategoryTheory.Paths.{u2} B)) (CategoryTheory.LocallyDiscrete.CategoryTheory.categoryStruct.{max u2 u1, u2} (CategoryTheory.Paths.{u2} B) (CategoryTheory.Category.toCategoryStruct.{max u2 u1, u2} (CategoryTheory.Paths.{u2} B) (CategoryTheory.Paths.categoryPaths.{u1, u2} B _inst_1)))) (fun (a : CategoryTheory.LocallyDiscrete.{u2} (CategoryTheory.Paths.{u2} B)) (b : CategoryTheory.LocallyDiscrete.{u2} (CategoryTheory.Paths.{u2} B)) => CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, max u2 u1} (Quiver.Hom.{succ (max u2 u1), u2} (CategoryTheory.LocallyDiscrete.{u2} (CategoryTheory.Paths.{u2} B)) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, u2} (CategoryTheory.LocallyDiscrete.{u2} (CategoryTheory.Paths.{u2} B)) (CategoryTheory.LocallyDiscrete.CategoryTheory.categoryStruct.{max u2 u1, u2} (CategoryTheory.Paths.{u2} B) (CategoryTheory.Category.toCategoryStruct.{max u2 u1, u2} (CategoryTheory.Paths.{u2} B) (CategoryTheory.Paths.categoryPaths.{u1, u2} B _inst_1)))) a b) (CategoryTheory.Category.toCategoryStruct.{max u2 u1, max u2 u1} (Quiver.Hom.{succ (max u2 u1), u2} (CategoryTheory.LocallyDiscrete.{u2} (CategoryTheory.Paths.{u2} B)) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, u2} (CategoryTheory.LocallyDiscrete.{u2} (CategoryTheory.Paths.{u2} B)) (CategoryTheory.LocallyDiscrete.CategoryTheory.categoryStruct.{max u2 u1, u2} (CategoryTheory.Paths.{u2} B) (CategoryTheory.Category.toCategoryStruct.{max u2 u1, u2} (CategoryTheory.Paths.{u2} B) (CategoryTheory.Paths.categoryPaths.{u1, u2} B _inst_1)))) a b) (CategoryTheory.discreteCategory.{max u2 u1} (Quiver.Hom.{succ (max u2 u1), u2} (CategoryTheory.Paths.{u2} B) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, u2} (CategoryTheory.Paths.{u2} B) (CategoryTheory.Category.toCategoryStruct.{max u2 u1, u2} (CategoryTheory.Paths.{u2} B) (CategoryTheory.Paths.categoryPaths.{u1, u2} B _inst_1))) a b)))) (CategoryTheory.FreeBicategory.{u2} B) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, u2} (CategoryTheory.FreeBicategory.{u2} B) (CategoryTheory.Bicategory.toCategoryStruct.{max u2 u1, max u2 u1, u2} (CategoryTheory.FreeBicategory.{u2} B) (CategoryTheory.FreeBicategory.bicategory.{u1, u2} B _inst_1))) (fun (a : CategoryTheory.FreeBicategory.{u2} B) (b : CategoryTheory.FreeBicategory.{u2} B) => CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, max u2 u1} (Quiver.Hom.{succ (max u2 u1), u2} (CategoryTheory.FreeBicategory.{u2} B) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, u2} (CategoryTheory.FreeBicategory.{u2} B) (CategoryTheory.Bicategory.toCategoryStruct.{max u2 u1, max u2 u1, u2} (CategoryTheory.FreeBicategory.{u2} B) (CategoryTheory.FreeBicategory.bicategory.{u1, u2} B _inst_1))) a b) (CategoryTheory.Category.toCategoryStruct.{max u2 u1, max u2 u1} (Quiver.Hom.{succ (max u2 u1), u2} (CategoryTheory.FreeBicategory.{u2} B) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, u2} (CategoryTheory.FreeBicategory.{u2} B) (CategoryTheory.Bicategory.toCategoryStruct.{max u2 u1, max u2 u1, u2} (CategoryTheory.FreeBicategory.{u2} B) (CategoryTheory.FreeBicategory.bicategory.{u1, u2} B _inst_1))) a b) (CategoryTheory.FreeBicategory.homCategory.{u1, u2} (CategoryTheory.FreeBicategory.{u2} B) _inst_1 a b))) (CategoryTheory.FreeBicategory.preinclusion.{u1, u2} B _inst_1) a b (CategoryTheory.Discrete.mk.{max u2 u1} (Quiver.Hom.{succ (max u2 u1), u2} (CategoryTheory.Paths.{u2} B) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, u2} (CategoryTheory.Paths.{u2} B) (CategoryTheory.Category.toCategoryStruct.{max u2 u1, u2} (CategoryTheory.Paths.{u2} B) (CategoryTheory.Paths.categoryPaths.{u1, u2} B _inst_1))) a b) p)) f) (CategoryTheory.PrelaxFunctor.map.{max u2 u1, max u2 u1, max u2 u1, max u2 u1, u2, u2} (CategoryTheory.LocallyDiscrete.{u2} (CategoryTheory.Paths.{u2} B)) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, u2} (CategoryTheory.LocallyDiscrete.{u2} (CategoryTheory.Paths.{u2} B)) (CategoryTheory.LocallyDiscrete.CategoryTheory.categoryStruct.{max u2 u1, u2} (CategoryTheory.Paths.{u2} B) (CategoryTheory.Category.toCategoryStruct.{max u2 u1, u2} (CategoryTheory.Paths.{u2} B) (CategoryTheory.Paths.categoryPaths.{u1, u2} B _inst_1)))) (fun (a : CategoryTheory.LocallyDiscrete.{u2} (CategoryTheory.Paths.{u2} B)) (b : CategoryTheory.LocallyDiscrete.{u2} (CategoryTheory.Paths.{u2} B)) => CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, max u2 u1} (Quiver.Hom.{succ (max u2 u1), u2} (CategoryTheory.LocallyDiscrete.{u2} (CategoryTheory.Paths.{u2} B)) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, u2} (CategoryTheory.LocallyDiscrete.{u2} (CategoryTheory.Paths.{u2} B)) (CategoryTheory.LocallyDiscrete.CategoryTheory.categoryStruct.{max u2 u1, u2} (CategoryTheory.Paths.{u2} B) (CategoryTheory.Category.toCategoryStruct.{max u2 u1, u2} (CategoryTheory.Paths.{u2} B) (CategoryTheory.Paths.categoryPaths.{u1, u2} B _inst_1)))) a b) (CategoryTheory.Category.toCategoryStruct.{max u2 u1, max u2 u1} (Quiver.Hom.{succ (max u2 u1), u2} (CategoryTheory.LocallyDiscrete.{u2} (CategoryTheory.Paths.{u2} B)) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, u2} (CategoryTheory.LocallyDiscrete.{u2} (CategoryTheory.Paths.{u2} B)) (CategoryTheory.LocallyDiscrete.CategoryTheory.categoryStruct.{max u2 u1, u2} (CategoryTheory.Paths.{u2} B) (CategoryTheory.Category.toCategoryStruct.{max u2 u1, u2} (CategoryTheory.Paths.{u2} B) (CategoryTheory.Paths.categoryPaths.{u1, u2} B _inst_1)))) a b) (CategoryTheory.discreteCategory.{max u2 u1} (Quiver.Hom.{succ (max u2 u1), u2} (CategoryTheory.Paths.{u2} B) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, u2} (CategoryTheory.Paths.{u2} B) (CategoryTheory.Category.toCategoryStruct.{max u2 u1, u2} (CategoryTheory.Paths.{u2} B) (CategoryTheory.Paths.categoryPaths.{u1, u2} B _inst_1))) a b)))) (CategoryTheory.FreeBicategory.{u2} B) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, u2} (CategoryTheory.FreeBicategory.{u2} B) (CategoryTheory.Bicategory.toCategoryStruct.{max u2 u1, max u2 u1, u2} (CategoryTheory.FreeBicategory.{u2} B) (CategoryTheory.FreeBicategory.bicategory.{u1, u2} B _inst_1))) (fun (a : CategoryTheory.FreeBicategory.{u2} B) (b : CategoryTheory.FreeBicategory.{u2} B) => CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, max u2 u1} (Quiver.Hom.{succ (max u2 u1), u2} (CategoryTheory.FreeBicategory.{u2} B) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, u2} (CategoryTheory.FreeBicategory.{u2} B) (CategoryTheory.Bicategory.toCategoryStruct.{max u2 u1, max u2 u1, u2} (CategoryTheory.FreeBicategory.{u2} B) (CategoryTheory.FreeBicategory.bicategory.{u1, u2} B _inst_1))) a b) (CategoryTheory.Category.toCategoryStruct.{max u2 u1, max u2 u1} (Quiver.Hom.{succ (max u2 u1), u2} (CategoryTheory.FreeBicategory.{u2} B) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, u2} (CategoryTheory.FreeBicategory.{u2} B) (CategoryTheory.Bicategory.toCategoryStruct.{max u2 u1, max u2 u1, u2} (CategoryTheory.FreeBicategory.{u2} B) (CategoryTheory.FreeBicategory.bicategory.{u1, u2} B _inst_1))) a b) (CategoryTheory.FreeBicategory.homCategory.{u1, u2} (CategoryTheory.FreeBicategory.{u2} B) _inst_1 a b))) (CategoryTheory.FreeBicategory.preinclusion.{u1, u2} B _inst_1) a c (CategoryTheory.Discrete.mk.{max u2 u1} (Quiver.Hom.{succ (max u2 u1), u2} (CategoryTheory.Paths.{u2} B) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, u2} (CategoryTheory.Paths.{u2} B) (CategoryTheory.Category.toCategoryStruct.{max u2 u1, u2} (CategoryTheory.Paths.{u2} B) (CategoryTheory.Paths.categoryPaths.{u1, u2} B _inst_1))) a c) (CategoryTheory.FreeBicategory.normalizeAux.{u1, u2} B _inst_1 a b c p f)))
-but is expected to have type
-  PUnit.{max (succ (succ u1)) (succ (succ u2))}
+<too large>
 Case conversion may be inaccurate. Consider using '#align category_theory.free_bicategory.normalize_iso CategoryTheory.FreeBicategory.normalizeIsoₓ'. -/
 /-
 We may define
@@ -245,10 +242,7 @@ instance locally_thin {a b : FreeBicategory B} : Quiver.IsThin (a ⟶ b) := fun
 #align category_theory.free_bicategory.locally_thin CategoryTheory.FreeBicategory.locally_thin
 
 /- warning: category_theory.free_bicategory.inclusion_map_comp_aux -> CategoryTheory.FreeBicategory.inclusionMapCompAux is a dubious translation:
-lean 3 declaration is
-  forall {B : Type.{u2}} [_inst_1 : Quiver.{succ u1, u2} B] {a : B} {b : B} {c : B} (f : Quiver.Path.{succ u1, u2} B _inst_1 a b) (g : Quiver.Path.{succ u1, u2} B _inst_1 b c), CategoryTheory.Iso.{max u2 u1, max u2 u1} (Quiver.Hom.{succ (max u2 u1), u2} (CategoryTheory.FreeBicategory.{u2} B) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, u2} (CategoryTheory.FreeBicategory.{u2} B) (CategoryTheory.Bicategory.toCategoryStruct.{max u2 u1, max u2 u1, u2} (CategoryTheory.FreeBicategory.{u2} B) (CategoryTheory.FreeBicategory.bicategory.{u1, u2} B _inst_1))) (CategoryTheory.PrelaxFunctor.obj.{max u2 u1, max u2 u1, max u2 u1, max u2 u1, u2, u2} (CategoryTheory.LocallyDiscrete.{u2} (CategoryTheory.Paths.{u2} B)) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, u2} (CategoryTheory.LocallyDiscrete.{u2} (CategoryTheory.Paths.{u2} B)) (CategoryTheory.LocallyDiscrete.CategoryTheory.categoryStruct.{max u2 u1, u2} (CategoryTheory.Paths.{u2} B) (CategoryTheory.Category.toCategoryStruct.{max u2 u1, u2} (CategoryTheory.Paths.{u2} B) (CategoryTheory.Paths.categoryPaths.{u1, u2} B _inst_1)))) (fun (a : CategoryTheory.LocallyDiscrete.{u2} (CategoryTheory.Paths.{u2} B)) (b : CategoryTheory.LocallyDiscrete.{u2} (CategoryTheory.Paths.{u2} B)) => CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, max u2 u1} (Quiver.Hom.{succ (max u2 u1), u2} (CategoryTheory.LocallyDiscrete.{u2} (CategoryTheory.Paths.{u2} B)) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, u2} (CategoryTheory.LocallyDiscrete.{u2} (CategoryTheory.Paths.{u2} B)) (CategoryTheory.LocallyDiscrete.CategoryTheory.categoryStruct.{max u2 u1, u2} (CategoryTheory.Paths.{u2} B) (CategoryTheory.Category.toCategoryStruct.{max u2 u1, u2} (CategoryTheory.Paths.{u2} B) (CategoryTheory.Paths.categoryPaths.{u1, u2} B _inst_1)))) a b) (CategoryTheory.Category.toCategoryStruct.{max u2 u1, max u2 u1} (Quiver.Hom.{succ (max u2 u1), u2} (CategoryTheory.LocallyDiscrete.{u2} (CategoryTheory.Paths.{u2} B)) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, u2} (CategoryTheory.LocallyDiscrete.{u2} (CategoryTheory.Paths.{u2} B)) (CategoryTheory.LocallyDiscrete.CategoryTheory.categoryStruct.{max u2 u1, u2} (CategoryTheory.Paths.{u2} B) (CategoryTheory.Category.toCategoryStruct.{max u2 u1, u2} (CategoryTheory.Paths.{u2} B) (CategoryTheory.Paths.categoryPaths.{u1, u2} B _inst_1)))) a b) (CategoryTheory.discreteCategory.{max u2 u1} (Quiver.Hom.{succ (max u2 u1), u2} (CategoryTheory.Paths.{u2} B) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, u2} (CategoryTheory.Paths.{u2} B) (CategoryTheory.Category.toCategoryStruct.{max u2 u1, u2} (CategoryTheory.Paths.{u2} B) (CategoryTheory.Paths.categoryPaths.{u1, u2} B _inst_1))) a b)))) (CategoryTheory.FreeBicategory.{u2} B) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, u2} (CategoryTheory.FreeBicategory.{u2} B) (CategoryTheory.Bicategory.toCategoryStruct.{max u2 u1, max u2 u1, u2} (CategoryTheory.FreeBicategory.{u2} B) (CategoryTheory.FreeBicategory.bicategory.{u1, u2} B _inst_1))) (fun (a : CategoryTheory.FreeBicategory.{u2} B) (b : CategoryTheory.FreeBicategory.{u2} B) => CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, max u2 u1} (Quiver.Hom.{succ (max u2 u1), u2} (CategoryTheory.FreeBicategory.{u2} B) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, u2} (CategoryTheory.FreeBicategory.{u2} B) (CategoryTheory.Bicategory.toCategoryStruct.{max u2 u1, max u2 u1, u2} (CategoryTheory.FreeBicategory.{u2} B) (CategoryTheory.FreeBicategory.bicategory.{u1, u2} B _inst_1))) a b) (CategoryTheory.Category.toCategoryStruct.{max u2 u1, max u2 u1} (Quiver.Hom.{succ (max u2 u1), u2} (CategoryTheory.FreeBicategory.{u2} B) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, u2} (CategoryTheory.FreeBicategory.{u2} B) (CategoryTheory.Bicategory.toCategoryStruct.{max u2 u1, max u2 u1, u2} (CategoryTheory.FreeBicategory.{u2} B) (CategoryTheory.FreeBicategory.bicategory.{u1, u2} B _inst_1))) a b) (CategoryTheory.FreeBicategory.homCategory.{u1, u2} (CategoryTheory.FreeBicategory.{u2} B) _inst_1 a b))) (CategoryTheory.FreeBicategory.preinclusion.{u1, u2} B _inst_1) a) (CategoryTheory.PrelaxFunctor.obj.{max u2 u1, max u2 u1, max u2 u1, max u2 u1, u2, u2} (CategoryTheory.LocallyDiscrete.{u2} (CategoryTheory.Paths.{u2} B)) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, u2} (CategoryTheory.LocallyDiscrete.{u2} (CategoryTheory.Paths.{u2} B)) (CategoryTheory.LocallyDiscrete.CategoryTheory.categoryStruct.{max u2 u1, u2} (CategoryTheory.Paths.{u2} B) (CategoryTheory.Category.toCategoryStruct.{max u2 u1, u2} (CategoryTheory.Paths.{u2} B) (CategoryTheory.Paths.categoryPaths.{u1, u2} B _inst_1)))) (fun (a : CategoryTheory.LocallyDiscrete.{u2} (CategoryTheory.Paths.{u2} B)) (b : CategoryTheory.LocallyDiscrete.{u2} (CategoryTheory.Paths.{u2} B)) => CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, max u2 u1} (Quiver.Hom.{succ (max u2 u1), u2} (CategoryTheory.LocallyDiscrete.{u2} (CategoryTheory.Paths.{u2} B)) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, u2} (CategoryTheory.LocallyDiscrete.{u2} (CategoryTheory.Paths.{u2} B)) (CategoryTheory.LocallyDiscrete.CategoryTheory.categoryStruct.{max u2 u1, u2} (CategoryTheory.Paths.{u2} B) (CategoryTheory.Category.toCategoryStruct.{max u2 u1, u2} (CategoryTheory.Paths.{u2} B) (CategoryTheory.Paths.categoryPaths.{u1, u2} B _inst_1)))) a b) (CategoryTheory.Category.toCategoryStruct.{max u2 u1, max u2 u1} (Quiver.Hom.{succ (max u2 u1), u2} (CategoryTheory.LocallyDiscrete.{u2} (CategoryTheory.Paths.{u2} B)) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, u2} (CategoryTheory.LocallyDiscrete.{u2} (CategoryTheory.Paths.{u2} B)) (CategoryTheory.LocallyDiscrete.CategoryTheory.categoryStruct.{max u2 u1, u2} (CategoryTheory.Paths.{u2} B) (CategoryTheory.Category.toCategoryStruct.{max u2 u1, u2} (CategoryTheory.Paths.{u2} B) (CategoryTheory.Paths.categoryPaths.{u1, u2} B _inst_1)))) a b) (CategoryTheory.discreteCategory.{max u2 u1} (Quiver.Hom.{succ (max u2 u1), u2} (CategoryTheory.Paths.{u2} B) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, u2} (CategoryTheory.Paths.{u2} B) (CategoryTheory.Category.toCategoryStruct.{max u2 u1, u2} (CategoryTheory.Paths.{u2} B) (CategoryTheory.Paths.categoryPaths.{u1, u2} B _inst_1))) a b)))) (CategoryTheory.FreeBicategory.{u2} B) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, u2} (CategoryTheory.FreeBicategory.{u2} B) (CategoryTheory.Bicategory.toCategoryStruct.{max u2 u1, max u2 u1, u2} (CategoryTheory.FreeBicategory.{u2} B) (CategoryTheory.FreeBicategory.bicategory.{u1, u2} B _inst_1))) (fun (a : CategoryTheory.FreeBicategory.{u2} B) (b : CategoryTheory.FreeBicategory.{u2} B) => CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, max u2 u1} (Quiver.Hom.{succ (max u2 u1), u2} (CategoryTheory.FreeBicategory.{u2} B) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, u2} (CategoryTheory.FreeBicategory.{u2} B) (CategoryTheory.Bicategory.toCategoryStruct.{max u2 u1, max u2 u1, u2} (CategoryTheory.FreeBicategory.{u2} B) (CategoryTheory.FreeBicategory.bicategory.{u1, u2} B _inst_1))) a b) (CategoryTheory.Category.toCategoryStruct.{max u2 u1, max u2 u1} (Quiver.Hom.{succ (max u2 u1), u2} (CategoryTheory.FreeBicategory.{u2} B) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, u2} (CategoryTheory.FreeBicategory.{u2} B) (CategoryTheory.Bicategory.toCategoryStruct.{max u2 u1, max u2 u1, u2} (CategoryTheory.FreeBicategory.{u2} B) (CategoryTheory.FreeBicategory.bicategory.{u1, u2} B _inst_1))) a b) (CategoryTheory.FreeBicategory.homCategory.{u1, u2} (CategoryTheory.FreeBicategory.{u2} B) _inst_1 a b))) (CategoryTheory.FreeBicategory.preinclusion.{u1, u2} B _inst_1) c)) (CategoryTheory.FreeBicategory.homCategory.{u1, u2} B _inst_1 (CategoryTheory.PrelaxFunctor.obj.{max u2 u1, max u2 u1, max u2 u1, max u2 u1, u2, u2} (CategoryTheory.LocallyDiscrete.{u2} (CategoryTheory.Paths.{u2} B)) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, u2} (CategoryTheory.LocallyDiscrete.{u2} (CategoryTheory.Paths.{u2} B)) (CategoryTheory.LocallyDiscrete.CategoryTheory.categoryStruct.{max u2 u1, u2} (CategoryTheory.Paths.{u2} B) (CategoryTheory.Category.toCategoryStruct.{max u2 u1, u2} (CategoryTheory.Paths.{u2} B) (CategoryTheory.Paths.categoryPaths.{u1, u2} B _inst_1)))) (fun (a : CategoryTheory.LocallyDiscrete.{u2} (CategoryTheory.Paths.{u2} B)) (b : CategoryTheory.LocallyDiscrete.{u2} (CategoryTheory.Paths.{u2} B)) => CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, max u2 u1} (Quiver.Hom.{succ (max u2 u1), u2} (CategoryTheory.LocallyDiscrete.{u2} (CategoryTheory.Paths.{u2} B)) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, u2} (CategoryTheory.LocallyDiscrete.{u2} (CategoryTheory.Paths.{u2} B)) (CategoryTheory.LocallyDiscrete.CategoryTheory.categoryStruct.{max u2 u1, u2} (CategoryTheory.Paths.{u2} B) (CategoryTheory.Category.toCategoryStruct.{max u2 u1, u2} (CategoryTheory.Paths.{u2} B) (CategoryTheory.Paths.categoryPaths.{u1, u2} B _inst_1)))) a b) (CategoryTheory.Category.toCategoryStruct.{max u2 u1, max u2 u1} (Quiver.Hom.{succ (max u2 u1), u2} (CategoryTheory.LocallyDiscrete.{u2} (CategoryTheory.Paths.{u2} B)) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, u2} (CategoryTheory.LocallyDiscrete.{u2} (CategoryTheory.Paths.{u2} B)) (CategoryTheory.LocallyDiscrete.CategoryTheory.categoryStruct.{max u2 u1, u2} (CategoryTheory.Paths.{u2} B) (CategoryTheory.Category.toCategoryStruct.{max u2 u1, u2} (CategoryTheory.Paths.{u2} B) (CategoryTheory.Paths.categoryPaths.{u1, u2} B _inst_1)))) a b) (CategoryTheory.discreteCategory.{max u2 u1} (Quiver.Hom.{succ (max u2 u1), u2} (CategoryTheory.Paths.{u2} B) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, u2} (CategoryTheory.Paths.{u2} B) (CategoryTheory.Category.toCategoryStruct.{max u2 u1, u2} (CategoryTheory.Paths.{u2} B) (CategoryTheory.Paths.categoryPaths.{u1, u2} B _inst_1))) a b)))) (CategoryTheory.FreeBicategory.{u2} B) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, u2} (CategoryTheory.FreeBicategory.{u2} B) (CategoryTheory.Bicategory.toCategoryStruct.{max u2 u1, max u2 u1, u2} (CategoryTheory.FreeBicategory.{u2} B) (CategoryTheory.FreeBicategory.bicategory.{u1, u2} B _inst_1))) (fun (a : CategoryTheory.FreeBicategory.{u2} B) (b : CategoryTheory.FreeBicategory.{u2} B) => CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, max u2 u1} (Quiver.Hom.{succ (max u2 u1), u2} (CategoryTheory.FreeBicategory.{u2} B) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, u2} (CategoryTheory.FreeBicategory.{u2} B) (CategoryTheory.Bicategory.toCategoryStruct.{max u2 u1, max u2 u1, u2} (CategoryTheory.FreeBicategory.{u2} B) (CategoryTheory.FreeBicategory.bicategory.{u1, u2} B _inst_1))) a b) (CategoryTheory.Category.toCategoryStruct.{max u2 u1, max u2 u1} (Quiver.Hom.{succ (max u2 u1), u2} (CategoryTheory.FreeBicategory.{u2} B) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, u2} (CategoryTheory.FreeBicategory.{u2} B) (CategoryTheory.Bicategory.toCategoryStruct.{max u2 u1, max u2 u1, u2} (CategoryTheory.FreeBicategory.{u2} B) (CategoryTheory.FreeBicategory.bicategory.{u1, u2} B _inst_1))) a b) (CategoryTheory.FreeBicategory.homCategory.{u1, u2} (CategoryTheory.FreeBicategory.{u2} B) _inst_1 a b))) (CategoryTheory.FreeBicategory.preinclusion.{u1, u2} B _inst_1) a) (CategoryTheory.PrelaxFunctor.obj.{max u2 u1, max u2 u1, max u2 u1, max u2 u1, u2, u2} (CategoryTheory.LocallyDiscrete.{u2} (CategoryTheory.Paths.{u2} B)) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, u2} (CategoryTheory.LocallyDiscrete.{u2} (CategoryTheory.Paths.{u2} B)) (CategoryTheory.LocallyDiscrete.CategoryTheory.categoryStruct.{max u2 u1, u2} (CategoryTheory.Paths.{u2} B) (CategoryTheory.Category.toCategoryStruct.{max u2 u1, u2} (CategoryTheory.Paths.{u2} B) (CategoryTheory.Paths.categoryPaths.{u1, u2} B _inst_1)))) (fun (a : CategoryTheory.LocallyDiscrete.{u2} (CategoryTheory.Paths.{u2} B)) (b : CategoryTheory.LocallyDiscrete.{u2} (CategoryTheory.Paths.{u2} B)) => CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, max u2 u1} (Quiver.Hom.{succ (max u2 u1), u2} (CategoryTheory.LocallyDiscrete.{u2} (CategoryTheory.Paths.{u2} B)) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, u2} (CategoryTheory.LocallyDiscrete.{u2} (CategoryTheory.Paths.{u2} B)) (CategoryTheory.LocallyDiscrete.CategoryTheory.categoryStruct.{max u2 u1, u2} (CategoryTheory.Paths.{u2} B) (CategoryTheory.Category.toCategoryStruct.{max u2 u1, u2} (CategoryTheory.Paths.{u2} B) (CategoryTheory.Paths.categoryPaths.{u1, u2} B _inst_1)))) a b) (CategoryTheory.Category.toCategoryStruct.{max u2 u1, max u2 u1} (Quiver.Hom.{succ (max u2 u1), u2} (CategoryTheory.LocallyDiscrete.{u2} (CategoryTheory.Paths.{u2} B)) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, u2} (CategoryTheory.LocallyDiscrete.{u2} (CategoryTheory.Paths.{u2} B)) (CategoryTheory.LocallyDiscrete.CategoryTheory.categoryStruct.{max u2 u1, u2} (CategoryTheory.Paths.{u2} B) (CategoryTheory.Category.toCategoryStruct.{max u2 u1, u2} (CategoryTheory.Paths.{u2} B) (CategoryTheory.Paths.categoryPaths.{u1, u2} B _inst_1)))) a b) (CategoryTheory.discreteCategory.{max u2 u1} (Quiver.Hom.{succ (max u2 u1), u2} (CategoryTheory.Paths.{u2} B) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, u2} (CategoryTheory.Paths.{u2} B) (CategoryTheory.Category.toCategoryStruct.{max u2 u1, u2} (CategoryTheory.Paths.{u2} B) (CategoryTheory.Paths.categoryPaths.{u1, u2} B _inst_1))) a b)))) (CategoryTheory.FreeBicategory.{u2} B) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, u2} (CategoryTheory.FreeBicategory.{u2} B) (CategoryTheory.Bicategory.toCategoryStruct.{max u2 u1, max u2 u1, u2} (CategoryTheory.FreeBicategory.{u2} B) (CategoryTheory.FreeBicategory.bicategory.{u1, u2} B _inst_1))) (fun (a : CategoryTheory.FreeBicategory.{u2} B) (b : CategoryTheory.FreeBicategory.{u2} B) => CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, max u2 u1} (Quiver.Hom.{succ (max u2 u1), u2} (CategoryTheory.FreeBicategory.{u2} B) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, u2} (CategoryTheory.FreeBicategory.{u2} B) (CategoryTheory.Bicategory.toCategoryStruct.{max u2 u1, max u2 u1, u2} (CategoryTheory.FreeBicategory.{u2} B) (CategoryTheory.FreeBicategory.bicategory.{u1, u2} B _inst_1))) a b) (CategoryTheory.Category.toCategoryStruct.{max u2 u1, max u2 u1} (Quiver.Hom.{succ (max u2 u1), u2} (CategoryTheory.FreeBicategory.{u2} B) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, u2} (CategoryTheory.FreeBicategory.{u2} B) (CategoryTheory.Bicategory.toCategoryStruct.{max u2 u1, max u2 u1, u2} (CategoryTheory.FreeBicategory.{u2} B) (CategoryTheory.FreeBicategory.bicategory.{u1, u2} B _inst_1))) a b) (CategoryTheory.FreeBicategory.homCategory.{u1, u2} (CategoryTheory.FreeBicategory.{u2} B) _inst_1 a b))) (CategoryTheory.FreeBicategory.preinclusion.{u1, u2} B _inst_1) c)) (CategoryTheory.PrelaxFunctor.map.{max u2 u1, max u2 u1, max u2 u1, max u2 u1, u2, u2} (CategoryTheory.LocallyDiscrete.{u2} (CategoryTheory.Paths.{u2} B)) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, u2} (CategoryTheory.LocallyDiscrete.{u2} (CategoryTheory.Paths.{u2} B)) (CategoryTheory.LocallyDiscrete.CategoryTheory.categoryStruct.{max u2 u1, u2} (CategoryTheory.Paths.{u2} B) (CategoryTheory.Category.toCategoryStruct.{max u2 u1, u2} (CategoryTheory.Paths.{u2} B) (CategoryTheory.Paths.categoryPaths.{u1, u2} B _inst_1)))) (fun (a : CategoryTheory.LocallyDiscrete.{u2} (CategoryTheory.Paths.{u2} B)) (b : CategoryTheory.LocallyDiscrete.{u2} (CategoryTheory.Paths.{u2} B)) => CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, max u2 u1} (Quiver.Hom.{succ (max u2 u1), u2} (CategoryTheory.LocallyDiscrete.{u2} (CategoryTheory.Paths.{u2} B)) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, u2} (CategoryTheory.LocallyDiscrete.{u2} (CategoryTheory.Paths.{u2} B)) (CategoryTheory.LocallyDiscrete.CategoryTheory.categoryStruct.{max u2 u1, u2} (CategoryTheory.Paths.{u2} B) (CategoryTheory.Category.toCategoryStruct.{max u2 u1, u2} (CategoryTheory.Paths.{u2} B) (CategoryTheory.Paths.categoryPaths.{u1, u2} B _inst_1)))) a b) (CategoryTheory.Category.toCategoryStruct.{max u2 u1, max u2 u1} (Quiver.Hom.{succ (max u2 u1), u2} (CategoryTheory.LocallyDiscrete.{u2} (CategoryTheory.Paths.{u2} B)) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, u2} (CategoryTheory.LocallyDiscrete.{u2} (CategoryTheory.Paths.{u2} B)) (CategoryTheory.LocallyDiscrete.CategoryTheory.categoryStruct.{max u2 u1, u2} (CategoryTheory.Paths.{u2} B) (CategoryTheory.Category.toCategoryStruct.{max u2 u1, u2} (CategoryTheory.Paths.{u2} B) (CategoryTheory.Paths.categoryPaths.{u1, u2} B _inst_1)))) a b) (CategoryTheory.discreteCategory.{max u2 u1} (Quiver.Hom.{succ (max u2 u1), u2} (CategoryTheory.Paths.{u2} B) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, u2} (CategoryTheory.Paths.{u2} B) (CategoryTheory.Category.toCategoryStruct.{max u2 u1, u2} (CategoryTheory.Paths.{u2} B) (CategoryTheory.Paths.categoryPaths.{u1, u2} B _inst_1))) a b)))) (CategoryTheory.FreeBicategory.{u2} B) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, u2} (CategoryTheory.FreeBicategory.{u2} B) (CategoryTheory.Bicategory.toCategoryStruct.{max u2 u1, max u2 u1, u2} (CategoryTheory.FreeBicategory.{u2} B) (CategoryTheory.FreeBicategory.bicategory.{u1, u2} B _inst_1))) (fun (a : CategoryTheory.FreeBicategory.{u2} B) (b : CategoryTheory.FreeBicategory.{u2} B) => CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, max u2 u1} (Quiver.Hom.{succ (max u2 u1), u2} (CategoryTheory.FreeBicategory.{u2} B) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, u2} (CategoryTheory.FreeBicategory.{u2} B) (CategoryTheory.Bicategory.toCategoryStruct.{max u2 u1, max u2 u1, u2} (CategoryTheory.FreeBicategory.{u2} B) (CategoryTheory.FreeBicategory.bicategory.{u1, u2} B _inst_1))) a b) (CategoryTheory.Category.toCategoryStruct.{max u2 u1, max u2 u1} (Quiver.Hom.{succ (max u2 u1), u2} (CategoryTheory.FreeBicategory.{u2} B) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, u2} (CategoryTheory.FreeBicategory.{u2} B) (CategoryTheory.Bicategory.toCategoryStruct.{max u2 u1, max u2 u1, u2} (CategoryTheory.FreeBicategory.{u2} B) (CategoryTheory.FreeBicategory.bicategory.{u1, u2} B _inst_1))) a b) (CategoryTheory.FreeBicategory.homCategory.{u1, u2} (CategoryTheory.FreeBicategory.{u2} B) _inst_1 a b))) (CategoryTheory.FreeBicategory.preinclusion.{u1, u2} B _inst_1) a c (CategoryTheory.CategoryStruct.comp.{max u2 u1, u2} (CategoryTheory.LocallyDiscrete.{u2} (CategoryTheory.Paths.{u2} B)) (CategoryTheory.LocallyDiscrete.CategoryTheory.categoryStruct.{max u2 u1, u2} (CategoryTheory.Paths.{u2} B) (CategoryTheory.Category.toCategoryStruct.{max u2 u1, u2} (CategoryTheory.Paths.{u2} B) (CategoryTheory.Paths.categoryPaths.{u1, u2} B _inst_1))) a b c (CategoryTheory.Discrete.mk.{max u2 u1} (Quiver.Hom.{succ (max u2 u1), u2} (CategoryTheory.Paths.{u2} B) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, u2} (CategoryTheory.Paths.{u2} B) (CategoryTheory.Category.toCategoryStruct.{max u2 u1, u2} (CategoryTheory.Paths.{u2} B) (CategoryTheory.Paths.categoryPaths.{u1, u2} B _inst_1))) a b) f) (CategoryTheory.Discrete.mk.{max u2 u1} (Quiver.Hom.{succ (max u2 u1), u2} (CategoryTheory.Paths.{u2} B) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, u2} (CategoryTheory.Paths.{u2} B) (CategoryTheory.Category.toCategoryStruct.{max u2 u1, u2} (CategoryTheory.Paths.{u2} B) (CategoryTheory.Paths.categoryPaths.{u1, u2} B _inst_1))) b c) g))) (CategoryTheory.CategoryStruct.comp.{max u2 u1, u2} (CategoryTheory.FreeBicategory.{u2} B) (CategoryTheory.Bicategory.toCategoryStruct.{max u2 u1, max u2 u1, u2} (CategoryTheory.FreeBicategory.{u2} B) (CategoryTheory.FreeBicategory.bicategory.{u1, u2} B _inst_1)) (CategoryTheory.PrelaxFunctor.obj.{max u2 u1, max u2 u1, max u2 u1, max u2 u1, u2, u2} (CategoryTheory.LocallyDiscrete.{u2} (CategoryTheory.Paths.{u2} B)) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, u2} (CategoryTheory.LocallyDiscrete.{u2} (CategoryTheory.Paths.{u2} B)) (CategoryTheory.LocallyDiscrete.CategoryTheory.categoryStruct.{max u2 u1, u2} (CategoryTheory.Paths.{u2} B) (CategoryTheory.Category.toCategoryStruct.{max u2 u1, u2} (CategoryTheory.Paths.{u2} B) (CategoryTheory.Paths.categoryPaths.{u1, u2} B _inst_1)))) (fun (a : CategoryTheory.LocallyDiscrete.{u2} (CategoryTheory.Paths.{u2} B)) (b : CategoryTheory.LocallyDiscrete.{u2} (CategoryTheory.Paths.{u2} B)) => CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, max u2 u1} (Quiver.Hom.{succ (max u2 u1), u2} (CategoryTheory.LocallyDiscrete.{u2} (CategoryTheory.Paths.{u2} B)) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, u2} (CategoryTheory.LocallyDiscrete.{u2} (CategoryTheory.Paths.{u2} B)) (CategoryTheory.LocallyDiscrete.CategoryTheory.categoryStruct.{max u2 u1, u2} (CategoryTheory.Paths.{u2} B) (CategoryTheory.Category.toCategoryStruct.{max u2 u1, u2} (CategoryTheory.Paths.{u2} B) (CategoryTheory.Paths.categoryPaths.{u1, u2} B _inst_1)))) a b) (CategoryTheory.Category.toCategoryStruct.{max u2 u1, max u2 u1} (Quiver.Hom.{succ (max u2 u1), u2} (CategoryTheory.LocallyDiscrete.{u2} (CategoryTheory.Paths.{u2} B)) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, u2} (CategoryTheory.LocallyDiscrete.{u2} (CategoryTheory.Paths.{u2} B)) (CategoryTheory.LocallyDiscrete.CategoryTheory.categoryStruct.{max u2 u1, u2} (CategoryTheory.Paths.{u2} B) (CategoryTheory.Category.toCategoryStruct.{max u2 u1, u2} (CategoryTheory.Paths.{u2} B) (CategoryTheory.Paths.categoryPaths.{u1, u2} B _inst_1)))) a b) (CategoryTheory.discreteCategory.{max u2 u1} (Quiver.Hom.{succ (max u2 u1), u2} (CategoryTheory.Paths.{u2} B) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, u2} (CategoryTheory.Paths.{u2} B) (CategoryTheory.Category.toCategoryStruct.{max u2 u1, u2} (CategoryTheory.Paths.{u2} B) (CategoryTheory.Paths.categoryPaths.{u1, u2} B _inst_1))) a b)))) (CategoryTheory.FreeBicategory.{u2} B) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, u2} (CategoryTheory.FreeBicategory.{u2} B) (CategoryTheory.Bicategory.toCategoryStruct.{max u2 u1, max u2 u1, u2} (CategoryTheory.FreeBicategory.{u2} B) (CategoryTheory.FreeBicategory.bicategory.{u1, u2} B _inst_1))) (fun (a : CategoryTheory.FreeBicategory.{u2} B) (b : CategoryTheory.FreeBicategory.{u2} B) => CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, max u2 u1} (Quiver.Hom.{succ (max u2 u1), u2} (CategoryTheory.FreeBicategory.{u2} B) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, u2} (CategoryTheory.FreeBicategory.{u2} B) (CategoryTheory.Bicategory.toCategoryStruct.{max u2 u1, max u2 u1, u2} (CategoryTheory.FreeBicategory.{u2} B) (CategoryTheory.FreeBicategory.bicategory.{u1, u2} B _inst_1))) a b) (CategoryTheory.Category.toCategoryStruct.{max u2 u1, max u2 u1} (Quiver.Hom.{succ (max u2 u1), u2} (CategoryTheory.FreeBicategory.{u2} B) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, u2} (CategoryTheory.FreeBicategory.{u2} B) (CategoryTheory.Bicategory.toCategoryStruct.{max u2 u1, max u2 u1, u2} (CategoryTheory.FreeBicategory.{u2} B) (CategoryTheory.FreeBicategory.bicategory.{u1, u2} B _inst_1))) a b) (CategoryTheory.FreeBicategory.homCategory.{u1, u2} (CategoryTheory.FreeBicategory.{u2} B) _inst_1 a b))) (CategoryTheory.FreeBicategory.preinclusion.{u1, u2} B _inst_1) a) (CategoryTheory.PrelaxFunctor.obj.{max u2 u1, max u2 u1, max u2 u1, max u2 u1, u2, u2} (CategoryTheory.LocallyDiscrete.{u2} (CategoryTheory.Paths.{u2} B)) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, u2} (CategoryTheory.LocallyDiscrete.{u2} (CategoryTheory.Paths.{u2} B)) (CategoryTheory.LocallyDiscrete.CategoryTheory.categoryStruct.{max u2 u1, u2} (CategoryTheory.Paths.{u2} B) (CategoryTheory.Category.toCategoryStruct.{max u2 u1, u2} (CategoryTheory.Paths.{u2} B) (CategoryTheory.Paths.categoryPaths.{u1, u2} B _inst_1)))) (fun (a : CategoryTheory.LocallyDiscrete.{u2} (CategoryTheory.Paths.{u2} B)) (b : CategoryTheory.LocallyDiscrete.{u2} (CategoryTheory.Paths.{u2} B)) => CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, max u2 u1} (Quiver.Hom.{succ (max u2 u1), u2} (CategoryTheory.LocallyDiscrete.{u2} (CategoryTheory.Paths.{u2} B)) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, u2} (CategoryTheory.LocallyDiscrete.{u2} (CategoryTheory.Paths.{u2} B)) (CategoryTheory.LocallyDiscrete.CategoryTheory.categoryStruct.{max u2 u1, u2} (CategoryTheory.Paths.{u2} B) (CategoryTheory.Category.toCategoryStruct.{max u2 u1, u2} (CategoryTheory.Paths.{u2} B) (CategoryTheory.Paths.categoryPaths.{u1, u2} B _inst_1)))) a b) (CategoryTheory.Category.toCategoryStruct.{max u2 u1, max u2 u1} (Quiver.Hom.{succ (max u2 u1), u2} (CategoryTheory.LocallyDiscrete.{u2} (CategoryTheory.Paths.{u2} B)) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, u2} (CategoryTheory.LocallyDiscrete.{u2} (CategoryTheory.Paths.{u2} B)) (CategoryTheory.LocallyDiscrete.CategoryTheory.categoryStruct.{max u2 u1, u2} (CategoryTheory.Paths.{u2} B) (CategoryTheory.Category.toCategoryStruct.{max u2 u1, u2} (CategoryTheory.Paths.{u2} B) (CategoryTheory.Paths.categoryPaths.{u1, u2} B _inst_1)))) a b) (CategoryTheory.discreteCategory.{max u2 u1} (Quiver.Hom.{succ (max u2 u1), u2} (CategoryTheory.Paths.{u2} B) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, u2} (CategoryTheory.Paths.{u2} B) (CategoryTheory.Category.toCategoryStruct.{max u2 u1, u2} (CategoryTheory.Paths.{u2} B) (CategoryTheory.Paths.categoryPaths.{u1, u2} B _inst_1))) a b)))) (CategoryTheory.FreeBicategory.{u2} B) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, u2} (CategoryTheory.FreeBicategory.{u2} B) (CategoryTheory.Bicategory.toCategoryStruct.{max u2 u1, max u2 u1, u2} (CategoryTheory.FreeBicategory.{u2} B) (CategoryTheory.FreeBicategory.bicategory.{u1, u2} B _inst_1))) (fun (a : CategoryTheory.FreeBicategory.{u2} B) (b : CategoryTheory.FreeBicategory.{u2} B) => CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, max u2 u1} (Quiver.Hom.{succ (max u2 u1), u2} (CategoryTheory.FreeBicategory.{u2} B) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, u2} (CategoryTheory.FreeBicategory.{u2} B) (CategoryTheory.Bicategory.toCategoryStruct.{max u2 u1, max u2 u1, u2} (CategoryTheory.FreeBicategory.{u2} B) (CategoryTheory.FreeBicategory.bicategory.{u1, u2} B _inst_1))) a b) (CategoryTheory.Category.toCategoryStruct.{max u2 u1, max u2 u1} (Quiver.Hom.{succ (max u2 u1), u2} (CategoryTheory.FreeBicategory.{u2} B) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, u2} (CategoryTheory.FreeBicategory.{u2} B) (CategoryTheory.Bicategory.toCategoryStruct.{max u2 u1, max u2 u1, u2} (CategoryTheory.FreeBicategory.{u2} B) (CategoryTheory.FreeBicategory.bicategory.{u1, u2} B _inst_1))) a b) (CategoryTheory.FreeBicategory.homCategory.{u1, u2} (CategoryTheory.FreeBicategory.{u2} B) _inst_1 a b))) (CategoryTheory.FreeBicategory.preinclusion.{u1, u2} B _inst_1) b) (CategoryTheory.PrelaxFunctor.obj.{max u2 u1, max u2 u1, max u2 u1, max u2 u1, u2, u2} (CategoryTheory.LocallyDiscrete.{u2} (CategoryTheory.Paths.{u2} B)) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, u2} (CategoryTheory.LocallyDiscrete.{u2} (CategoryTheory.Paths.{u2} B)) (CategoryTheory.LocallyDiscrete.CategoryTheory.categoryStruct.{max u2 u1, u2} (CategoryTheory.Paths.{u2} B) (CategoryTheory.Category.toCategoryStruct.{max u2 u1, u2} (CategoryTheory.Paths.{u2} B) (CategoryTheory.Paths.categoryPaths.{u1, u2} B _inst_1)))) (fun (a : CategoryTheory.LocallyDiscrete.{u2} (CategoryTheory.Paths.{u2} B)) (b : CategoryTheory.LocallyDiscrete.{u2} (CategoryTheory.Paths.{u2} B)) => CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, max u2 u1} (Quiver.Hom.{succ (max u2 u1), u2} (CategoryTheory.LocallyDiscrete.{u2} (CategoryTheory.Paths.{u2} B)) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, u2} (CategoryTheory.LocallyDiscrete.{u2} (CategoryTheory.Paths.{u2} B)) (CategoryTheory.LocallyDiscrete.CategoryTheory.categoryStruct.{max u2 u1, u2} (CategoryTheory.Paths.{u2} B) (CategoryTheory.Category.toCategoryStruct.{max u2 u1, u2} (CategoryTheory.Paths.{u2} B) (CategoryTheory.Paths.categoryPaths.{u1, u2} B _inst_1)))) a b) (CategoryTheory.Category.toCategoryStruct.{max u2 u1, max u2 u1} (Quiver.Hom.{succ (max u2 u1), u2} (CategoryTheory.LocallyDiscrete.{u2} (CategoryTheory.Paths.{u2} B)) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, u2} (CategoryTheory.LocallyDiscrete.{u2} (CategoryTheory.Paths.{u2} B)) (CategoryTheory.LocallyDiscrete.CategoryTheory.categoryStruct.{max u2 u1, u2} (CategoryTheory.Paths.{u2} B) (CategoryTheory.Category.toCategoryStruct.{max u2 u1, u2} (CategoryTheory.Paths.{u2} B) (CategoryTheory.Paths.categoryPaths.{u1, u2} B _inst_1)))) a b) (CategoryTheory.discreteCategory.{max u2 u1} (Quiver.Hom.{succ (max u2 u1), u2} (CategoryTheory.Paths.{u2} B) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, u2} (CategoryTheory.Paths.{u2} B) (CategoryTheory.Category.toCategoryStruct.{max u2 u1, u2} (CategoryTheory.Paths.{u2} B) (CategoryTheory.Paths.categoryPaths.{u1, u2} B _inst_1))) a b)))) (CategoryTheory.FreeBicategory.{u2} B) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, u2} (CategoryTheory.FreeBicategory.{u2} B) (CategoryTheory.Bicategory.toCategoryStruct.{max u2 u1, max u2 u1, u2} (CategoryTheory.FreeBicategory.{u2} B) (CategoryTheory.FreeBicategory.bicategory.{u1, u2} B _inst_1))) (fun (a : CategoryTheory.FreeBicategory.{u2} B) (b : CategoryTheory.FreeBicategory.{u2} B) => CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, max u2 u1} (Quiver.Hom.{succ (max u2 u1), u2} (CategoryTheory.FreeBicategory.{u2} B) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, u2} (CategoryTheory.FreeBicategory.{u2} B) (CategoryTheory.Bicategory.toCategoryStruct.{max u2 u1, max u2 u1, u2} (CategoryTheory.FreeBicategory.{u2} B) (CategoryTheory.FreeBicategory.bicategory.{u1, u2} B _inst_1))) a b) (CategoryTheory.Category.toCategoryStruct.{max u2 u1, max u2 u1} (Quiver.Hom.{succ (max u2 u1), u2} (CategoryTheory.FreeBicategory.{u2} B) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, u2} (CategoryTheory.FreeBicategory.{u2} B) (CategoryTheory.Bicategory.toCategoryStruct.{max u2 u1, max u2 u1, u2} (CategoryTheory.FreeBicategory.{u2} B) (CategoryTheory.FreeBicategory.bicategory.{u1, u2} B _inst_1))) a b) (CategoryTheory.FreeBicategory.homCategory.{u1, u2} (CategoryTheory.FreeBicategory.{u2} B) _inst_1 a b))) (CategoryTheory.FreeBicategory.preinclusion.{u1, u2} B _inst_1) c) (CategoryTheory.PrelaxFunctor.map.{max u2 u1, max u2 u1, max u2 u1, max u2 u1, u2, u2} (CategoryTheory.LocallyDiscrete.{u2} (CategoryTheory.Paths.{u2} B)) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, u2} (CategoryTheory.LocallyDiscrete.{u2} (CategoryTheory.Paths.{u2} B)) (CategoryTheory.LocallyDiscrete.CategoryTheory.categoryStruct.{max u2 u1, u2} (CategoryTheory.Paths.{u2} B) (CategoryTheory.Category.toCategoryStruct.{max u2 u1, u2} (CategoryTheory.Paths.{u2} B) (CategoryTheory.Paths.categoryPaths.{u1, u2} B _inst_1)))) (fun (a : CategoryTheory.LocallyDiscrete.{u2} (CategoryTheory.Paths.{u2} B)) (b : CategoryTheory.LocallyDiscrete.{u2} (CategoryTheory.Paths.{u2} B)) => CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, max u2 u1} (Quiver.Hom.{succ (max u2 u1), u2} (CategoryTheory.LocallyDiscrete.{u2} (CategoryTheory.Paths.{u2} B)) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, u2} (CategoryTheory.LocallyDiscrete.{u2} (CategoryTheory.Paths.{u2} B)) (CategoryTheory.LocallyDiscrete.CategoryTheory.categoryStruct.{max u2 u1, u2} (CategoryTheory.Paths.{u2} B) (CategoryTheory.Category.toCategoryStruct.{max u2 u1, u2} (CategoryTheory.Paths.{u2} B) (CategoryTheory.Paths.categoryPaths.{u1, u2} B _inst_1)))) a b) (CategoryTheory.Category.toCategoryStruct.{max u2 u1, max u2 u1} (Quiver.Hom.{succ (max u2 u1), u2} (CategoryTheory.LocallyDiscrete.{u2} (CategoryTheory.Paths.{u2} B)) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, u2} (CategoryTheory.LocallyDiscrete.{u2} (CategoryTheory.Paths.{u2} B)) (CategoryTheory.LocallyDiscrete.CategoryTheory.categoryStruct.{max u2 u1, u2} (CategoryTheory.Paths.{u2} B) (CategoryTheory.Category.toCategoryStruct.{max u2 u1, u2} (CategoryTheory.Paths.{u2} B) (CategoryTheory.Paths.categoryPaths.{u1, u2} B _inst_1)))) a b) (CategoryTheory.discreteCategory.{max u2 u1} (Quiver.Hom.{succ (max u2 u1), u2} (CategoryTheory.Paths.{u2} B) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, u2} (CategoryTheory.Paths.{u2} B) (CategoryTheory.Category.toCategoryStruct.{max u2 u1, u2} (CategoryTheory.Paths.{u2} B) (CategoryTheory.Paths.categoryPaths.{u1, u2} B _inst_1))) a b)))) (CategoryTheory.FreeBicategory.{u2} B) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, u2} (CategoryTheory.FreeBicategory.{u2} B) (CategoryTheory.Bicategory.toCategoryStruct.{max u2 u1, max u2 u1, u2} (CategoryTheory.FreeBicategory.{u2} B) (CategoryTheory.FreeBicategory.bicategory.{u1, u2} B _inst_1))) (fun (a : CategoryTheory.FreeBicategory.{u2} B) (b : CategoryTheory.FreeBicategory.{u2} B) => CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, max u2 u1} (Quiver.Hom.{succ (max u2 u1), u2} (CategoryTheory.FreeBicategory.{u2} B) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, u2} (CategoryTheory.FreeBicategory.{u2} B) (CategoryTheory.Bicategory.toCategoryStruct.{max u2 u1, max u2 u1, u2} (CategoryTheory.FreeBicategory.{u2} B) (CategoryTheory.FreeBicategory.bicategory.{u1, u2} B _inst_1))) a b) (CategoryTheory.Category.toCategoryStruct.{max u2 u1, max u2 u1} (Quiver.Hom.{succ (max u2 u1), u2} (CategoryTheory.FreeBicategory.{u2} B) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, u2} (CategoryTheory.FreeBicategory.{u2} B) (CategoryTheory.Bicategory.toCategoryStruct.{max u2 u1, max u2 u1, u2} (CategoryTheory.FreeBicategory.{u2} B) (CategoryTheory.FreeBicategory.bicategory.{u1, u2} B _inst_1))) a b) (CategoryTheory.FreeBicategory.homCategory.{u1, u2} (CategoryTheory.FreeBicategory.{u2} B) _inst_1 a b))) (CategoryTheory.FreeBicategory.preinclusion.{u1, u2} B _inst_1) a b (CategoryTheory.Discrete.mk.{max u2 u1} (Quiver.Hom.{succ (max u2 u1), u2} (CategoryTheory.Paths.{u2} B) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, u2} (CategoryTheory.Paths.{u2} B) (CategoryTheory.Category.toCategoryStruct.{max u2 u1, u2} (CategoryTheory.Paths.{u2} B) (CategoryTheory.Paths.categoryPaths.{u1, u2} B _inst_1))) a b) f)) (CategoryTheory.PrelaxFunctor.map.{max u2 u1, max u2 u1, max u2 u1, max u2 u1, u2, u2} (CategoryTheory.LocallyDiscrete.{u2} (CategoryTheory.Paths.{u2} B)) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, u2} (CategoryTheory.LocallyDiscrete.{u2} (CategoryTheory.Paths.{u2} B)) (CategoryTheory.LocallyDiscrete.CategoryTheory.categoryStruct.{max u2 u1, u2} (CategoryTheory.Paths.{u2} B) (CategoryTheory.Category.toCategoryStruct.{max u2 u1, u2} (CategoryTheory.Paths.{u2} B) (CategoryTheory.Paths.categoryPaths.{u1, u2} B _inst_1)))) (fun (a : CategoryTheory.LocallyDiscrete.{u2} (CategoryTheory.Paths.{u2} B)) (b : CategoryTheory.LocallyDiscrete.{u2} (CategoryTheory.Paths.{u2} B)) => CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, max u2 u1} (Quiver.Hom.{succ (max u2 u1), u2} (CategoryTheory.LocallyDiscrete.{u2} (CategoryTheory.Paths.{u2} B)) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, u2} (CategoryTheory.LocallyDiscrete.{u2} (CategoryTheory.Paths.{u2} B)) (CategoryTheory.LocallyDiscrete.CategoryTheory.categoryStruct.{max u2 u1, u2} (CategoryTheory.Paths.{u2} B) (CategoryTheory.Category.toCategoryStruct.{max u2 u1, u2} (CategoryTheory.Paths.{u2} B) (CategoryTheory.Paths.categoryPaths.{u1, u2} B _inst_1)))) a b) (CategoryTheory.Category.toCategoryStruct.{max u2 u1, max u2 u1} (Quiver.Hom.{succ (max u2 u1), u2} (CategoryTheory.LocallyDiscrete.{u2} (CategoryTheory.Paths.{u2} B)) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, u2} (CategoryTheory.LocallyDiscrete.{u2} (CategoryTheory.Paths.{u2} B)) (CategoryTheory.LocallyDiscrete.CategoryTheory.categoryStruct.{max u2 u1, u2} (CategoryTheory.Paths.{u2} B) (CategoryTheory.Category.toCategoryStruct.{max u2 u1, u2} (CategoryTheory.Paths.{u2} B) (CategoryTheory.Paths.categoryPaths.{u1, u2} B _inst_1)))) a b) (CategoryTheory.discreteCategory.{max u2 u1} (Quiver.Hom.{succ (max u2 u1), u2} (CategoryTheory.Paths.{u2} B) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, u2} (CategoryTheory.Paths.{u2} B) (CategoryTheory.Category.toCategoryStruct.{max u2 u1, u2} (CategoryTheory.Paths.{u2} B) (CategoryTheory.Paths.categoryPaths.{u1, u2} B _inst_1))) a b)))) (CategoryTheory.FreeBicategory.{u2} B) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, u2} (CategoryTheory.FreeBicategory.{u2} B) (CategoryTheory.Bicategory.toCategoryStruct.{max u2 u1, max u2 u1, u2} (CategoryTheory.FreeBicategory.{u2} B) (CategoryTheory.FreeBicategory.bicategory.{u1, u2} B _inst_1))) (fun (a : CategoryTheory.FreeBicategory.{u2} B) (b : CategoryTheory.FreeBicategory.{u2} B) => CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, max u2 u1} (Quiver.Hom.{succ (max u2 u1), u2} (CategoryTheory.FreeBicategory.{u2} B) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, u2} (CategoryTheory.FreeBicategory.{u2} B) (CategoryTheory.Bicategory.toCategoryStruct.{max u2 u1, max u2 u1, u2} (CategoryTheory.FreeBicategory.{u2} B) (CategoryTheory.FreeBicategory.bicategory.{u1, u2} B _inst_1))) a b) (CategoryTheory.Category.toCategoryStruct.{max u2 u1, max u2 u1} (Quiver.Hom.{succ (max u2 u1), u2} (CategoryTheory.FreeBicategory.{u2} B) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, u2} (CategoryTheory.FreeBicategory.{u2} B) (CategoryTheory.Bicategory.toCategoryStruct.{max u2 u1, max u2 u1, u2} (CategoryTheory.FreeBicategory.{u2} B) (CategoryTheory.FreeBicategory.bicategory.{u1, u2} B _inst_1))) a b) (CategoryTheory.FreeBicategory.homCategory.{u1, u2} (CategoryTheory.FreeBicategory.{u2} B) _inst_1 a b))) (CategoryTheory.FreeBicategory.preinclusion.{u1, u2} B _inst_1) b c (CategoryTheory.Discrete.mk.{max u2 u1} (Quiver.Hom.{succ (max u2 u1), u2} (CategoryTheory.Paths.{u2} B) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, u2} (CategoryTheory.Paths.{u2} B) (CategoryTheory.Category.toCategoryStruct.{max u2 u1, u2} (CategoryTheory.Paths.{u2} B) (CategoryTheory.Paths.categoryPaths.{u1, u2} B _inst_1))) b c) g)))
-but is expected to have type
-  forall {B : Type.{u1}} [_inst_1 : Quiver.{succ u2, u1} B] {a : B} {b : B} {c : B} (f : Quiver.Path.{succ u2, u1} B _inst_1 a b) (g : Quiver.Path.{succ u2, u1} B _inst_1 b c), CategoryTheory.Iso.{max u1 u2, max u1 u2} (Quiver.Hom.{succ (max u1 u2), u1} (CategoryTheory.FreeBicategory.{u1} B) (CategoryTheory.CategoryStruct.toQuiver.{max u1 u2, u1} (CategoryTheory.FreeBicategory.{u1} B) (CategoryTheory.Bicategory.toCategoryStruct.{max u1 u2, max u1 u2, u1} (CategoryTheory.FreeBicategory.{u1} B) (CategoryTheory.FreeBicategory.bicategory.{u2, u1} B _inst_1))) (CategoryTheory.PrelaxFunctor.obj.{max u1 u2, max u1 u2, max u1 u2, max u1 u2, u1, u1} (CategoryTheory.LocallyDiscrete.{u1} (CategoryTheory.Paths.{u1} B)) (CategoryTheory.CategoryStruct.toQuiver.{max u1 u2, u1} (CategoryTheory.LocallyDiscrete.{u1} (CategoryTheory.Paths.{u1} B)) (CategoryTheory.LocallyDiscrete.CategoryTheory.categoryStruct.{max u1 u2, u1} (CategoryTheory.Paths.{u1} B) (CategoryTheory.Category.toCategoryStruct.{max u1 u2, u1} (CategoryTheory.Paths.{u1} B) (CategoryTheory.Paths.categoryPaths.{u2, u1} B _inst_1)))) (fun (a : CategoryTheory.LocallyDiscrete.{u1} (CategoryTheory.Paths.{u1} B)) (b : CategoryTheory.LocallyDiscrete.{u1} (CategoryTheory.Paths.{u1} B)) => CategoryTheory.CategoryStruct.toQuiver.{max u1 u2, max u1 u2} (Quiver.Hom.{succ (max u1 u2), u1} (CategoryTheory.LocallyDiscrete.{u1} (CategoryTheory.Paths.{u1} B)) (CategoryTheory.CategoryStruct.toQuiver.{max u1 u2, u1} (CategoryTheory.LocallyDiscrete.{u1} (CategoryTheory.Paths.{u1} B)) (CategoryTheory.LocallyDiscrete.CategoryTheory.categoryStruct.{max u1 u2, u1} (CategoryTheory.Paths.{u1} B) (CategoryTheory.Category.toCategoryStruct.{max u1 u2, u1} (CategoryTheory.Paths.{u1} B) (CategoryTheory.Paths.categoryPaths.{u2, u1} B _inst_1)))) a b) (CategoryTheory.Category.toCategoryStruct.{max u1 u2, max u1 u2} (Quiver.Hom.{succ (max u1 u2), u1} (CategoryTheory.LocallyDiscrete.{u1} (CategoryTheory.Paths.{u1} B)) (CategoryTheory.CategoryStruct.toQuiver.{max u1 u2, u1} (CategoryTheory.LocallyDiscrete.{u1} (CategoryTheory.Paths.{u1} B)) (CategoryTheory.LocallyDiscrete.CategoryTheory.categoryStruct.{max u1 u2, u1} (CategoryTheory.Paths.{u1} B) (CategoryTheory.Category.toCategoryStruct.{max u1 u2, u1} (CategoryTheory.Paths.{u1} B) (CategoryTheory.Paths.categoryPaths.{u2, u1} B _inst_1)))) a b) (CategoryTheory.discreteCategory.{max u1 u2} (Quiver.Hom.{succ (max u1 u2), u1} (CategoryTheory.Paths.{u1} B) (CategoryTheory.CategoryStruct.toQuiver.{max u1 u2, u1} (CategoryTheory.Paths.{u1} B) (CategoryTheory.Category.toCategoryStruct.{max u1 u2, u1} (CategoryTheory.Paths.{u1} B) (CategoryTheory.Paths.categoryPaths.{u2, u1} B _inst_1))) a b)))) (CategoryTheory.FreeBicategory.{u1} B) (CategoryTheory.CategoryStruct.toQuiver.{max u1 u2, u1} (CategoryTheory.FreeBicategory.{u1} B) (CategoryTheory.Bicategory.toCategoryStruct.{max u1 u2, max u1 u2, u1} (CategoryTheory.FreeBicategory.{u1} B) (CategoryTheory.FreeBicategory.bicategory.{u2, u1} B _inst_1))) (fun (a : CategoryTheory.FreeBicategory.{u1} B) (b : CategoryTheory.FreeBicategory.{u1} B) => CategoryTheory.CategoryStruct.toQuiver.{max u1 u2, max u1 u2} (Quiver.Hom.{succ (max u1 u2), u1} (CategoryTheory.FreeBicategory.{u1} B) (CategoryTheory.CategoryStruct.toQuiver.{max u1 u2, u1} (CategoryTheory.FreeBicategory.{u1} B) (CategoryTheory.Bicategory.toCategoryStruct.{max u1 u2, max u1 u2, u1} (CategoryTheory.FreeBicategory.{u1} B) (CategoryTheory.FreeBicategory.bicategory.{u2, u1} B _inst_1))) a b) (CategoryTheory.Category.toCategoryStruct.{max u1 u2, max u1 u2} (Quiver.Hom.{succ (max u1 u2), u1} (CategoryTheory.FreeBicategory.{u1} B) (CategoryTheory.CategoryStruct.toQuiver.{max u1 u2, u1} (CategoryTheory.FreeBicategory.{u1} B) (CategoryTheory.Bicategory.toCategoryStruct.{max u1 u2, max u1 u2, u1} (CategoryTheory.FreeBicategory.{u1} B) (CategoryTheory.FreeBicategory.bicategory.{u2, u1} B _inst_1))) a b) (CategoryTheory.FreeBicategory.homCategory.{u2, u1} (CategoryTheory.FreeBicategory.{u1} B) _inst_1 a b))) (CategoryTheory.FreeBicategory.preinclusion.{u2, u1} B _inst_1) a) (CategoryTheory.PrelaxFunctor.obj.{max u1 u2, max u1 u2, max u1 u2, max u1 u2, u1, u1} (CategoryTheory.LocallyDiscrete.{u1} (CategoryTheory.Paths.{u1} B)) (CategoryTheory.CategoryStruct.toQuiver.{max u1 u2, u1} (CategoryTheory.LocallyDiscrete.{u1} (CategoryTheory.Paths.{u1} B)) (CategoryTheory.LocallyDiscrete.CategoryTheory.categoryStruct.{max u1 u2, u1} (CategoryTheory.Paths.{u1} B) (CategoryTheory.Category.toCategoryStruct.{max u1 u2, u1} (CategoryTheory.Paths.{u1} B) (CategoryTheory.Paths.categoryPaths.{u2, u1} B _inst_1)))) (fun (a : CategoryTheory.LocallyDiscrete.{u1} (CategoryTheory.Paths.{u1} B)) (b : CategoryTheory.LocallyDiscrete.{u1} (CategoryTheory.Paths.{u1} B)) => CategoryTheory.CategoryStruct.toQuiver.{max u1 u2, max u1 u2} (Quiver.Hom.{succ (max u1 u2), u1} (CategoryTheory.LocallyDiscrete.{u1} (CategoryTheory.Paths.{u1} B)) (CategoryTheory.CategoryStruct.toQuiver.{max u1 u2, u1} (CategoryTheory.LocallyDiscrete.{u1} (CategoryTheory.Paths.{u1} B)) (CategoryTheory.LocallyDiscrete.CategoryTheory.categoryStruct.{max u1 u2, u1} (CategoryTheory.Paths.{u1} B) (CategoryTheory.Category.toCategoryStruct.{max u1 u2, u1} (CategoryTheory.Paths.{u1} B) (CategoryTheory.Paths.categoryPaths.{u2, u1} B _inst_1)))) a b) (CategoryTheory.Category.toCategoryStruct.{max u1 u2, max u1 u2} (Quiver.Hom.{succ (max u1 u2), u1} (CategoryTheory.LocallyDiscrete.{u1} (CategoryTheory.Paths.{u1} B)) (CategoryTheory.CategoryStruct.toQuiver.{max u1 u2, u1} (CategoryTheory.LocallyDiscrete.{u1} (CategoryTheory.Paths.{u1} B)) (CategoryTheory.LocallyDiscrete.CategoryTheory.categoryStruct.{max u1 u2, u1} (CategoryTheory.Paths.{u1} B) (CategoryTheory.Category.toCategoryStruct.{max u1 u2, u1} (CategoryTheory.Paths.{u1} B) (CategoryTheory.Paths.categoryPaths.{u2, u1} B _inst_1)))) a b) (CategoryTheory.discreteCategory.{max u1 u2} (Quiver.Hom.{succ (max u1 u2), u1} (CategoryTheory.Paths.{u1} B) (CategoryTheory.CategoryStruct.toQuiver.{max u1 u2, u1} (CategoryTheory.Paths.{u1} B) (CategoryTheory.Category.toCategoryStruct.{max u1 u2, u1} (CategoryTheory.Paths.{u1} B) (CategoryTheory.Paths.categoryPaths.{u2, u1} B _inst_1))) a b)))) (CategoryTheory.FreeBicategory.{u1} B) (CategoryTheory.CategoryStruct.toQuiver.{max u1 u2, u1} (CategoryTheory.FreeBicategory.{u1} B) (CategoryTheory.Bicategory.toCategoryStruct.{max u1 u2, max u1 u2, u1} (CategoryTheory.FreeBicategory.{u1} B) (CategoryTheory.FreeBicategory.bicategory.{u2, u1} B _inst_1))) (fun (a : CategoryTheory.FreeBicategory.{u1} B) (b : CategoryTheory.FreeBicategory.{u1} B) => CategoryTheory.CategoryStruct.toQuiver.{max u1 u2, max u1 u2} (Quiver.Hom.{succ (max u1 u2), u1} (CategoryTheory.FreeBicategory.{u1} B) (CategoryTheory.CategoryStruct.toQuiver.{max u1 u2, u1} (CategoryTheory.FreeBicategory.{u1} B) (CategoryTheory.Bicategory.toCategoryStruct.{max u1 u2, max u1 u2, u1} (CategoryTheory.FreeBicategory.{u1} B) (CategoryTheory.FreeBicategory.bicategory.{u2, u1} B _inst_1))) a b) (CategoryTheory.Category.toCategoryStruct.{max u1 u2, max u1 u2} (Quiver.Hom.{succ (max u1 u2), u1} (CategoryTheory.FreeBicategory.{u1} B) (CategoryTheory.CategoryStruct.toQuiver.{max u1 u2, u1} (CategoryTheory.FreeBicategory.{u1} B) (CategoryTheory.Bicategory.toCategoryStruct.{max u1 u2, max u1 u2, u1} (CategoryTheory.FreeBicategory.{u1} B) (CategoryTheory.FreeBicategory.bicategory.{u2, u1} B _inst_1))) a b) (CategoryTheory.FreeBicategory.homCategory.{u2, u1} (CategoryTheory.FreeBicategory.{u1} B) _inst_1 a b))) (CategoryTheory.FreeBicategory.preinclusion.{u2, u1} B _inst_1) c)) (CategoryTheory.FreeBicategory.homCategory.{u2, u1} B _inst_1 (CategoryTheory.PrelaxFunctor.obj.{max u1 u2, max u1 u2, max u1 u2, max u1 u2, u1, u1} (CategoryTheory.LocallyDiscrete.{u1} (CategoryTheory.Paths.{u1} B)) (CategoryTheory.CategoryStruct.toQuiver.{max u1 u2, u1} (CategoryTheory.LocallyDiscrete.{u1} (CategoryTheory.Paths.{u1} B)) (CategoryTheory.LocallyDiscrete.CategoryTheory.categoryStruct.{max u1 u2, u1} (CategoryTheory.Paths.{u1} B) (CategoryTheory.Category.toCategoryStruct.{max u1 u2, u1} (CategoryTheory.Paths.{u1} B) (CategoryTheory.Paths.categoryPaths.{u2, u1} B _inst_1)))) (fun (a : CategoryTheory.LocallyDiscrete.{u1} (CategoryTheory.Paths.{u1} B)) (b : CategoryTheory.LocallyDiscrete.{u1} (CategoryTheory.Paths.{u1} B)) => CategoryTheory.CategoryStruct.toQuiver.{max u1 u2, max u1 u2} (Quiver.Hom.{succ (max u1 u2), u1} (CategoryTheory.LocallyDiscrete.{u1} (CategoryTheory.Paths.{u1} B)) (CategoryTheory.CategoryStruct.toQuiver.{max u1 u2, u1} (CategoryTheory.LocallyDiscrete.{u1} (CategoryTheory.Paths.{u1} B)) (CategoryTheory.LocallyDiscrete.CategoryTheory.categoryStruct.{max u1 u2, u1} (CategoryTheory.Paths.{u1} B) (CategoryTheory.Category.toCategoryStruct.{max u1 u2, u1} (CategoryTheory.Paths.{u1} B) (CategoryTheory.Paths.categoryPaths.{u2, u1} B _inst_1)))) a b) (CategoryTheory.Category.toCategoryStruct.{max u1 u2, max u1 u2} (Quiver.Hom.{succ (max u1 u2), u1} (CategoryTheory.LocallyDiscrete.{u1} (CategoryTheory.Paths.{u1} B)) (CategoryTheory.CategoryStruct.toQuiver.{max u1 u2, u1} (CategoryTheory.LocallyDiscrete.{u1} (CategoryTheory.Paths.{u1} B)) (CategoryTheory.LocallyDiscrete.CategoryTheory.categoryStruct.{max u1 u2, u1} (CategoryTheory.Paths.{u1} B) (CategoryTheory.Category.toCategoryStruct.{max u1 u2, u1} (CategoryTheory.Paths.{u1} B) (CategoryTheory.Paths.categoryPaths.{u2, u1} B _inst_1)))) a b) (CategoryTheory.discreteCategory.{max u1 u2} (Quiver.Hom.{succ (max u1 u2), u1} (CategoryTheory.Paths.{u1} B) (CategoryTheory.CategoryStruct.toQuiver.{max u1 u2, u1} (CategoryTheory.Paths.{u1} B) (CategoryTheory.Category.toCategoryStruct.{max u1 u2, u1} (CategoryTheory.Paths.{u1} B) (CategoryTheory.Paths.categoryPaths.{u2, u1} B _inst_1))) a b)))) (CategoryTheory.FreeBicategory.{u1} B) (CategoryTheory.CategoryStruct.toQuiver.{max u1 u2, u1} (CategoryTheory.FreeBicategory.{u1} B) (CategoryTheory.Bicategory.toCategoryStruct.{max u1 u2, max u1 u2, u1} (CategoryTheory.FreeBicategory.{u1} B) (CategoryTheory.FreeBicategory.bicategory.{u2, u1} B _inst_1))) (fun (a : CategoryTheory.FreeBicategory.{u1} B) (b : CategoryTheory.FreeBicategory.{u1} B) => CategoryTheory.CategoryStruct.toQuiver.{max u1 u2, max u1 u2} (Quiver.Hom.{succ (max u1 u2), u1} (CategoryTheory.FreeBicategory.{u1} B) (CategoryTheory.CategoryStruct.toQuiver.{max u1 u2, u1} (CategoryTheory.FreeBicategory.{u1} B) (CategoryTheory.Bicategory.toCategoryStruct.{max u1 u2, max u1 u2, u1} (CategoryTheory.FreeBicategory.{u1} B) (CategoryTheory.FreeBicategory.bicategory.{u2, u1} B _inst_1))) a b) (CategoryTheory.Category.toCategoryStruct.{max u1 u2, max u1 u2} (Quiver.Hom.{succ (max u1 u2), u1} (CategoryTheory.FreeBicategory.{u1} B) (CategoryTheory.CategoryStruct.toQuiver.{max u1 u2, u1} (CategoryTheory.FreeBicategory.{u1} B) (CategoryTheory.Bicategory.toCategoryStruct.{max u1 u2, max u1 u2, u1} (CategoryTheory.FreeBicategory.{u1} B) (CategoryTheory.FreeBicategory.bicategory.{u2, u1} B _inst_1))) a b) (CategoryTheory.FreeBicategory.homCategory.{u2, u1} (CategoryTheory.FreeBicategory.{u1} B) _inst_1 a b))) (CategoryTheory.FreeBicategory.preinclusion.{u2, u1} B _inst_1) a) (CategoryTheory.PrelaxFunctor.obj.{max u1 u2, max u1 u2, max u1 u2, max u1 u2, u1, u1} (CategoryTheory.LocallyDiscrete.{u1} (CategoryTheory.Paths.{u1} B)) (CategoryTheory.CategoryStruct.toQuiver.{max u1 u2, u1} (CategoryTheory.LocallyDiscrete.{u1} (CategoryTheory.Paths.{u1} B)) (CategoryTheory.LocallyDiscrete.CategoryTheory.categoryStruct.{max u1 u2, u1} (CategoryTheory.Paths.{u1} B) (CategoryTheory.Category.toCategoryStruct.{max u1 u2, u1} (CategoryTheory.Paths.{u1} B) (CategoryTheory.Paths.categoryPaths.{u2, u1} B _inst_1)))) (fun (a : CategoryTheory.LocallyDiscrete.{u1} (CategoryTheory.Paths.{u1} B)) (b : CategoryTheory.LocallyDiscrete.{u1} (CategoryTheory.Paths.{u1} B)) => CategoryTheory.CategoryStruct.toQuiver.{max u1 u2, max u1 u2} (Quiver.Hom.{succ (max u1 u2), u1} (CategoryTheory.LocallyDiscrete.{u1} (CategoryTheory.Paths.{u1} B)) (CategoryTheory.CategoryStruct.toQuiver.{max u1 u2, u1} (CategoryTheory.LocallyDiscrete.{u1} (CategoryTheory.Paths.{u1} B)) (CategoryTheory.LocallyDiscrete.CategoryTheory.categoryStruct.{max u1 u2, u1} (CategoryTheory.Paths.{u1} B) (CategoryTheory.Category.toCategoryStruct.{max u1 u2, u1} (CategoryTheory.Paths.{u1} B) (CategoryTheory.Paths.categoryPaths.{u2, u1} B _inst_1)))) a b) (CategoryTheory.Category.toCategoryStruct.{max u1 u2, max u1 u2} (Quiver.Hom.{succ (max u1 u2), u1} (CategoryTheory.LocallyDiscrete.{u1} (CategoryTheory.Paths.{u1} B)) (CategoryTheory.CategoryStruct.toQuiver.{max u1 u2, u1} (CategoryTheory.LocallyDiscrete.{u1} (CategoryTheory.Paths.{u1} B)) (CategoryTheory.LocallyDiscrete.CategoryTheory.categoryStruct.{max u1 u2, u1} (CategoryTheory.Paths.{u1} B) (CategoryTheory.Category.toCategoryStruct.{max u1 u2, u1} (CategoryTheory.Paths.{u1} B) (CategoryTheory.Paths.categoryPaths.{u2, u1} B _inst_1)))) a b) (CategoryTheory.discreteCategory.{max u1 u2} (Quiver.Hom.{succ (max u1 u2), u1} (CategoryTheory.Paths.{u1} B) (CategoryTheory.CategoryStruct.toQuiver.{max u1 u2, u1} (CategoryTheory.Paths.{u1} B) (CategoryTheory.Category.toCategoryStruct.{max u1 u2, u1} (CategoryTheory.Paths.{u1} B) (CategoryTheory.Paths.categoryPaths.{u2, u1} B _inst_1))) a b)))) (CategoryTheory.FreeBicategory.{u1} B) (CategoryTheory.CategoryStruct.toQuiver.{max u1 u2, u1} (CategoryTheory.FreeBicategory.{u1} B) (CategoryTheory.Bicategory.toCategoryStruct.{max u1 u2, max u1 u2, u1} (CategoryTheory.FreeBicategory.{u1} B) (CategoryTheory.FreeBicategory.bicategory.{u2, u1} B _inst_1))) (fun (a : CategoryTheory.FreeBicategory.{u1} B) (b : CategoryTheory.FreeBicategory.{u1} B) => CategoryTheory.CategoryStruct.toQuiver.{max u1 u2, max u1 u2} (Quiver.Hom.{succ (max u1 u2), u1} (CategoryTheory.FreeBicategory.{u1} B) (CategoryTheory.CategoryStruct.toQuiver.{max u1 u2, u1} (CategoryTheory.FreeBicategory.{u1} B) (CategoryTheory.Bicategory.toCategoryStruct.{max u1 u2, max u1 u2, u1} (CategoryTheory.FreeBicategory.{u1} B) (CategoryTheory.FreeBicategory.bicategory.{u2, u1} B _inst_1))) a b) (CategoryTheory.Category.toCategoryStruct.{max u1 u2, max u1 u2} (Quiver.Hom.{succ (max u1 u2), u1} (CategoryTheory.FreeBicategory.{u1} B) (CategoryTheory.CategoryStruct.toQuiver.{max u1 u2, u1} (CategoryTheory.FreeBicategory.{u1} B) (CategoryTheory.Bicategory.toCategoryStruct.{max u1 u2, max u1 u2, u1} (CategoryTheory.FreeBicategory.{u1} B) (CategoryTheory.FreeBicategory.bicategory.{u2, u1} B _inst_1))) a b) (CategoryTheory.FreeBicategory.homCategory.{u2, u1} (CategoryTheory.FreeBicategory.{u1} B) _inst_1 a b))) (CategoryTheory.FreeBicategory.preinclusion.{u2, u1} B _inst_1) c)) (CategoryTheory.PrelaxFunctor.map.{max u1 u2, max u1 u2, max u1 u2, max u1 u2, u1, u1} (CategoryTheory.LocallyDiscrete.{u1} (CategoryTheory.Paths.{u1} B)) (CategoryTheory.CategoryStruct.toQuiver.{max u1 u2, u1} (CategoryTheory.LocallyDiscrete.{u1} (CategoryTheory.Paths.{u1} B)) (CategoryTheory.LocallyDiscrete.CategoryTheory.categoryStruct.{max u1 u2, u1} (CategoryTheory.Paths.{u1} B) (CategoryTheory.Category.toCategoryStruct.{max u1 u2, u1} (CategoryTheory.Paths.{u1} B) (CategoryTheory.Paths.categoryPaths.{u2, u1} B _inst_1)))) (fun (a : CategoryTheory.LocallyDiscrete.{u1} (CategoryTheory.Paths.{u1} B)) (b : CategoryTheory.LocallyDiscrete.{u1} (CategoryTheory.Paths.{u1} B)) => CategoryTheory.CategoryStruct.toQuiver.{max u1 u2, max u1 u2} (Quiver.Hom.{succ (max u1 u2), u1} (CategoryTheory.LocallyDiscrete.{u1} (CategoryTheory.Paths.{u1} B)) (CategoryTheory.CategoryStruct.toQuiver.{max u1 u2, u1} (CategoryTheory.LocallyDiscrete.{u1} (CategoryTheory.Paths.{u1} B)) (CategoryTheory.LocallyDiscrete.CategoryTheory.categoryStruct.{max u1 u2, u1} (CategoryTheory.Paths.{u1} B) (CategoryTheory.Category.toCategoryStruct.{max u1 u2, u1} (CategoryTheory.Paths.{u1} B) (CategoryTheory.Paths.categoryPaths.{u2, u1} B _inst_1)))) a b) (CategoryTheory.Category.toCategoryStruct.{max u1 u2, max u1 u2} (Quiver.Hom.{succ (max u1 u2), u1} (CategoryTheory.LocallyDiscrete.{u1} (CategoryTheory.Paths.{u1} B)) (CategoryTheory.CategoryStruct.toQuiver.{max u1 u2, u1} (CategoryTheory.LocallyDiscrete.{u1} (CategoryTheory.Paths.{u1} B)) (CategoryTheory.LocallyDiscrete.CategoryTheory.categoryStruct.{max u1 u2, u1} (CategoryTheory.Paths.{u1} B) (CategoryTheory.Category.toCategoryStruct.{max u1 u2, u1} (CategoryTheory.Paths.{u1} B) (CategoryTheory.Paths.categoryPaths.{u2, u1} B _inst_1)))) a b) (CategoryTheory.discreteCategory.{max u1 u2} (Quiver.Hom.{succ (max u1 u2), u1} (CategoryTheory.Paths.{u1} B) (CategoryTheory.CategoryStruct.toQuiver.{max u1 u2, u1} (CategoryTheory.Paths.{u1} B) (CategoryTheory.Category.toCategoryStruct.{max u1 u2, u1} (CategoryTheory.Paths.{u1} B) (CategoryTheory.Paths.categoryPaths.{u2, u1} B _inst_1))) a b)))) (CategoryTheory.FreeBicategory.{u1} B) (CategoryTheory.CategoryStruct.toQuiver.{max u1 u2, u1} (CategoryTheory.FreeBicategory.{u1} B) (CategoryTheory.Bicategory.toCategoryStruct.{max u1 u2, max u1 u2, u1} (CategoryTheory.FreeBicategory.{u1} B) (CategoryTheory.FreeBicategory.bicategory.{u2, u1} B _inst_1))) (fun (a : CategoryTheory.FreeBicategory.{u1} B) (b : CategoryTheory.FreeBicategory.{u1} B) => CategoryTheory.CategoryStruct.toQuiver.{max u1 u2, max u1 u2} (Quiver.Hom.{succ (max u1 u2), u1} (CategoryTheory.FreeBicategory.{u1} B) (CategoryTheory.CategoryStruct.toQuiver.{max u1 u2, u1} (CategoryTheory.FreeBicategory.{u1} B) (CategoryTheory.Bicategory.toCategoryStruct.{max u1 u2, max u1 u2, u1} (CategoryTheory.FreeBicategory.{u1} B) (CategoryTheory.FreeBicategory.bicategory.{u2, u1} B _inst_1))) a b) (CategoryTheory.Category.toCategoryStruct.{max u1 u2, max u1 u2} (Quiver.Hom.{succ (max u1 u2), u1} (CategoryTheory.FreeBicategory.{u1} B) (CategoryTheory.CategoryStruct.toQuiver.{max u1 u2, u1} (CategoryTheory.FreeBicategory.{u1} B) (CategoryTheory.Bicategory.toCategoryStruct.{max u1 u2, max u1 u2, u1} (CategoryTheory.FreeBicategory.{u1} B) (CategoryTheory.FreeBicategory.bicategory.{u2, u1} B _inst_1))) a b) (CategoryTheory.FreeBicategory.homCategory.{u2, u1} (CategoryTheory.FreeBicategory.{u1} B) _inst_1 a b))) (CategoryTheory.FreeBicategory.preinclusion.{u2, u1} B _inst_1) a c (CategoryTheory.CategoryStruct.comp.{max u1 u2, u1} (CategoryTheory.LocallyDiscrete.{u1} (CategoryTheory.Paths.{u1} B)) (CategoryTheory.LocallyDiscrete.CategoryTheory.categoryStruct.{max u1 u2, u1} (CategoryTheory.Paths.{u1} B) (CategoryTheory.Category.toCategoryStruct.{max u1 u2, u1} (CategoryTheory.Paths.{u1} B) (CategoryTheory.Paths.categoryPaths.{u2, u1} B _inst_1))) a b c (CategoryTheory.Discrete.mk.{max u1 u2} (Quiver.Hom.{succ (max u1 u2), u1} (CategoryTheory.Paths.{u1} B) (CategoryTheory.CategoryStruct.toQuiver.{max u1 u2, u1} (CategoryTheory.Paths.{u1} B) (CategoryTheory.Category.toCategoryStruct.{max u1 u2, u1} (CategoryTheory.Paths.{u1} B) (CategoryTheory.Paths.categoryPaths.{u2, u1} B _inst_1))) a b) f) (CategoryTheory.Discrete.mk.{max u1 u2} (Quiver.Hom.{succ (max u1 u2), u1} (CategoryTheory.Paths.{u1} B) (CategoryTheory.CategoryStruct.toQuiver.{max u1 u2, u1} (CategoryTheory.Paths.{u1} B) (CategoryTheory.Category.toCategoryStruct.{max u1 u2, u1} (CategoryTheory.Paths.{u1} B) (CategoryTheory.Paths.categoryPaths.{u2, u1} B _inst_1))) b c) g))) (CategoryTheory.CategoryStruct.comp.{max u1 u2, u1} (CategoryTheory.FreeBicategory.{u1} B) (CategoryTheory.Bicategory.toCategoryStruct.{max u1 u2, max u1 u2, u1} (CategoryTheory.FreeBicategory.{u1} B) (CategoryTheory.FreeBicategory.bicategory.{u2, u1} B _inst_1)) (CategoryTheory.PrelaxFunctor.obj.{max u1 u2, max u1 u2, max u1 u2, max u1 u2, u1, u1} (CategoryTheory.LocallyDiscrete.{u1} (CategoryTheory.Paths.{u1} B)) (CategoryTheory.CategoryStruct.toQuiver.{max u1 u2, u1} (CategoryTheory.LocallyDiscrete.{u1} (CategoryTheory.Paths.{u1} B)) (CategoryTheory.LocallyDiscrete.CategoryTheory.categoryStruct.{max u1 u2, u1} (CategoryTheory.Paths.{u1} B) (CategoryTheory.Category.toCategoryStruct.{max u1 u2, u1} (CategoryTheory.Paths.{u1} B) (CategoryTheory.Paths.categoryPaths.{u2, u1} B _inst_1)))) (fun (a : CategoryTheory.LocallyDiscrete.{u1} (CategoryTheory.Paths.{u1} B)) (b : CategoryTheory.LocallyDiscrete.{u1} (CategoryTheory.Paths.{u1} B)) => CategoryTheory.CategoryStruct.toQuiver.{max u1 u2, max u1 u2} (Quiver.Hom.{succ (max u1 u2), u1} (CategoryTheory.LocallyDiscrete.{u1} (CategoryTheory.Paths.{u1} B)) (CategoryTheory.CategoryStruct.toQuiver.{max u1 u2, u1} (CategoryTheory.LocallyDiscrete.{u1} (CategoryTheory.Paths.{u1} B)) (CategoryTheory.LocallyDiscrete.CategoryTheory.categoryStruct.{max u1 u2, u1} (CategoryTheory.Paths.{u1} B) (CategoryTheory.Category.toCategoryStruct.{max u1 u2, u1} (CategoryTheory.Paths.{u1} B) (CategoryTheory.Paths.categoryPaths.{u2, u1} B _inst_1)))) a b) (CategoryTheory.Category.toCategoryStruct.{max u1 u2, max u1 u2} (Quiver.Hom.{succ (max u1 u2), u1} (CategoryTheory.LocallyDiscrete.{u1} (CategoryTheory.Paths.{u1} B)) (CategoryTheory.CategoryStruct.toQuiver.{max u1 u2, u1} (CategoryTheory.LocallyDiscrete.{u1} (CategoryTheory.Paths.{u1} B)) (CategoryTheory.LocallyDiscrete.CategoryTheory.categoryStruct.{max u1 u2, u1} (CategoryTheory.Paths.{u1} B) (CategoryTheory.Category.toCategoryStruct.{max u1 u2, u1} (CategoryTheory.Paths.{u1} B) (CategoryTheory.Paths.categoryPaths.{u2, u1} B _inst_1)))) a b) (CategoryTheory.discreteCategory.{max u1 u2} (Quiver.Hom.{succ (max u1 u2), u1} (CategoryTheory.Paths.{u1} B) (CategoryTheory.CategoryStruct.toQuiver.{max u1 u2, u1} (CategoryTheory.Paths.{u1} B) (CategoryTheory.Category.toCategoryStruct.{max u1 u2, u1} (CategoryTheory.Paths.{u1} B) (CategoryTheory.Paths.categoryPaths.{u2, u1} B _inst_1))) a b)))) (CategoryTheory.FreeBicategory.{u1} B) (CategoryTheory.CategoryStruct.toQuiver.{max u1 u2, u1} (CategoryTheory.FreeBicategory.{u1} B) (CategoryTheory.Bicategory.toCategoryStruct.{max u1 u2, max u1 u2, u1} (CategoryTheory.FreeBicategory.{u1} B) (CategoryTheory.FreeBicategory.bicategory.{u2, u1} B _inst_1))) (fun (a : CategoryTheory.FreeBicategory.{u1} B) (b : CategoryTheory.FreeBicategory.{u1} B) => CategoryTheory.CategoryStruct.toQuiver.{max u1 u2, max u1 u2} (Quiver.Hom.{succ (max u1 u2), u1} (CategoryTheory.FreeBicategory.{u1} B) (CategoryTheory.CategoryStruct.toQuiver.{max u1 u2, u1} (CategoryTheory.FreeBicategory.{u1} B) (CategoryTheory.Bicategory.toCategoryStruct.{max u1 u2, max u1 u2, u1} (CategoryTheory.FreeBicategory.{u1} B) (CategoryTheory.FreeBicategory.bicategory.{u2, u1} B _inst_1))) a b) (CategoryTheory.Category.toCategoryStruct.{max u1 u2, max u1 u2} (Quiver.Hom.{succ (max u1 u2), u1} (CategoryTheory.FreeBicategory.{u1} B) (CategoryTheory.CategoryStruct.toQuiver.{max u1 u2, u1} (CategoryTheory.FreeBicategory.{u1} B) (CategoryTheory.Bicategory.toCategoryStruct.{max u1 u2, max u1 u2, u1} (CategoryTheory.FreeBicategory.{u1} B) (CategoryTheory.FreeBicategory.bicategory.{u2, u1} B _inst_1))) a b) (CategoryTheory.FreeBicategory.homCategory.{u2, u1} (CategoryTheory.FreeBicategory.{u1} B) _inst_1 a b))) (CategoryTheory.FreeBicategory.preinclusion.{u2, u1} B _inst_1) a) (CategoryTheory.PrelaxFunctor.obj.{max u1 u2, max u1 u2, max u1 u2, max u1 u2, u1, u1} (CategoryTheory.LocallyDiscrete.{u1} (CategoryTheory.Paths.{u1} B)) (CategoryTheory.CategoryStruct.toQuiver.{max u1 u2, u1} (CategoryTheory.LocallyDiscrete.{u1} (CategoryTheory.Paths.{u1} B)) (CategoryTheory.LocallyDiscrete.CategoryTheory.categoryStruct.{max u1 u2, u1} (CategoryTheory.Paths.{u1} B) (CategoryTheory.Category.toCategoryStruct.{max u1 u2, u1} (CategoryTheory.Paths.{u1} B) (CategoryTheory.Paths.categoryPaths.{u2, u1} B _inst_1)))) (fun (a : CategoryTheory.LocallyDiscrete.{u1} (CategoryTheory.Paths.{u1} B)) (b : CategoryTheory.LocallyDiscrete.{u1} (CategoryTheory.Paths.{u1} B)) => CategoryTheory.CategoryStruct.toQuiver.{max u1 u2, max u1 u2} (Quiver.Hom.{succ (max u1 u2), u1} (CategoryTheory.LocallyDiscrete.{u1} (CategoryTheory.Paths.{u1} B)) (CategoryTheory.CategoryStruct.toQuiver.{max u1 u2, u1} (CategoryTheory.LocallyDiscrete.{u1} (CategoryTheory.Paths.{u1} B)) (CategoryTheory.LocallyDiscrete.CategoryTheory.categoryStruct.{max u1 u2, u1} (CategoryTheory.Paths.{u1} B) (CategoryTheory.Category.toCategoryStruct.{max u1 u2, u1} (CategoryTheory.Paths.{u1} B) (CategoryTheory.Paths.categoryPaths.{u2, u1} B _inst_1)))) a b) (CategoryTheory.Category.toCategoryStruct.{max u1 u2, max u1 u2} (Quiver.Hom.{succ (max u1 u2), u1} (CategoryTheory.LocallyDiscrete.{u1} (CategoryTheory.Paths.{u1} B)) (CategoryTheory.CategoryStruct.toQuiver.{max u1 u2, u1} (CategoryTheory.LocallyDiscrete.{u1} (CategoryTheory.Paths.{u1} B)) (CategoryTheory.LocallyDiscrete.CategoryTheory.categoryStruct.{max u1 u2, u1} (CategoryTheory.Paths.{u1} B) (CategoryTheory.Category.toCategoryStruct.{max u1 u2, u1} (CategoryTheory.Paths.{u1} B) (CategoryTheory.Paths.categoryPaths.{u2, u1} B _inst_1)))) a b) (CategoryTheory.discreteCategory.{max u1 u2} (Quiver.Hom.{succ (max u1 u2), u1} (CategoryTheory.Paths.{u1} B) (CategoryTheory.CategoryStruct.toQuiver.{max u1 u2, u1} (CategoryTheory.Paths.{u1} B) (CategoryTheory.Category.toCategoryStruct.{max u1 u2, u1} (CategoryTheory.Paths.{u1} B) (CategoryTheory.Paths.categoryPaths.{u2, u1} B _inst_1))) a b)))) (CategoryTheory.FreeBicategory.{u1} B) (CategoryTheory.CategoryStruct.toQuiver.{max u1 u2, u1} (CategoryTheory.FreeBicategory.{u1} B) (CategoryTheory.Bicategory.toCategoryStruct.{max u1 u2, max u1 u2, u1} (CategoryTheory.FreeBicategory.{u1} B) (CategoryTheory.FreeBicategory.bicategory.{u2, u1} B _inst_1))) (fun (a : CategoryTheory.FreeBicategory.{u1} B) (b : CategoryTheory.FreeBicategory.{u1} B) => CategoryTheory.CategoryStruct.toQuiver.{max u1 u2, max u1 u2} (Quiver.Hom.{succ (max u1 u2), u1} (CategoryTheory.FreeBicategory.{u1} B) (CategoryTheory.CategoryStruct.toQuiver.{max u1 u2, u1} (CategoryTheory.FreeBicategory.{u1} B) (CategoryTheory.Bicategory.toCategoryStruct.{max u1 u2, max u1 u2, u1} (CategoryTheory.FreeBicategory.{u1} B) (CategoryTheory.FreeBicategory.bicategory.{u2, u1} B _inst_1))) a b) (CategoryTheory.Category.toCategoryStruct.{max u1 u2, max u1 u2} (Quiver.Hom.{succ (max u1 u2), u1} (CategoryTheory.FreeBicategory.{u1} B) (CategoryTheory.CategoryStruct.toQuiver.{max u1 u2, u1} (CategoryTheory.FreeBicategory.{u1} B) (CategoryTheory.Bicategory.toCategoryStruct.{max u1 u2, max u1 u2, u1} (CategoryTheory.FreeBicategory.{u1} B) (CategoryTheory.FreeBicategory.bicategory.{u2, u1} B _inst_1))) a b) (CategoryTheory.FreeBicategory.homCategory.{u2, u1} (CategoryTheory.FreeBicategory.{u1} B) _inst_1 a b))) (CategoryTheory.FreeBicategory.preinclusion.{u2, u1} B _inst_1) b) (CategoryTheory.PrelaxFunctor.obj.{max u1 u2, max u1 u2, max u1 u2, max u1 u2, u1, u1} (CategoryTheory.LocallyDiscrete.{u1} (CategoryTheory.Paths.{u1} B)) (CategoryTheory.CategoryStruct.toQuiver.{max u1 u2, u1} (CategoryTheory.LocallyDiscrete.{u1} (CategoryTheory.Paths.{u1} B)) (CategoryTheory.LocallyDiscrete.CategoryTheory.categoryStruct.{max u1 u2, u1} (CategoryTheory.Paths.{u1} B) (CategoryTheory.Category.toCategoryStruct.{max u1 u2, u1} (CategoryTheory.Paths.{u1} B) (CategoryTheory.Paths.categoryPaths.{u2, u1} B _inst_1)))) (fun (a : CategoryTheory.LocallyDiscrete.{u1} (CategoryTheory.Paths.{u1} B)) (b : CategoryTheory.LocallyDiscrete.{u1} (CategoryTheory.Paths.{u1} B)) => CategoryTheory.CategoryStruct.toQuiver.{max u1 u2, max u1 u2} (Quiver.Hom.{succ (max u1 u2), u1} (CategoryTheory.LocallyDiscrete.{u1} (CategoryTheory.Paths.{u1} B)) (CategoryTheory.CategoryStruct.toQuiver.{max u1 u2, u1} (CategoryTheory.LocallyDiscrete.{u1} (CategoryTheory.Paths.{u1} B)) (CategoryTheory.LocallyDiscrete.CategoryTheory.categoryStruct.{max u1 u2, u1} (CategoryTheory.Paths.{u1} B) (CategoryTheory.Category.toCategoryStruct.{max u1 u2, u1} (CategoryTheory.Paths.{u1} B) (CategoryTheory.Paths.categoryPaths.{u2, u1} B _inst_1)))) a b) (CategoryTheory.Category.toCategoryStruct.{max u1 u2, max u1 u2} (Quiver.Hom.{succ (max u1 u2), u1} (CategoryTheory.LocallyDiscrete.{u1} (CategoryTheory.Paths.{u1} B)) (CategoryTheory.CategoryStruct.toQuiver.{max u1 u2, u1} (CategoryTheory.LocallyDiscrete.{u1} (CategoryTheory.Paths.{u1} B)) (CategoryTheory.LocallyDiscrete.CategoryTheory.categoryStruct.{max u1 u2, u1} (CategoryTheory.Paths.{u1} B) (CategoryTheory.Category.toCategoryStruct.{max u1 u2, u1} (CategoryTheory.Paths.{u1} B) (CategoryTheory.Paths.categoryPaths.{u2, u1} B _inst_1)))) a b) (CategoryTheory.discreteCategory.{max u1 u2} (Quiver.Hom.{succ (max u1 u2), u1} (CategoryTheory.Paths.{u1} B) (CategoryTheory.CategoryStruct.toQuiver.{max u1 u2, u1} (CategoryTheory.Paths.{u1} B) (CategoryTheory.Category.toCategoryStruct.{max u1 u2, u1} (CategoryTheory.Paths.{u1} B) (CategoryTheory.Paths.categoryPaths.{u2, u1} B _inst_1))) a b)))) (CategoryTheory.FreeBicategory.{u1} B) (CategoryTheory.CategoryStruct.toQuiver.{max u1 u2, u1} (CategoryTheory.FreeBicategory.{u1} B) (CategoryTheory.Bicategory.toCategoryStruct.{max u1 u2, max u1 u2, u1} (CategoryTheory.FreeBicategory.{u1} B) (CategoryTheory.FreeBicategory.bicategory.{u2, u1} B _inst_1))) (fun (a : CategoryTheory.FreeBicategory.{u1} B) (b : CategoryTheory.FreeBicategory.{u1} B) => CategoryTheory.CategoryStruct.toQuiver.{max u1 u2, max u1 u2} (Quiver.Hom.{succ (max u1 u2), u1} (CategoryTheory.FreeBicategory.{u1} B) (CategoryTheory.CategoryStruct.toQuiver.{max u1 u2, u1} (CategoryTheory.FreeBicategory.{u1} B) (CategoryTheory.Bicategory.toCategoryStruct.{max u1 u2, max u1 u2, u1} (CategoryTheory.FreeBicategory.{u1} B) (CategoryTheory.FreeBicategory.bicategory.{u2, u1} B _inst_1))) a b) (CategoryTheory.Category.toCategoryStruct.{max u1 u2, max u1 u2} (Quiver.Hom.{succ (max u1 u2), u1} (CategoryTheory.FreeBicategory.{u1} B) (CategoryTheory.CategoryStruct.toQuiver.{max u1 u2, u1} (CategoryTheory.FreeBicategory.{u1} B) (CategoryTheory.Bicategory.toCategoryStruct.{max u1 u2, max u1 u2, u1} (CategoryTheory.FreeBicategory.{u1} B) (CategoryTheory.FreeBicategory.bicategory.{u2, u1} B _inst_1))) a b) (CategoryTheory.FreeBicategory.homCategory.{u2, u1} (CategoryTheory.FreeBicategory.{u1} B) _inst_1 a b))) (CategoryTheory.FreeBicategory.preinclusion.{u2, u1} B _inst_1) c) (CategoryTheory.PrelaxFunctor.map.{max u1 u2, max u1 u2, max u1 u2, max u1 u2, u1, u1} (CategoryTheory.LocallyDiscrete.{u1} (CategoryTheory.Paths.{u1} B)) (CategoryTheory.CategoryStruct.toQuiver.{max u1 u2, u1} (CategoryTheory.LocallyDiscrete.{u1} (CategoryTheory.Paths.{u1} B)) (CategoryTheory.LocallyDiscrete.CategoryTheory.categoryStruct.{max u1 u2, u1} (CategoryTheory.Paths.{u1} B) (CategoryTheory.Category.toCategoryStruct.{max u1 u2, u1} (CategoryTheory.Paths.{u1} B) (CategoryTheory.Paths.categoryPaths.{u2, u1} B _inst_1)))) (fun (a : CategoryTheory.LocallyDiscrete.{u1} (CategoryTheory.Paths.{u1} B)) (b : CategoryTheory.LocallyDiscrete.{u1} (CategoryTheory.Paths.{u1} B)) => CategoryTheory.CategoryStruct.toQuiver.{max u1 u2, max u1 u2} (Quiver.Hom.{succ (max u1 u2), u1} (CategoryTheory.LocallyDiscrete.{u1} (CategoryTheory.Paths.{u1} B)) (CategoryTheory.CategoryStruct.toQuiver.{max u1 u2, u1} (CategoryTheory.LocallyDiscrete.{u1} (CategoryTheory.Paths.{u1} B)) (CategoryTheory.LocallyDiscrete.CategoryTheory.categoryStruct.{max u1 u2, u1} (CategoryTheory.Paths.{u1} B) (CategoryTheory.Category.toCategoryStruct.{max u1 u2, u1} (CategoryTheory.Paths.{u1} B) (CategoryTheory.Paths.categoryPaths.{u2, u1} B _inst_1)))) a b) (CategoryTheory.Category.toCategoryStruct.{max u1 u2, max u1 u2} (Quiver.Hom.{succ (max u1 u2), u1} (CategoryTheory.LocallyDiscrete.{u1} (CategoryTheory.Paths.{u1} B)) (CategoryTheory.CategoryStruct.toQuiver.{max u1 u2, u1} (CategoryTheory.LocallyDiscrete.{u1} (CategoryTheory.Paths.{u1} B)) (CategoryTheory.LocallyDiscrete.CategoryTheory.categoryStruct.{max u1 u2, u1} (CategoryTheory.Paths.{u1} B) (CategoryTheory.Category.toCategoryStruct.{max u1 u2, u1} (CategoryTheory.Paths.{u1} B) (CategoryTheory.Paths.categoryPaths.{u2, u1} B _inst_1)))) a b) (CategoryTheory.discreteCategory.{max u1 u2} (Quiver.Hom.{succ (max u1 u2), u1} (CategoryTheory.Paths.{u1} B) (CategoryTheory.CategoryStruct.toQuiver.{max u1 u2, u1} (CategoryTheory.Paths.{u1} B) (CategoryTheory.Category.toCategoryStruct.{max u1 u2, u1} (CategoryTheory.Paths.{u1} B) (CategoryTheory.Paths.categoryPaths.{u2, u1} B _inst_1))) a b)))) (CategoryTheory.FreeBicategory.{u1} B) (CategoryTheory.CategoryStruct.toQuiver.{max u1 u2, u1} (CategoryTheory.FreeBicategory.{u1} B) (CategoryTheory.Bicategory.toCategoryStruct.{max u1 u2, max u1 u2, u1} (CategoryTheory.FreeBicategory.{u1} B) (CategoryTheory.FreeBicategory.bicategory.{u2, u1} B _inst_1))) (fun (a : CategoryTheory.FreeBicategory.{u1} B) (b : CategoryTheory.FreeBicategory.{u1} B) => CategoryTheory.CategoryStruct.toQuiver.{max u1 u2, max u1 u2} (Quiver.Hom.{succ (max u1 u2), u1} (CategoryTheory.FreeBicategory.{u1} B) (CategoryTheory.CategoryStruct.toQuiver.{max u1 u2, u1} (CategoryTheory.FreeBicategory.{u1} B) (CategoryTheory.Bicategory.toCategoryStruct.{max u1 u2, max u1 u2, u1} (CategoryTheory.FreeBicategory.{u1} B) (CategoryTheory.FreeBicategory.bicategory.{u2, u1} B _inst_1))) a b) (CategoryTheory.Category.toCategoryStruct.{max u1 u2, max u1 u2} (Quiver.Hom.{succ (max u1 u2), u1} (CategoryTheory.FreeBicategory.{u1} B) (CategoryTheory.CategoryStruct.toQuiver.{max u1 u2, u1} (CategoryTheory.FreeBicategory.{u1} B) (CategoryTheory.Bicategory.toCategoryStruct.{max u1 u2, max u1 u2, u1} (CategoryTheory.FreeBicategory.{u1} B) (CategoryTheory.FreeBicategory.bicategory.{u2, u1} B _inst_1))) a b) (CategoryTheory.FreeBicategory.homCategory.{u2, u1} (CategoryTheory.FreeBicategory.{u1} B) _inst_1 a b))) (CategoryTheory.FreeBicategory.preinclusion.{u2, u1} B _inst_1) a b (CategoryTheory.Discrete.mk.{max u1 u2} (Quiver.Hom.{succ (max u1 u2), u1} (CategoryTheory.Paths.{u1} B) (CategoryTheory.CategoryStruct.toQuiver.{max u1 u2, u1} (CategoryTheory.Paths.{u1} B) (CategoryTheory.Category.toCategoryStruct.{max u1 u2, u1} (CategoryTheory.Paths.{u1} B) (CategoryTheory.Paths.categoryPaths.{u2, u1} B _inst_1))) a b) f)) (CategoryTheory.PrelaxFunctor.map.{max u1 u2, max u1 u2, max u1 u2, max u1 u2, u1, u1} (CategoryTheory.LocallyDiscrete.{u1} (CategoryTheory.Paths.{u1} B)) (CategoryTheory.CategoryStruct.toQuiver.{max u1 u2, u1} (CategoryTheory.LocallyDiscrete.{u1} (CategoryTheory.Paths.{u1} B)) (CategoryTheory.LocallyDiscrete.CategoryTheory.categoryStruct.{max u1 u2, u1} (CategoryTheory.Paths.{u1} B) (CategoryTheory.Category.toCategoryStruct.{max u1 u2, u1} (CategoryTheory.Paths.{u1} B) (CategoryTheory.Paths.categoryPaths.{u2, u1} B _inst_1)))) (fun (a : CategoryTheory.LocallyDiscrete.{u1} (CategoryTheory.Paths.{u1} B)) (b : CategoryTheory.LocallyDiscrete.{u1} (CategoryTheory.Paths.{u1} B)) => CategoryTheory.CategoryStruct.toQuiver.{max u1 u2, max u1 u2} (Quiver.Hom.{succ (max u1 u2), u1} (CategoryTheory.LocallyDiscrete.{u1} (CategoryTheory.Paths.{u1} B)) (CategoryTheory.CategoryStruct.toQuiver.{max u1 u2, u1} (CategoryTheory.LocallyDiscrete.{u1} (CategoryTheory.Paths.{u1} B)) (CategoryTheory.LocallyDiscrete.CategoryTheory.categoryStruct.{max u1 u2, u1} (CategoryTheory.Paths.{u1} B) (CategoryTheory.Category.toCategoryStruct.{max u1 u2, u1} (CategoryTheory.Paths.{u1} B) (CategoryTheory.Paths.categoryPaths.{u2, u1} B _inst_1)))) a b) (CategoryTheory.Category.toCategoryStruct.{max u1 u2, max u1 u2} (Quiver.Hom.{succ (max u1 u2), u1} (CategoryTheory.LocallyDiscrete.{u1} (CategoryTheory.Paths.{u1} B)) (CategoryTheory.CategoryStruct.toQuiver.{max u1 u2, u1} (CategoryTheory.LocallyDiscrete.{u1} (CategoryTheory.Paths.{u1} B)) (CategoryTheory.LocallyDiscrete.CategoryTheory.categoryStruct.{max u1 u2, u1} (CategoryTheory.Paths.{u1} B) (CategoryTheory.Category.toCategoryStruct.{max u1 u2, u1} (CategoryTheory.Paths.{u1} B) (CategoryTheory.Paths.categoryPaths.{u2, u1} B _inst_1)))) a b) (CategoryTheory.discreteCategory.{max u1 u2} (Quiver.Hom.{succ (max u1 u2), u1} (CategoryTheory.Paths.{u1} B) (CategoryTheory.CategoryStruct.toQuiver.{max u1 u2, u1} (CategoryTheory.Paths.{u1} B) (CategoryTheory.Category.toCategoryStruct.{max u1 u2, u1} (CategoryTheory.Paths.{u1} B) (CategoryTheory.Paths.categoryPaths.{u2, u1} B _inst_1))) a b)))) (CategoryTheory.FreeBicategory.{u1} B) (CategoryTheory.CategoryStruct.toQuiver.{max u1 u2, u1} (CategoryTheory.FreeBicategory.{u1} B) (CategoryTheory.Bicategory.toCategoryStruct.{max u1 u2, max u1 u2, u1} (CategoryTheory.FreeBicategory.{u1} B) (CategoryTheory.FreeBicategory.bicategory.{u2, u1} B _inst_1))) (fun (a : CategoryTheory.FreeBicategory.{u1} B) (b : CategoryTheory.FreeBicategory.{u1} B) => CategoryTheory.CategoryStruct.toQuiver.{max u1 u2, max u1 u2} (Quiver.Hom.{succ (max u1 u2), u1} (CategoryTheory.FreeBicategory.{u1} B) (CategoryTheory.CategoryStruct.toQuiver.{max u1 u2, u1} (CategoryTheory.FreeBicategory.{u1} B) (CategoryTheory.Bicategory.toCategoryStruct.{max u1 u2, max u1 u2, u1} (CategoryTheory.FreeBicategory.{u1} B) (CategoryTheory.FreeBicategory.bicategory.{u2, u1} B _inst_1))) a b) (CategoryTheory.Category.toCategoryStruct.{max u1 u2, max u1 u2} (Quiver.Hom.{succ (max u1 u2), u1} (CategoryTheory.FreeBicategory.{u1} B) (CategoryTheory.CategoryStruct.toQuiver.{max u1 u2, u1} (CategoryTheory.FreeBicategory.{u1} B) (CategoryTheory.Bicategory.toCategoryStruct.{max u1 u2, max u1 u2, u1} (CategoryTheory.FreeBicategory.{u1} B) (CategoryTheory.FreeBicategory.bicategory.{u2, u1} B _inst_1))) a b) (CategoryTheory.FreeBicategory.homCategory.{u2, u1} (CategoryTheory.FreeBicategory.{u1} B) _inst_1 a b))) (CategoryTheory.FreeBicategory.preinclusion.{u2, u1} B _inst_1) b c (CategoryTheory.Discrete.mk.{max u1 u2} (Quiver.Hom.{succ (max u1 u2), u1} (CategoryTheory.Paths.{u1} B) (CategoryTheory.CategoryStruct.toQuiver.{max u1 u2, u1} (CategoryTheory.Paths.{u1} B) (CategoryTheory.Category.toCategoryStruct.{max u1 u2, u1} (CategoryTheory.Paths.{u1} B) (CategoryTheory.Paths.categoryPaths.{u2, u1} B _inst_1))) b c) g)))
+<too large>
 Case conversion may be inaccurate. Consider using '#align category_theory.free_bicategory.inclusion_map_comp_aux CategoryTheory.FreeBicategory.inclusionMapCompAuxₓ'. -/
 /-- Auxiliary definition for `inclusion`. -/
 def inclusionMapCompAux {a b : B} :

Changes in mathlib4

mathlib3
mathlib4
feat(CategoryTheory/Bicategory/LocallyDiscrete): Make LocallyDiscrete a structure (#12383)

Made LocallyDiscrete a structure, similar to Discrete, and added some basic API. Coherence.lean was also adjusted because of these changes. This should make it easier to move between a given type C and LocallyDiscrete C.

Diff
@@ -80,13 +80,13 @@ See `inclusion`.
 -/
 def preinclusion (B : Type u) [Quiver.{v + 1} B] :
     PrelaxFunctor (LocallyDiscrete (Paths B)) (FreeBicategory B) where
-  obj := id
-  map := @fun a b => (@inclusionPath B _ a b).obj
+  obj a := a.as
+  map := @fun a b f => (@inclusionPath B _ a.as b.as).obj f
   map₂ η := (inclusionPath _ _).map η
 #align category_theory.free_bicategory.preinclusion CategoryTheory.FreeBicategory.preinclusion
 
 @[simp]
-theorem preinclusion_obj (a : B) : (preinclusion B).obj a = a :=
+theorem preinclusion_obj (a : B) : (preinclusion B).obj ⟨a⟩ = a :=
   rfl
 #align category_theory.free_bicategory.preinclusion_obj CategoryTheory.FreeBicategory.preinclusion_obj
 
@@ -196,7 +196,7 @@ theorem normalizeAux_nil_comp {a b c : B} (f : Hom a b) (g : Hom b c) :
 /-- The normalization pseudofunctor for the free bicategory on a quiver `B`. -/
 def normalize (B : Type u) [Quiver.{v + 1} B] :
     Pseudofunctor (FreeBicategory B) (LocallyDiscrete (Paths B)) where
-  obj := id
+  obj a := ⟨a⟩
   map f := ⟨normalizeAux nil f⟩
   map₂ η := eqToHom <| Discrete.ext _ _ <| normalizeAux_congr nil η
   mapId a := eqToIso <| Discrete.ext _ _ rfl
@@ -250,7 +250,7 @@ def inclusion (B : Type u) [Quiver.{v + 1} B] :
     Pseudofunctor (LocallyDiscrete (Paths B)) (FreeBicategory B) :=
   { -- All the conditions for 2-morphisms are trivial thanks to the coherence theorem!
     preinclusion B with
-    mapId := fun a : FreeBicategory B => Iso.refl (𝟙 a)
+    mapId := fun a => Iso.refl _
     mapComp := fun f g => inclusionMapCompAux f.as g.as }
 #align category_theory.free_bicategory.inclusion CategoryTheory.FreeBicategory.inclusion
 
chore: space after (#8178)

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

Diff
@@ -226,7 +226,7 @@ def normalizeEquiv (a b : B) : Hom a b ≌ Discrete (Path.{v + 1} a b) :=
         injection ih with ih
         conv =>
           rhs
-          rw [←ih]))
+          rw [← ih]))
 #align category_theory.free_bicategory.normalize_equiv CategoryTheory.FreeBicategory.normalizeEquiv
 
 /-- The coherence theorem for bicategories. -/
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,17 +2,14 @@
 Copyright (c) 2022 Yuma Mizuno. All rights reserved.
 Released under Apache 2.0 license as described in the file LICENSE.
 Authors: Yuma Mizuno, Junyan Xu
-
-! This file was ported from Lean 3 source module category_theory.bicategory.coherence
-! leanprover-community/mathlib commit f187f1074fa1857c94589cc653c786cadc4c35ff
-! Please do not edit these lines, except to modify the commit id
-! if you have ported upstream changes.
 -/
 import Mathlib.CategoryTheory.PathCategory
 import Mathlib.CategoryTheory.Functor.FullyFaithful
 import Mathlib.CategoryTheory.Bicategory.Free
 import Mathlib.CategoryTheory.Bicategory.LocallyDiscrete
 
+#align_import category_theory.bicategory.coherence from "leanprover-community/mathlib"@"f187f1074fa1857c94589cc653c786cadc4c35ff"
+
 /-!
 # The coherence theorem for bicategories
 
chore: tidy various files (#4854)
Diff
@@ -48,8 +48,6 @@ namespace CategoryTheory
 
 open Bicategory Category
 
-open Bicategory
-
 universe v u
 
 namespace FreeBicategory
@@ -155,12 +153,11 @@ theorem normalizeAux_congr {a b c : B} (p : Path a b) {f g : Hom b c} (η : f 
   rcases η with ⟨η'⟩
   apply @congr_fun _ _ fun p => normalizeAux p f
   clear p η
-  induction η'
-  case vcomp => apply Eq.trans <;> assumption
-  -- p ≠ nil required! See the docstring of `normalizeAux`.
-  case whisker_left _ _ _ _ _ _ _ ih => funext; apply congr_fun ih
-  case whisker_right _ _ _ _ _ _ _ ih => funext; apply congr_arg₂ _ (congr_fun ih _) rfl
-  all_goals funext; rfl
+  induction η' with
+  | vcomp _ _ _ _ => apply Eq.trans <;> assumption
+  | whisker_left _ _ ih => funext; apply congr_fun ih
+  | whisker_right _ _ ih => funext; apply congr_arg₂ _ (congr_fun ih _) rfl
+  | _ => funext; rfl
 #align category_theory.free_bicategory.normalize_aux_congr CategoryTheory.FreeBicategory.normalizeAux_congr
 
 /-- The 2-isomorphism `normalizeIso p f` is natural in `f`. -/
@@ -168,34 +165,35 @@ theorem normalize_naturality {a b c : B} (p : Path a b) {f g : Hom b c} (η : f
     (preinclusion B).map ⟨p⟩ ◁ η ≫ (normalizeIso p g).hom =
       (normalizeIso p f).hom ≫
         (preinclusion B).map₂ (eqToHom (Discrete.ext _ _ (normalizeAux_congr p η))) := by
-  rcases η with ⟨η'⟩; clear η; induction η'
-  case id => simp
-  case vcomp _ _ _ _ _ η θ ihf ihg =>
+  rcases η with ⟨η'⟩; clear η;
+  induction η' with
+  | id => simp
+  | vcomp η θ ihf ihg =>
     simp only [mk_vcomp, Bicategory.whiskerLeft_comp]
     slice_lhs 2 3 => rw [ihg]
     slice_lhs 1 2 => rw [ihf]
     simp
   -- p ≠ nil required! See the docstring of `normalizeAux`.
-  case whisker_left _ _ _ _ _ _ _ ih =>
+  | whisker_left _ _ ih =>
     dsimp
     rw [associator_inv_naturality_right_assoc, whisker_exchange_assoc, ih]
     simp
-  case whisker_right _ _ _ _ _ h η' ih =>
+  | whisker_right h η' ih =>
     dsimp
     rw [associator_inv_naturality_middle_assoc, ← comp_whiskerRight_assoc, ih, comp_whiskerRight]
     have := dcongr_arg (fun x => (normalizeIso x h).hom) (normalizeAux_congr p (Quot.mk _ η'))
     dsimp at this; simp [this]
-  all_goals simp
+  | _ => simp
 #align category_theory.free_bicategory.normalize_naturality CategoryTheory.FreeBicategory.normalize_naturality
 
 -- Porting note: the left-hand side is not in simp-normal form.
 -- @[simp]
 theorem normalizeAux_nil_comp {a b c : B} (f : Hom a b) (g : Hom b c) :
     normalizeAux nil (f.comp g) = (normalizeAux nil f).comp (normalizeAux nil g) := by
-  induction g generalizing a
-  case id => rfl
-  case of => rfl
-  case comp _ _ _ g _ ihf ihg => erw [ihg (f.comp g), ihf f, ihg g, comp_assoc]
+  induction g generalizing a with
+  | id => rfl
+  | of => rfl
+  | comp g _ ihf ihg => erw [ihg (f.comp g), ihf f, ihg g, comp_assoc]
 #align category_theory.free_bicategory.normalize_aux_nil_comp CategoryTheory.FreeBicategory.normalizeAux_nil_comp
 
 /-- The normalization pseudofunctor for the free bicategory on a quiver `B`. -/
feat: port/CategoryTheory.Bicategory.Coherence (#4062)

Co-authored-by: Scott Morrison <scott.morrison@gmail.com> Co-authored-by: yuma-mizuno <mizuno.y.aj@gmail.com>

Dependencies 42

43 files ported (100.0%)
14018 lines ported (100.0%)

All dependencies are ported!