category_theory.bicategory.coherence
⟷
Mathlib.CategoryTheory.Bicategory.Coherence
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.
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(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)
mathlib commit https://github.com/leanprover-community/mathlib/commit/65a1391a0106c9204fe45bc73a039f056558cb83
@@ -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
-/
mathlib commit https://github.com/leanprover-community/mathlib/commit/ce64cd319bb6b3e82f31c2d38e79080d377be451
@@ -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"
mathlib commit https://github.com/leanprover-community/mathlib/commit/8ea5598db6caeddde6cb734aa179cc2408dbd345
@@ -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
mathlib commit https://github.com/leanprover-community/mathlib/commit/9fb8964792b4237dac6200193a0d533f1b3f7423
@@ -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
mathlib commit https://github.com/leanprover-community/mathlib/commit/cca40788df1b8755d5baf17ab2f27dacc2e17acb
@@ -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
mathlib commit https://github.com/leanprover-community/mathlib/commit/cca40788df1b8755d5baf17ab2f27dacc2e17acb
@@ -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.
mathlib commit https://github.com/leanprover-community/mathlib/commit/917c3c072e487b3cccdbfeff17e75b40e45f66cb
@@ -48,7 +48,7 @@ namespace CategoryTheory
open Bicategory Category
-open Bicategory
+open scoped Bicategory
universe v u
mathlib commit https://github.com/leanprover-community/mathlib/commit/917c3c072e487b3cccdbfeff17e75b40e45f66cb
@@ -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
mathlib commit https://github.com/leanprover-community/mathlib/commit/917c3c072e487b3cccdbfeff17e75b40e45f66cb
@@ -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),
mathlib commit https://github.com/leanprover-community/mathlib/commit/917c3c072e487b3cccdbfeff17e75b40e45f66cb
@@ -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} :
mathlib commit https://github.com/leanprover-community/mathlib/commit/bd9851ca476957ea4549eb19b40e7b5ade9428cc
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
.
@@ -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
@@ -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. -/
@@ -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
@@ -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`. -/
All dependencies are ported!