category_theory.bicategory.freeMathlib.CategoryTheory.Bicategory.Free

This file has been ported!

Changes since the initial port

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

Changes in mathlib3

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(last sync)

Changes in mathlib3port

mathlib3
mathlib3port
Diff
@@ -3,7 +3,7 @@ Copyright (c) 2022 Yuma Mizuno. All rights reserved.
 Released under Apache 2.0 license as described in the file LICENSE.
 Authors: Yuma Mizuno
 -/
-import Mathbin.CategoryTheory.Bicategory.Functor
+import CategoryTheory.Bicategory.Functor
 
 #align_import category_theory.bicategory.free from "leanprover-community/mathlib"@"33c67ae661dd8988516ff7f247b0be3018cdd952"
 
Diff
@@ -2,14 +2,11 @@
 Copyright (c) 2022 Yuma Mizuno. All rights reserved.
 Released under Apache 2.0 license as described in the file LICENSE.
 Authors: Yuma Mizuno
-
-! This file was ported from Lean 3 source module category_theory.bicategory.free
-! leanprover-community/mathlib commit 33c67ae661dd8988516ff7f247b0be3018cdd952
-! Please do not edit these lines, except to modify the commit id
-! if you have ported upstream changes.
 -/
 import Mathbin.CategoryTheory.Bicategory.Functor
 
+#align_import category_theory.bicategory.free from "leanprover-community/mathlib"@"33c67ae661dd8988516ff7f247b0be3018cdd952"
+
 /-!
 # Free bicategories
 
Diff
@@ -93,35 +93,25 @@ section
 
 variable {B}
 
--- mathport name: vcomp
 -- The following notations are only used in the definition of `rel` to simplify the notation.
 local infixr:0 " ≫ " => Hom₂.vcomp
 
--- mathport name: id
 local notation "𝟙" => Hom₂.id
 
--- mathport name: whisker_left
 local notation f " ◁ " η => Hom₂.whisker_left f η
 
--- mathport name: whisker_right
 local notation η " ▷ " h => Hom₂.whisker_right h η
 
--- mathport name: associator
 local notation "α_" => Hom₂.associator
 
--- mathport name: left_unitor
 local notation "λ_" => Hom₂.left_unitor
 
--- mathport name: right_unitor
 local notation "ρ_" => Hom₂.right_unitor
 
--- mathport name: associator_inv
 local notation "α⁻¹_" => Hom₂.associator_inv
 
--- mathport name: left_unitor_inv
 local notation "λ⁻¹_" => Hom₂.left_unitor_inv
 
--- mathport name: right_unitor_inv
 local notation "ρ⁻¹_" => Hom₂.right_unitor_inv
 
 #print CategoryTheory.FreeBicategory.Rel /-
Diff
@@ -270,11 +270,9 @@ theorem mk_whisker_right {f g : a ⟶ b} (η : Hom₂ f g) (h : b ⟶ c) :
 
 variable (f : a ⟶ b) (g : b ⟶ c) (h : c ⟶ d)
 
-/- warning: category_theory.free_bicategory.id_def clashes with [anonymous] -> [anonymous]
-Case conversion may be inaccurate. Consider using '#align category_theory.free_bicategory.id_def [anonymous]ₓ'. -/
-theorem [anonymous] : Hom.id a = 𝟙 a :=
+theorem id_def : Hom.id a = 𝟙 a :=
   rfl
-#align category_theory.free_bicategory.id_def [anonymous]
+#align category_theory.free_bicategory.id_def CategoryTheory.FreeBicategory.id_def
 
 #print CategoryTheory.FreeBicategory.comp_def /-
 theorem comp_def : Hom.comp f g = f ≫ g :=
Diff
@@ -35,7 +35,7 @@ namespace CategoryTheory
 
 open Category Bicategory
 
-open Bicategory
+open scoped Bicategory
 
 #print CategoryTheory.FreeBicategory /-
 /-- Free bicategory over a quiver. Its objects are the same as those in the underlying quiver. -/
Diff
@@ -271,11 +271,6 @@ theorem mk_whisker_right {f g : a ⟶ b} (η : Hom₂ f g) (h : b ⟶ c) :
 variable (f : a ⟶ b) (g : b ⟶ c) (h : c ⟶ d)
 
 /- warning: category_theory.free_bicategory.id_def clashes with [anonymous] -> [anonymous]
-warning: category_theory.free_bicategory.id_def -> [anonymous] is a dubious translation:
-lean 3 declaration is
-  forall {B : Type.{u2}} [_inst_1 : Quiver.{succ u1, u2} B] {a : CategoryTheory.FreeBicategory.{u2} B}, Eq.{succ (max u2 u1)} (CategoryTheory.FreeBicategory.Hom.{u1, u2} (CategoryTheory.FreeBicategory.{u2} B) _inst_1 a a) (CategoryTheory.FreeBicategory.Hom.id.{u1, u2} (CategoryTheory.FreeBicategory.{u2} B) _inst_1 a) (CategoryTheory.CategoryStruct.id.{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)
-but is expected to have type
-  forall {B : Type.{u1}} {_inst_1 : Type.{u2}}, (Nat -> B -> _inst_1) -> Nat -> (List.{u1} B) -> (List.{u2} _inst_1)
 Case conversion may be inaccurate. Consider using '#align category_theory.free_bicategory.id_def [anonymous]ₓ'. -/
 theorem [anonymous] : Hom.id a = 𝟙 a :=
   rfl
Diff
@@ -193,15 +193,9 @@ instance homCategory (a b : B) : Category (Hom a b)
   Hom f g := Quot (@Rel _ _ _ _ f g)
   id f := Quot.mk Rel (Hom₂.id f)
   comp f g h := Quot.map₂ Hom₂.vcomp Rel.vcomp_right Rel.vcomp_left
-  id_comp' := by
-    rintro f g ⟨η⟩
-    exact Quot.sound (rel.id_comp η)
-  comp_id' := by
-    rintro f g ⟨η⟩
-    exact Quot.sound (rel.comp_id η)
-  assoc' := by
-    rintro f g h i ⟨η⟩ ⟨θ⟩ ⟨ι⟩
-    exact Quot.sound (rel.assoc η θ ι)
+  id_comp' := by rintro f g ⟨η⟩; exact Quot.sound (rel.id_comp η)
+  comp_id' := by rintro f g ⟨η⟩; exact Quot.sound (rel.comp_id η)
+  assoc' := by rintro f g h i ⟨η⟩ ⟨θ⟩ ⟨ι⟩; exact Quot.sound (rel.assoc η θ ι)
 #align category_theory.free_bicategory.hom_category CategoryTheory.FreeBicategory.homCategory
 -/
 
@@ -215,32 +209,19 @@ instance bicategory : Bicategory (FreeBicategory B)
   homCategory := FreeBicategory.homCategory
   whiskerLeft a b c f g h η := Quot.map (Hom₂.whisker_left f) (Rel.whisker_left f g h) η
   whiskerLeft_id a b c f g := Quot.sound (Rel.whisker_left_id f g)
-  whiskerLeft_comp := by
-    rintro a b c f g h i ⟨η⟩ ⟨θ⟩
+  whiskerLeft_comp := by rintro a b c f g h i ⟨η⟩ ⟨θ⟩;
     exact Quot.sound (rel.whisker_left_comp f η θ)
-  id_whiskerLeft := by
-    rintro a b f g ⟨η⟩
-    exact Quot.sound (rel.id_whisker_left η)
-  comp_whiskerLeft := by
-    rintro a b c d f g h h' ⟨η⟩
-    exact Quot.sound (rel.comp_whisker_left f g η)
+  id_whiskerLeft := by rintro a b f g ⟨η⟩; exact Quot.sound (rel.id_whisker_left η)
+  comp_whiskerLeft := by rintro a b c d f g h h' ⟨η⟩; exact Quot.sound (rel.comp_whisker_left f g η)
   whiskerRight a b c f g η h := Quot.map (Hom₂.whisker_right h) (Rel.whisker_right f g h) η
   id_whiskerRight a b c f g := Quot.sound (Rel.id_whisker_right f g)
-  comp_whiskerRight := by
-    rintro a b c f g h ⟨η⟩ ⟨θ⟩ i
+  comp_whiskerRight := by rintro a b c f g h ⟨η⟩ ⟨θ⟩ i;
     exact Quot.sound (rel.comp_whisker_right i η θ)
-  whiskerRight_id := by
-    rintro a b f g ⟨η⟩
-    exact Quot.sound (rel.whisker_right_id η)
-  whiskerRight_comp := by
-    rintro a b c d f f' ⟨η⟩ g h
+  whiskerRight_id := by rintro a b f g ⟨η⟩; exact Quot.sound (rel.whisker_right_id η)
+  whiskerRight_comp := by rintro a b c d f f' ⟨η⟩ g h;
     exact Quot.sound (rel.whisker_right_comp g h η)
-  whisker_assoc := by
-    rintro a b c d f g g' ⟨η⟩ h
-    exact Quot.sound (rel.whisker_assoc f η h)
-  whisker_exchange := by
-    rintro a b c f g h i ⟨η⟩ ⟨θ⟩
-    exact Quot.sound (rel.whisker_exchange η θ)
+  whisker_assoc := by rintro a b c d f g g' ⟨η⟩ h; exact Quot.sound (rel.whisker_assoc f η h)
+  whisker_exchange := by rintro a b c f g h i ⟨η⟩ ⟨θ⟩; exact Quot.sound (rel.whisker_exchange η θ)
   associator a b c d f g h :=
     { Hom := Quot.mk Rel (Hom₂.associator f g h)
       inv := Quot.mk Rel (Hom₂.associator_inv f g h)
Diff
@@ -4,7 +4,7 @@ Released under Apache 2.0 license as described in the file LICENSE.
 Authors: Yuma Mizuno
 
 ! This file was ported from Lean 3 source module category_theory.bicategory.free
-! leanprover-community/mathlib commit 3d7987cda72abc473c7cdbbb075170e9ac620042
+! leanprover-community/mathlib commit 33c67ae661dd8988516ff7f247b0be3018cdd952
 ! Please do not edit these lines, except to modify the commit id
 ! if you have ported upstream changes.
 -/
@@ -13,6 +13,9 @@ import Mathbin.CategoryTheory.Bicategory.Functor
 /-!
 # Free bicategories
 
+> THIS FILE IS SYNCHRONIZED WITH MATHLIB4.
+> Any changes to this file require a corresponding PR to mathlib4.
+
 We define the free bicategory over a quiver. In this bicategory, the 1-morphisms are freely
 generated by the arrows in the quiver, and the 2-morphisms are freely generated by the formal
 identities, the formal unitors, and the formal associators modulo the relation derived from the
Diff
@@ -34,10 +34,12 @@ open Category Bicategory
 
 open Bicategory
 
+#print CategoryTheory.FreeBicategory /-
 /-- Free bicategory over a quiver. Its objects are the same as those in the underlying quiver. -/
 def FreeBicategory (B : Type u) :=
   B
 #align category_theory.free_bicategory CategoryTheory.FreeBicategory
+-/
 
 instance (B : Type u) : ∀ [Inhabited B], Inhabited (FreeBicategory B) :=
   id
@@ -48,16 +50,19 @@ section
 
 variable {B : Type u} [Quiver.{v + 1} B]
 
+#print CategoryTheory.FreeBicategory.Hom /-
 /-- 1-morphisms in the free bicategory. -/
 inductive Hom : B → B → Type max u v
   | of {a b : B} (f : a ⟶ b) : hom a b
   | id (a : B) : hom a a
   | comp {a b c : B} (f : hom a b) (g : hom b c) : hom a c
 #align category_theory.free_bicategory.hom CategoryTheory.FreeBicategory.Hom
+-/
 
 instance (a b : B) [Inhabited (a ⟶ b)] : Inhabited (Hom a b) :=
   ⟨Hom.of default⟩
 
+#print CategoryTheory.FreeBicategory.Hom₂ /-
 /-- Representatives of 2-morphisms in the free bicategory. -/
 @[nolint has_nonempty_instance]
 inductive Hom₂ : ∀ {a b : B}, Hom a b → Hom a b → Type max u v
@@ -79,6 +84,7 @@ inductive Hom₂ : ∀ {a b : B}, Hom a b → Hom a b → Type max u v
   | left_unitor {a b} (f : Hom a b) : hom₂ ((Hom.id a).comp f) f
   | left_unitor_inv {a b} (f : Hom a b) : hom₂ f ((Hom.id a).comp f)
 #align category_theory.free_bicategory.hom₂ CategoryTheory.FreeBicategory.Hom₂
+-/
 
 section
 
@@ -115,6 +121,7 @@ local notation "λ⁻¹_" => Hom₂.left_unitor_inv
 -- mathport name: right_unitor_inv
 local notation "ρ⁻¹_" => Hom₂.right_unitor_inv
 
+#print CategoryTheory.FreeBicategory.Rel /-
 /-- Relations between 2-morphisms in the free bicategory. -/
 inductive Rel : ∀ {a b : B} {f g : Hom a b}, Hom₂ f g → Hom₂ f g → Prop
   |
@@ -171,11 +178,13 @@ inductive Rel : ∀ {a b : B} {f g : Hom a b}, Hom₂ f g → Hom₂ f g → Pro
     Rel ((α_ f g h ▷ i) ≫ α_ f (g.comp h) i ≫ f ◁ α_ g h i) (α_ (f.comp g) h i ≫ α_ f g (h.comp i))
   | triangle {a b c} (f : Hom a b) (g : Hom b c) : Rel (α_ f (Hom.id b) g ≫ f ◁ λ_ g) (ρ_ f ▷ g)
 #align category_theory.free_bicategory.rel CategoryTheory.FreeBicategory.Rel
+-/
 
 end
 
 variable {B}
 
+#print CategoryTheory.FreeBicategory.homCategory /-
 instance homCategory (a b : B) : Category (Hom a b)
     where
   Hom f g := Quot (@Rel _ _ _ _ f g)
@@ -191,7 +200,9 @@ instance homCategory (a b : B) : Category (Hom a b)
     rintro f g h i ⟨η⟩ ⟨θ⟩ ⟨ι⟩
     exact Quot.sound (rel.assoc η θ ι)
 #align category_theory.free_bicategory.hom_category CategoryTheory.FreeBicategory.homCategory
+-/
 
+#print CategoryTheory.FreeBicategory.bicategory /-
 /-- Bicategory structure on the free bicategory. -/
 instance bicategory : Bicategory (FreeBicategory B)
     where
@@ -245,78 +256,110 @@ instance bicategory : Bicategory (FreeBicategory B)
   pentagon a b c d e f g h i := Quot.sound (Rel.pentagon f g h i)
   triangle a b c f g := Quot.sound (Rel.triangle f g)
 #align category_theory.free_bicategory.bicategory CategoryTheory.FreeBicategory.bicategory
+-/
 
 variable {a b c d : FreeBicategory B}
 
+#print CategoryTheory.FreeBicategory.mk_vcomp /-
 @[simp]
 theorem mk_vcomp {f g h : a ⟶ b} (η : Hom₂ f g) (θ : Hom₂ g h) :
     Quot.mk Rel (η.vcomp θ) = (Quot.mk Rel η ≫ Quot.mk Rel θ : f ⟶ h) :=
   rfl
 #align category_theory.free_bicategory.mk_vcomp CategoryTheory.FreeBicategory.mk_vcomp
+-/
 
+#print CategoryTheory.FreeBicategory.mk_whisker_left /-
 @[simp]
 theorem mk_whisker_left (f : a ⟶ b) {g h : b ⟶ c} (η : Hom₂ g h) :
     Quot.mk Rel (Hom₂.whisker_left f η) = (f ◁ Quot.mk Rel η : f ≫ g ⟶ f ≫ h) :=
   rfl
 #align category_theory.free_bicategory.mk_whisker_left CategoryTheory.FreeBicategory.mk_whisker_left
+-/
 
+#print CategoryTheory.FreeBicategory.mk_whisker_right /-
 @[simp]
 theorem mk_whisker_right {f g : a ⟶ b} (η : Hom₂ f g) (h : b ⟶ c) :
     Quot.mk Rel (Hom₂.whisker_right h η) = (Quot.mk Rel η ▷ h : f ≫ h ⟶ g ≫ h) :=
   rfl
 #align category_theory.free_bicategory.mk_whisker_right CategoryTheory.FreeBicategory.mk_whisker_right
+-/
 
 variable (f : a ⟶ b) (g : b ⟶ c) (h : c ⟶ d)
 
-theorem id_def : Hom.id a = 𝟙 a :=
+/- warning: category_theory.free_bicategory.id_def clashes with [anonymous] -> [anonymous]
+warning: category_theory.free_bicategory.id_def -> [anonymous] is a dubious translation:
+lean 3 declaration is
+  forall {B : Type.{u2}} [_inst_1 : Quiver.{succ u1, u2} B] {a : CategoryTheory.FreeBicategory.{u2} B}, Eq.{succ (max u2 u1)} (CategoryTheory.FreeBicategory.Hom.{u1, u2} (CategoryTheory.FreeBicategory.{u2} B) _inst_1 a a) (CategoryTheory.FreeBicategory.Hom.id.{u1, u2} (CategoryTheory.FreeBicategory.{u2} B) _inst_1 a) (CategoryTheory.CategoryStruct.id.{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)
+but is expected to have type
+  forall {B : Type.{u1}} {_inst_1 : Type.{u2}}, (Nat -> B -> _inst_1) -> Nat -> (List.{u1} B) -> (List.{u2} _inst_1)
+Case conversion may be inaccurate. Consider using '#align category_theory.free_bicategory.id_def [anonymous]ₓ'. -/
+theorem [anonymous] : Hom.id a = 𝟙 a :=
   rfl
-#align category_theory.free_bicategory.id_def CategoryTheory.FreeBicategory.id_def
+#align category_theory.free_bicategory.id_def [anonymous]
 
+#print CategoryTheory.FreeBicategory.comp_def /-
 theorem comp_def : Hom.comp f g = f ≫ g :=
   rfl
 #align category_theory.free_bicategory.comp_def CategoryTheory.FreeBicategory.comp_def
+-/
 
+#print CategoryTheory.FreeBicategory.mk_id /-
 @[simp]
 theorem mk_id : Quot.mk _ (Hom₂.id f) = 𝟙 f :=
   rfl
 #align category_theory.free_bicategory.mk_id CategoryTheory.FreeBicategory.mk_id
+-/
 
+#print CategoryTheory.FreeBicategory.mk_associator_hom /-
 @[simp]
 theorem mk_associator_hom : Quot.mk _ (Hom₂.associator f g h) = (α_ f g h).Hom :=
   rfl
 #align category_theory.free_bicategory.mk_associator_hom CategoryTheory.FreeBicategory.mk_associator_hom
+-/
 
+#print CategoryTheory.FreeBicategory.mk_associator_inv /-
 @[simp]
 theorem mk_associator_inv : Quot.mk _ (Hom₂.associator_inv f g h) = (α_ f g h).inv :=
   rfl
 #align category_theory.free_bicategory.mk_associator_inv CategoryTheory.FreeBicategory.mk_associator_inv
+-/
 
+#print CategoryTheory.FreeBicategory.mk_left_unitor_hom /-
 @[simp]
 theorem mk_left_unitor_hom : Quot.mk _ (Hom₂.left_unitor f) = (λ_ f).Hom :=
   rfl
 #align category_theory.free_bicategory.mk_left_unitor_hom CategoryTheory.FreeBicategory.mk_left_unitor_hom
+-/
 
+#print CategoryTheory.FreeBicategory.mk_left_unitor_inv /-
 @[simp]
 theorem mk_left_unitor_inv : Quot.mk _ (Hom₂.left_unitor_inv f) = (λ_ f).inv :=
   rfl
 #align category_theory.free_bicategory.mk_left_unitor_inv CategoryTheory.FreeBicategory.mk_left_unitor_inv
+-/
 
+#print CategoryTheory.FreeBicategory.mk_right_unitor_hom /-
 @[simp]
 theorem mk_right_unitor_hom : Quot.mk _ (Hom₂.right_unitor f) = (ρ_ f).Hom :=
   rfl
 #align category_theory.free_bicategory.mk_right_unitor_hom CategoryTheory.FreeBicategory.mk_right_unitor_hom
+-/
 
+#print CategoryTheory.FreeBicategory.mk_right_unitor_inv /-
 @[simp]
 theorem mk_right_unitor_inv : Quot.mk _ (Hom₂.right_unitor_inv f) = (ρ_ f).inv :=
   rfl
 #align category_theory.free_bicategory.mk_right_unitor_inv CategoryTheory.FreeBicategory.mk_right_unitor_inv
+-/
 
+#print CategoryTheory.FreeBicategory.of /-
 /-- Canonical prefunctor from `B` to `free_bicategory B`. -/
 @[simps]
 def of : Prefunctor B (FreeBicategory B) where
   obj := id
   map a b := Hom.of
 #align category_theory.free_bicategory.of CategoryTheory.FreeBicategory.of
+-/
 
 end
 
@@ -326,12 +369,7 @@ variable {B : Type u₁} [Quiver.{v₁ + 1} B] {C : Type u₂} [CategoryStruct.{
 
 variable (F : Prefunctor B C)
 
-/- warning: category_theory.free_bicategory.lift_hom -> CategoryTheory.FreeBicategory.liftHom is a dubious translation:
-lean 3 declaration is
-  forall {B : Type.{u3}} [_inst_1 : Quiver.{succ u1, u3} B] {C : Type.{u4}} [_inst_2 : CategoryTheory.CategoryStruct.{u2, u4} C] (F : Prefunctor.{succ u1, succ u2, u3, u4} B _inst_1 C (CategoryTheory.CategoryStruct.toQuiver.{u2, u4} C _inst_2)) {a : B} {b : B}, (CategoryTheory.FreeBicategory.Hom.{u1, u3} B _inst_1 a b) -> (Quiver.Hom.{succ u2, u4} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u4} C _inst_2) (Prefunctor.obj.{succ u1, succ u2, u3, u4} B _inst_1 C (CategoryTheory.CategoryStruct.toQuiver.{u2, u4} C _inst_2) F a) (Prefunctor.obj.{succ u1, succ u2, u3, u4} B _inst_1 C (CategoryTheory.CategoryStruct.toQuiver.{u2, u4} C _inst_2) F b))
-but is expected to have type
-  forall {B : Type.{u1}} [_inst_1 : Quiver.{succ u3, u1} B] {C : Type.{u2}} [_inst_2 : CategoryTheory.CategoryStruct.{u4, u2} C] (F : Prefunctor.{succ u3, succ u4, u1, u2} B _inst_1 C (CategoryTheory.CategoryStruct.toQuiver.{u4, u2} C _inst_2)) {a : B} {b : B}, (CategoryTheory.FreeBicategory.Hom.{u3, u1} B _inst_1 a b) -> (Quiver.Hom.{succ u4, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u2} C _inst_2) (Prefunctor.obj.{succ u3, succ u4, u1, u2} B _inst_1 C (CategoryTheory.CategoryStruct.toQuiver.{u4, u2} C _inst_2) F a) (Prefunctor.obj.{succ u3, succ u4, u1, u2} B _inst_1 C (CategoryTheory.CategoryStruct.toQuiver.{u4, u2} C _inst_2) F b))
-Case conversion may be inaccurate. Consider using '#align category_theory.free_bicategory.lift_hom CategoryTheory.FreeBicategory.liftHomₓ'. -/
+#print CategoryTheory.FreeBicategory.liftHom /-
 /-- Auxiliary definition for `lift`. -/
 @[simp]
 def liftHom : ∀ {a b : B}, Hom a b → (F.obj a ⟶ F.obj b)
@@ -339,17 +377,22 @@ def liftHom : ∀ {a b : B}, Hom a b → (F.obj a ⟶ F.obj b)
   | _, _, hom.id a => 𝟙 (F.obj a)
   | _, _, hom.comp f g => lift_hom f ≫ lift_hom g
 #align category_theory.free_bicategory.lift_hom CategoryTheory.FreeBicategory.liftHom
+-/
 
+#print CategoryTheory.FreeBicategory.liftHom_id /-
 @[simp]
 theorem liftHom_id (a : FreeBicategory B) : liftHom F (𝟙 a) = 𝟙 (F.obj a) :=
   rfl
 #align category_theory.free_bicategory.lift_hom_id CategoryTheory.FreeBicategory.liftHom_id
+-/
 
+#print CategoryTheory.FreeBicategory.liftHom_comp /-
 @[simp]
 theorem liftHom_comp {a b c : FreeBicategory B} (f : a ⟶ b) (g : b ⟶ c) :
     liftHom F (f ≫ g) = liftHom F f ≫ liftHom F g :=
   rfl
 #align category_theory.free_bicategory.lift_hom_comp CategoryTheory.FreeBicategory.liftHom_comp
+-/
 
 end
 
@@ -359,12 +402,7 @@ variable {B : Type u₁} [Quiver.{v₁ + 1} B] {C : Type u₂} [Bicategory.{w₂
 
 variable (F : Prefunctor B C)
 
-/- warning: category_theory.free_bicategory.lift_hom₂ -> CategoryTheory.FreeBicategory.liftHom₂ is a dubious translation:
-lean 3 declaration is
-  forall {B : Type.{u4}} [_inst_1 : Quiver.{succ u2, u4} B] {C : Type.{u5}} [_inst_2 : CategoryTheory.Bicategory.{u1, u3, u5} C] (F : Prefunctor.{succ u2, succ u3, u4, u5} B _inst_1 C (CategoryTheory.CategoryStruct.toQuiver.{u3, u5} C (CategoryTheory.Bicategory.toCategoryStruct.{u1, u3, u5} C _inst_2))) {a : B} {b : B} {f : CategoryTheory.FreeBicategory.Hom.{u2, u4} B _inst_1 a b} {g : CategoryTheory.FreeBicategory.Hom.{u2, u4} B _inst_1 a b}, (CategoryTheory.FreeBicategory.Hom₂.{u2, u4} B _inst_1 a b f g) -> (Quiver.Hom.{succ u1, u3} (Quiver.Hom.{succ u3, u5} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u5} C (CategoryTheory.Bicategory.toCategoryStruct.{u1, u3, u5} C _inst_2)) (Prefunctor.obj.{succ u2, succ u3, u4, u5} B _inst_1 C (CategoryTheory.CategoryStruct.toQuiver.{u3, u5} C (CategoryTheory.Bicategory.toCategoryStruct.{u1, u3, u5} C _inst_2)) F a) (Prefunctor.obj.{succ u2, succ u3, u4, u5} B _inst_1 C (CategoryTheory.CategoryStruct.toQuiver.{u3, u5} C (CategoryTheory.Bicategory.toCategoryStruct.{u1, u3, u5} C _inst_2)) F b)) (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} (Quiver.Hom.{succ u3, u5} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u5} C (CategoryTheory.Bicategory.toCategoryStruct.{u1, u3, u5} C _inst_2)) (Prefunctor.obj.{succ u2, succ u3, u4, u5} B _inst_1 C (CategoryTheory.CategoryStruct.toQuiver.{u3, u5} C (CategoryTheory.Bicategory.toCategoryStruct.{u1, u3, u5} C _inst_2)) F a) (Prefunctor.obj.{succ u2, succ u3, u4, u5} B _inst_1 C (CategoryTheory.CategoryStruct.toQuiver.{u3, u5} C (CategoryTheory.Bicategory.toCategoryStruct.{u1, u3, u5} C _inst_2)) F b)) (CategoryTheory.Category.toCategoryStruct.{u1, u3} (Quiver.Hom.{succ u3, u5} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u5} C (CategoryTheory.Bicategory.toCategoryStruct.{u1, u3, u5} C _inst_2)) (Prefunctor.obj.{succ u2, succ u3, u4, u5} B _inst_1 C (CategoryTheory.CategoryStruct.toQuiver.{u3, u5} C (CategoryTheory.Bicategory.toCategoryStruct.{u1, u3, u5} C _inst_2)) F a) (Prefunctor.obj.{succ u2, succ u3, u4, u5} B _inst_1 C (CategoryTheory.CategoryStruct.toQuiver.{u3, u5} C (CategoryTheory.Bicategory.toCategoryStruct.{u1, u3, u5} C _inst_2)) F b)) (CategoryTheory.Bicategory.homCategory.{u1, u3, u5} C _inst_2 (Prefunctor.obj.{succ u2, succ u3, u4, u5} B _inst_1 C (CategoryTheory.CategoryStruct.toQuiver.{u3, u5} C (CategoryTheory.Bicategory.toCategoryStruct.{u1, u3, u5} C _inst_2)) F a) (Prefunctor.obj.{succ u2, succ u3, u4, u5} B _inst_1 C (CategoryTheory.CategoryStruct.toQuiver.{u3, u5} C (CategoryTheory.Bicategory.toCategoryStruct.{u1, u3, u5} C _inst_2)) F b)))) (CategoryTheory.FreeBicategory.liftHom.{u2, u3, u4, u5} B _inst_1 C (CategoryTheory.Bicategory.toCategoryStruct.{u1, u3, u5} C _inst_2) F a b f) (CategoryTheory.FreeBicategory.liftHom.{u2, u3, u4, u5} B _inst_1 C (CategoryTheory.Bicategory.toCategoryStruct.{u1, u3, u5} C _inst_2) F a b g))
-but is expected to have type
-  PUnit.{max (max (max (max (succ (succ u1)) (succ (succ u2))) (succ (succ u3))) (succ (succ u4))) (succ (succ u5))}
-Case conversion may be inaccurate. Consider using '#align category_theory.free_bicategory.lift_hom₂ CategoryTheory.FreeBicategory.liftHom₂ₓ'. -/
+#print CategoryTheory.FreeBicategory.liftHom₂ /-
 /-- Auxiliary definition for `lift`. -/
 @[simp]
 def liftHom₂ : ∀ {a b : B} {f g : Hom a b}, Hom₂ f g → (liftHom F f ⟶ liftHom F g)
@@ -379,13 +417,17 @@ def liftHom₂ : ∀ {a b : B} {f g : Hom a b}, Hom₂ f g → (liftHom F f ⟶
   | _, _, _, _, hom₂.whisker_left f η => liftHom F f ◁ lift_hom₂ η
   | _, _, _, _, hom₂.whisker_right h η => lift_hom₂ η ▷ liftHom F h
 #align category_theory.free_bicategory.lift_hom₂ CategoryTheory.FreeBicategory.liftHom₂
+-/
 
 attribute [local simp] whisker_exchange
 
+#print CategoryTheory.FreeBicategory.liftHom₂_congr /-
 theorem liftHom₂_congr {a b : B} {f g : Hom a b} {η θ : Hom₂ f g} (H : Rel η θ) :
     liftHom₂ F η = liftHom₂ F θ := by induction H <;> tidy
 #align category_theory.free_bicategory.lift_hom₂_congr CategoryTheory.FreeBicategory.liftHom₂_congr
+-/
 
+#print CategoryTheory.FreeBicategory.lift /-
 /-- A prefunctor from a quiver `B` to a bicategory `C` can be lifted to a pseudofunctor from
 `free_bicategory B` to `C`.
 -/
@@ -398,6 +440,7 @@ def lift : Pseudofunctor (FreeBicategory B) C
   map_id a := Iso.refl _
   map_comp a b c f g := Iso.refl _
 #align category_theory.free_bicategory.lift CategoryTheory.FreeBicategory.lift
+-/
 
 end
 
Diff
@@ -200,31 +200,31 @@ instance bicategory : Bicategory (FreeBicategory B)
   comp a b c := Hom.comp
   homCategory := FreeBicategory.homCategory
   whiskerLeft a b c f g h η := Quot.map (Hom₂.whisker_left f) (Rel.whisker_left f g h) η
-  whiskerLeft_id' a b c f g := Quot.sound (Rel.whisker_left_id f g)
-  whiskerLeft_comp' := by
+  whiskerLeft_id a b c f g := Quot.sound (Rel.whisker_left_id f g)
+  whiskerLeft_comp := by
     rintro a b c f g h i ⟨η⟩ ⟨θ⟩
     exact Quot.sound (rel.whisker_left_comp f η θ)
-  id_whisker_left' := by
+  id_whiskerLeft := by
     rintro a b f g ⟨η⟩
     exact Quot.sound (rel.id_whisker_left η)
-  comp_whisker_left' := by
+  comp_whiskerLeft := by
     rintro a b c d f g h h' ⟨η⟩
     exact Quot.sound (rel.comp_whisker_left f g η)
   whiskerRight a b c f g η h := Quot.map (Hom₂.whisker_right h) (Rel.whisker_right f g h) η
-  id_whisker_right' a b c f g := Quot.sound (Rel.id_whisker_right f g)
-  comp_whisker_right' := by
+  id_whiskerRight a b c f g := Quot.sound (Rel.id_whisker_right f g)
+  comp_whiskerRight := by
     rintro a b c f g h ⟨η⟩ ⟨θ⟩ i
     exact Quot.sound (rel.comp_whisker_right i η θ)
-  whiskerRight_id' := by
+  whiskerRight_id := by
     rintro a b f g ⟨η⟩
     exact Quot.sound (rel.whisker_right_id η)
-  whiskerRight_comp' := by
+  whiskerRight_comp := by
     rintro a b c d f f' ⟨η⟩ g h
     exact Quot.sound (rel.whisker_right_comp g h η)
-  whisker_assoc' := by
+  whisker_assoc := by
     rintro a b c d f g g' ⟨η⟩ h
     exact Quot.sound (rel.whisker_assoc f η h)
-  whisker_exchange' := by
+  whisker_exchange := by
     rintro a b c f g h i ⟨η⟩ ⟨θ⟩
     exact Quot.sound (rel.whisker_exchange η θ)
   associator a b c d f g h :=
@@ -242,8 +242,8 @@ instance bicategory : Bicategory (FreeBicategory B)
       inv := Quot.mk Rel (Hom₂.right_unitor_inv f)
       hom_inv_id' := Quot.sound (Rel.right_unitor_hom_inv f)
       inv_hom_id' := Quot.sound (Rel.right_unitor_inv_hom f) }
-  pentagon' a b c d e f g h i := Quot.sound (Rel.pentagon f g h i)
-  triangle' a b c f g := Quot.sound (Rel.triangle f g)
+  pentagon a b c d e f g h i := Quot.sound (Rel.pentagon f g h i)
+  triangle a b c f g := Quot.sound (Rel.triangle f g)
 #align category_theory.free_bicategory.bicategory CategoryTheory.FreeBicategory.bicategory
 
 variable {a b c d : FreeBicategory B}

Changes in mathlib4

mathlib3
mathlib4
chore: remove porting notes about redundant binder updates (#12101)

All these are about some code (now commented out) which performs a (now) redundant binder information update. I don't see how this is useful information going forward, hence propose simply deleting them.

Diff
@@ -84,9 +84,6 @@ inductive Hom₂ : ∀ {a b : FreeBicategory B}, (a ⟶ b) → (a ⟶ b) → Typ
 
 section
 
--- Porting note: commenting out redundant binder annotation update
--- variable {B}
-
 -- The following notations are only used in the definition of `Rel` to simplify the notation.
 local infixr:0 " ≫ " => Hom₂.vcomp
 
@@ -154,9 +151,6 @@ inductive Rel : ∀ {a b : FreeBicategory B} {f g : a ⟶ b}, Hom₂ f g → Hom
 
 end
 
--- Porting note: commenting out redundant binder annotation update
--- variable {B}
-
 instance homCategory (a b : FreeBicategory B) : Category (a ⟶ b) where
   Hom f g := Quot (@Rel _ _ a b f g)
   id f := Quot.mk Rel (Hom₂.id f)
chore: classify porting notes referring to missing linters (#12098)

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

Diff
@@ -64,7 +64,7 @@ instance categoryStruct : CategoryStruct.{max u v} (FreeBicategory B) where
   comp := @fun _ _ _ => Hom.comp
 
 /-- Representatives of 2-morphisms in the free bicategory. -/
--- Porting note: no such linter
+-- Porting note(#5171): linter not ported yet
 -- @[nolint has_nonempty_instance]
 inductive Hom₂ : ∀ {a b : FreeBicategory B}, (a ⟶ b) → (a ⟶ b) → Type max u v
   | id {a b} (f : a ⟶ b) : Hom₂ f f
chore: remove mathport name: <expression> lines (#11928)

Quoting [@digama0](https://github.com/digama0):

These were actually never meant to go in the file, they are basically debugging information and only useful on significantly broken mathport files. You can safely remove all of them.

Diff
@@ -87,35 +87,25 @@ section
 -- Porting note: commenting out redundant binder annotation update
 -- variable {B}
 
--- mathport name: vcomp
 -- The following notations are only used in the definition of `Rel` to simplify the notation.
 local infixr:0 " ≫ " => Hom₂.vcomp
 
--- mathport name: id
 local notation "𝟙" => Hom₂.id
 
--- mathport name: whisker_left
 local notation f " ◁ " η => Hom₂.whisker_left f η
 
--- mathport name: whisker_right
 local notation η " ▷ " h => Hom₂.whisker_right h η
 
--- mathport name: associator
 local notation "α_" => Hom₂.associator
 
--- mathport name: left_unitor
 local notation "λ_" => Hom₂.left_unitor
 
--- mathport name: right_unitor
 local notation "ρ_" => Hom₂.right_unitor
 
--- mathport name: associator_inv
 local notation "α⁻¹_" => Hom₂.associator_inv
 
--- mathport name: left_unitor_inv
 local notation "λ⁻¹_" => Hom₂.left_unitor_inv
 
--- mathport name: right_unitor_inv
 local notation "ρ⁻¹_" => Hom₂.right_unitor_inv
 
 /-- Relations between 2-morphisms in the free bicategory. -/
chore(*): remove empty lines between variable statements (#11418)

Empty lines were removed by executing the following Python script twice

import os
import re


# Loop through each file in the repository
for dir_path, dirs, files in os.walk('.'):
  for filename in files:
    if filename.endswith('.lean'):
      file_path = os.path.join(dir_path, filename)

      # Open the file and read its contents
      with open(file_path, 'r') as file:
        content = file.read()

      # Use a regular expression to replace sequences of "variable" lines separated by empty lines
      # with sequences without empty lines
      modified_content = re.sub(r'(variable.*\n)\n(variable(?! .* in))', r'\1\2', content)

      # Write the modified content back to the file
      with open(file_path, 'w') as file:
        file.write(modified_content)
Diff
@@ -314,7 +314,6 @@ end
 section
 
 variable {B : Type u₁} [Quiver.{v₁ + 1} B] {C : Type u₂} [CategoryStruct.{v₂} C]
-
 variable (F : Prefunctor B C)
 
 /-- Auxiliary definition for `lift`. -/
@@ -341,7 +340,6 @@ end
 section
 
 variable {B : Type u₁} [Quiver.{v₁ + 1} B] {C : Type u₂} [Bicategory.{w₂, v₂} C]
-
 variable (F : Prefunctor B C)
 
 /-- Auxiliary definition for `lift`. -/
style: homogenise porting notes (#11145)

Homogenises porting notes via capitalisation and addition of whitespace.

It makes the following changes:

  • converts "--porting note" into "-- Porting note";
  • converts "porting note" into "Porting note".
Diff
@@ -64,7 +64,7 @@ instance categoryStruct : CategoryStruct.{max u v} (FreeBicategory B) where
   comp := @fun _ _ _ => Hom.comp
 
 /-- Representatives of 2-morphisms in the free bicategory. -/
--- porting note: no such linter
+-- Porting note: no such linter
 -- @[nolint has_nonempty_instance]
 inductive Hom₂ : ∀ {a b : FreeBicategory B}, (a ⟶ b) → (a ⟶ b) → Type max u v
   | id {a b} (f : a ⟶ b) : Hom₂ f f
@@ -84,7 +84,7 @@ inductive Hom₂ : ∀ {a b : FreeBicategory B}, (a ⟶ b) → (a ⟶ b) → Typ
 
 section
 
--- porting note: commenting out redundant binder annotation update
+-- Porting note: commenting out redundant binder annotation update
 -- variable {B}
 
 -- mathport name: vcomp
@@ -164,7 +164,7 @@ inductive Rel : ∀ {a b : FreeBicategory B} {f g : a ⟶ b}, Hom₂ f g → Hom
 
 end
 
--- porting note: commenting out redundant binder annotation update
+-- Porting note: commenting out redundant binder annotation update
 -- variable {B}
 
 instance homCategory (a b : FreeBicategory B) : Category (a ⟶ b) where
style: fix multiple spaces before colon (#7411)

Purely cosmetic PR

Diff
@@ -60,7 +60,7 @@ instance quiver : Quiver.{max u v + 1} (FreeBicategory B) where
   Hom := fun a b : B => Hom a b
 
 instance categoryStruct : CategoryStruct.{max u v} (FreeBicategory B) where
-  id  := fun a : B => Hom.id a
+  id   := fun a : B => Hom.id a
   comp := @fun _ _ _ => Hom.comp
 
 /-- Representatives of 2-morphisms in the free bicategory. -/
chore: script to replace headers with #align_import statements (#5979)

Open in Gitpod

Co-authored-by: Eric Wieser <wieser.eric@gmail.com> Co-authored-by: Scott Morrison <scott.morrison@gmail.com>

Diff
@@ -2,14 +2,11 @@
 Copyright (c) 2022 Yuma Mizuno. All rights reserved.
 Released under Apache 2.0 license as described in the file LICENSE.
 Authors: Yuma Mizuno
-
-! This file was ported from Lean 3 source module category_theory.bicategory.free
-! leanprover-community/mathlib commit 3d7987cda72abc473c7cdbbb075170e9ac620042
-! Please do not edit these lines, except to modify the commit id
-! if you have ported upstream changes.
 -/
 import Mathlib.CategoryTheory.Bicategory.Functor
 
+#align_import category_theory.bicategory.free from "leanprover-community/mathlib"@"3d7987cda72abc473c7cdbbb075170e9ac620042"
+
 /-!
 # Free bicategories
 
chore: cleanup whitespace (#5988)

Grepping for [^ .:{-] [^ :] and reviewing the results. Once I started I couldn't stop. :-)

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

Diff
@@ -74,7 +74,7 @@ inductive Hom₂ : ∀ {a b : FreeBicategory B}, (a ⟶ b) → (a ⟶ b) → Typ
   | vcomp {a b} {f g h : a ⟶ b} (η : Hom₂ f g) (θ : Hom₂ g h) : Hom₂ f h
   | whisker_left {a b c} (f : a ⟶ b) {g h : b ⟶ c} (η : Hom₂ g h) :
       Hom₂ (f ≫ g) (f ≫ h)-- `η` cannot be earlier than `h` since it is a recursive argument.
-  | whisker_right {a b c} {f g : a ⟶ b} (h : b ⟶  c) (η : Hom₂ f g) : Hom₂ (f.comp h) (g.comp h)
+  | whisker_right {a b c} {f g : a ⟶ b} (h : b ⟶ c) (η : Hom₂ f g) : Hom₂ (f.comp h) (g.comp h)
   | associator {a b c d} (f : a ⟶ b) (g : b ⟶ c) (h : c ⟶ d) :
       Hom₂ ((f ≫ g) ≫ h) (f ≫ (g ≫ h))
   | associator_inv {a b c d} (f : a ⟶ b) (g : b ⟶ c) (h : c ⟶ d) :
chore: review of automation in category theory (#4793)

Clean up of automation in the category theory library. Leaving out unnecessary proof steps, or fields done by aesop_cat, and making more use of available autoparameters.

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

Diff
@@ -378,7 +378,6 @@ def lift : Pseudofunctor (FreeBicategory B) C where
   mapId a := Iso.refl _
   mapComp f g := Iso.refl _
   map₂ := Quot.lift (liftHom₂ F) fun η θ H => liftHom₂_congr F H
-  map₂_id := by aesop_cat
   -- Porting note: We'd really prefer not to be doing this by hand.
   -- in mathlib3 `tidy` did these inductions for us.
   map₂_comp := by
feat: port CategoryTheory.Bicategory.Free (#2482)

Co-authored-by: Kevin Buzzard <k.buzzard@imperial.ac.uk> Co-authored-by: Jason Yuen <jason_yuen2007@hotmail.com> Co-authored-by: Matthew Ballard <matt@mrb.email> Co-authored-by: Scott Morrison <scott.morrison@gmail.com> Co-authored-by: Pol_tta <pol_tta@outlook.jp> Co-authored-by: Xavier Roblot <46200072+xroblot@users.noreply.github.com> Co-authored-by: Scott Morrison <scott@tqft.net> Co-authored-by: sgouezel <sebastien.gouezel@univ-rennes1.fr> Co-authored-by: Christopher Hoskin <christopher.hoskin@gmail.com> Co-authored-by: Eric Wieser <wieser.eric@gmail.com> Co-authored-by: MonadMaverick <MonadMaverick@pm.me> Co-authored-by: David Renshaw <dwrenshaw@gmail.com> Co-authored-by: Matthew Robert Ballard <matt@mrb.email> Co-authored-by: Ruben Van de Velde <65514131+Ruben-VandeVelde@users.noreply.github.com> Co-authored-by: Pol_tta <MonadMaverick@pm.me> Co-authored-by: David Loeffler <d.loeffler.01@cantab.net> Co-authored-by: Kyle Miller <kmill31415@gmail.com>

Dependencies 4

5 files ported (100.0%)
1724 lines ported (100.0%)

All dependencies are ported!