category_theory.monoidal.BimodMathlib.CategoryTheory.Monoidal.Bimod

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)

(last sync)

Changes in mathlib3port

mathlib3
mathlib3port
Diff
@@ -303,14 +303,14 @@ noncomputable def actLeft : R.pt ⊗ X P Q ⟶ X P Q :=
 
 /- ./././Mathport/Syntax/Translate/Expr.lean:177:8: unsupported: ambiguous notation -/
 /- ./././Mathport/Syntax/Translate/Expr.lean:177:8: unsupported: ambiguous notation -/
-#print Bimod.TensorBimod.id_tensor_π_actLeft /-
-theorem id_tensor_π_actLeft :
+#print Bimod.TensorBimod.whiskerLeft_π_actLeft /-
+theorem whiskerLeft_π_actLeft :
     (𝟙 R.pt ⊗ coequalizer.π _ _) ≫ actLeft P Q =
       (α_ _ _ _).inv ≫ (P.actLeft ⊗ 𝟙 Q.pt) ≫ coequalizer.π _ _ :=
   by
   erw [map_π_preserves_coequalizer_inv_colim_map (tensor_left _)]
   simp only [category.assoc]
-#align Bimod.tensor_Bimod.id_tensor_π_act_left Bimod.TensorBimod.id_tensor_π_actLeft
+#align Bimod.tensor_Bimod.id_tensor_π_act_left Bimod.TensorBimod.whiskerLeft_π_actLeft
 -/
 
 /- ./././Mathport/Syntax/Translate/Expr.lean:177:8: unsupported: ambiguous notation -/
@@ -490,7 +490,6 @@ noncomputable def tensorBimod {X Y Z : Mon_ C} (M : Bimod X Y) (N : Bimod Y Z) :
 /- ./././Mathport/Syntax/Translate/Expr.lean:177:8: unsupported: ambiguous notation -/
 /- ./././Mathport/Syntax/Translate/Expr.lean:177:8: unsupported: ambiguous notation -/
 /- ./././Mathport/Syntax/Translate/Expr.lean:177:8: unsupported: ambiguous notation -/
-#print Bimod.tensorHom /-
 /-- Tensor product of two morphisms of bimodule objects. -/
 @[simps]
 noncomputable def tensorHom {X Y Z : Mon_ C} {M₁ M₂ : Bimod X Y} {N₁ N₂ : Bimod Y Z} (f : M₁ ⟶ M₂)
@@ -528,9 +527,7 @@ noncomputable def tensorHom {X Y Z : Mon_ C} {M₁ M₂ : Bimod X Y} {N₁ N₂
     slice_rhs 1 2 => rw [associator_naturality]
     slice_rhs 2 3 => rw [← tensor_comp, category.comp_id]
 #align Bimod.tensor_hom Bimod.tensorHom
--/
 
-#print Bimod.tensor_id /-
 theorem tensor_id {X Y Z : Mon_ C} {M : Bimod X Y} {N : Bimod Y Z} :
     tensorHom (𝟙 M) (𝟙 N) = 𝟙 (M.tensorBimod N) :=
   by
@@ -539,9 +536,7 @@ theorem tensor_id {X Y Z : Mon_ C} {M : Bimod X Y} {N : Bimod Y Z} :
   dsimp; dsimp only [tensor_Bimod.X]
   simp only [category.id_comp, category.comp_id]
 #align Bimod.tensor_id Bimod.tensor_id
--/
 
-#print Bimod.tensor_comp /-
 theorem tensor_comp {X Y Z : Mon_ C} {M₁ M₂ M₃ : Bimod X Y} {N₁ N₂ N₃ : Bimod Y Z} (f₁ : M₁ ⟶ M₂)
     (f₂ : M₂ ⟶ M₃) (g₁ : N₁ ⟶ N₂) (g₂ : N₂ ⟶ N₃) :
     tensorHom (f₁ ≫ f₂) (g₁ ≫ g₂) = tensorHom f₁ g₁ ≫ tensorHom f₂ g₂ :=
@@ -550,7 +545,6 @@ theorem tensor_comp {X Y Z : Mon_ C} {M₁ M₂ M₃ : Bimod X Y} {N₁ N₂ N
   simp only [comp_hom', tensor_comp, tensor_hom_hom, ι_colim_map, parallel_pair_hom_app_one,
     category.assoc, ι_colim_map_assoc]
 #align Bimod.tensor_comp Bimod.tensor_comp
--/
 
 end
 
@@ -958,18 +952,18 @@ noncomputable def rightUnitorBimod {X Y : Mon_ C} (M : Bimod X Y) : M.tensorBimo
 #align Bimod.right_unitor_Bimod Bimod.rightUnitorBimod
 -/
 
-#print Bimod.whisker_left_comp_bimod /-
-theorem whisker_left_comp_bimod {X Y Z : Mon_ C} (M : Bimod X Y) {N P Q : Bimod Y Z} (f : N ⟶ P)
+#print Bimod.whiskerLeft_comp_bimod /-
+theorem whiskerLeft_comp_bimod {X Y Z : Mon_ C} (M : Bimod X Y) {N P Q : Bimod Y Z} (f : N ⟶ P)
     (g : P ⟶ Q) : tensorHom (𝟙 M) (f ≫ g) = tensorHom (𝟙 M) f ≫ tensorHom (𝟙 M) g := by
   rw [← tensor_comp, category.comp_id]
-#align Bimod.whisker_left_comp_Bimod Bimod.whisker_left_comp_bimod
+#align Bimod.whisker_left_comp_Bimod Bimod.whiskerLeft_comp_bimod
 -/
 
 /- ./././Mathport/Syntax/Translate/Expr.lean:177:8: unsupported: ambiguous notation -/
 /- ./././Mathport/Syntax/Translate/Expr.lean:177:8: unsupported: ambiguous notation -/
 /- ./././Mathport/Syntax/Translate/Expr.lean:177:8: unsupported: ambiguous notation -/
-#print Bimod.id_whisker_left_bimod /-
-theorem id_whisker_left_bimod {X Y : Mon_ C} {M N : Bimod X Y} (f : M ⟶ N) :
+#print Bimod.id_whiskerLeft_bimod /-
+theorem id_whiskerLeft_bimod {X Y : Mon_ C} {M N : Bimod X Y} (f : M ⟶ N) :
     tensorHom (𝟙 (regular X)) f = (leftUnitorBimod M).Hom ≫ f ≫ (leftUnitorBimod N).inv :=
   by
   dsimp [tensor_hom, regular, left_unitor_Bimod]
@@ -989,12 +983,12 @@ theorem id_whisker_left_bimod {X Y : Mon_ C} {M N : Bimod X Y} (f : M ⟶ N) :
     pure_coherence
   slice_rhs 2 4 => rw [this]
   slice_rhs 1 2 => rw [category.comp_id]
-#align Bimod.id_whisker_left_Bimod Bimod.id_whisker_left_bimod
+#align Bimod.id_whisker_left_Bimod Bimod.id_whiskerLeft_bimod
 -/
 
-#print Bimod.comp_whisker_left_bimod /-
-theorem comp_whisker_left_bimod {W X Y Z : Mon_ C} (M : Bimod W X) (N : Bimod X Y)
-    {P P' : Bimod Y Z} (f : P ⟶ P') :
+#print Bimod.comp_whiskerLeft_bimod /-
+theorem comp_whiskerLeft_bimod {W X Y Z : Mon_ C} (M : Bimod W X) (N : Bimod X Y) {P P' : Bimod Y Z}
+    (f : P ⟶ P') :
     tensorHom (𝟙 (M.tensorBimod N)) f =
       (associatorBimod M N P).Hom ≫
         tensorHom (𝟙 M) (tensorHom (𝟙 N) f) ≫ (associatorBimod M N P').inv :=
@@ -1019,20 +1013,20 @@ theorem comp_whisker_left_bimod {W X Y Z : Mon_ C} (M : Bimod W X) (N : Bimod X
   slice_lhs 1 2 => rw [tensor_id_comp_id_tensor, ← id_tensor_comp_tensor_id]
   dsimp only [tensor_Bimod.X]
   simp only [category.assoc]
-#align Bimod.comp_whisker_left_Bimod Bimod.comp_whisker_left_bimod
+#align Bimod.comp_whisker_left_Bimod Bimod.comp_whiskerLeft_bimod
 -/
 
-#print Bimod.comp_whisker_right_bimod /-
-theorem comp_whisker_right_bimod {X Y Z : Mon_ C} {M N P : Bimod X Y} (f : M ⟶ N) (g : N ⟶ P)
+#print Bimod.comp_whiskerRight_bimod /-
+theorem comp_whiskerRight_bimod {X Y Z : Mon_ C} {M N P : Bimod X Y} (f : M ⟶ N) (g : N ⟶ P)
     (Q : Bimod Y Z) : tensorHom (f ≫ g) (𝟙 Q) = tensorHom f (𝟙 Q) ≫ tensorHom g (𝟙 Q) := by
   rw [← tensor_comp, category.comp_id]
-#align Bimod.comp_whisker_right_Bimod Bimod.comp_whisker_right_bimod
+#align Bimod.comp_whisker_right_Bimod Bimod.comp_whiskerRight_bimod
 -/
 
 /- ./././Mathport/Syntax/Translate/Expr.lean:177:8: unsupported: ambiguous notation -/
 /- ./././Mathport/Syntax/Translate/Expr.lean:177:8: unsupported: ambiguous notation -/
-#print Bimod.whisker_right_id_bimod /-
-theorem whisker_right_id_bimod {X Y : Mon_ C} {M N : Bimod X Y} (f : M ⟶ N) :
+#print Bimod.whiskerRight_id_bimod /-
+theorem whiskerRight_id_bimod {X Y : Mon_ C} {M N : Bimod X Y} (f : M ⟶ N) :
     tensorHom f (𝟙 (regular Y)) = (rightUnitorBimod M).Hom ≫ f ≫ (rightUnitorBimod N).inv :=
   by
   dsimp [tensor_hom, regular, right_unitor_Bimod]
@@ -1051,11 +1045,11 @@ theorem whisker_right_id_bimod {X Y : Mon_ C} {M N : Bimod X Y} (f : M ⟶ N) :
     pure_coherence
   slice_rhs 2 4 => rw [this]
   slice_rhs 1 2 => rw [category.comp_id]
-#align Bimod.whisker_right_id_Bimod Bimod.whisker_right_id_bimod
+#align Bimod.whisker_right_id_Bimod Bimod.whiskerRight_id_bimod
 -/
 
-#print Bimod.whisker_right_comp_bimod /-
-theorem whisker_right_comp_bimod {W X Y Z : Mon_ C} {M M' : Bimod W X} (f : M ⟶ M') (N : Bimod X Y)
+#print Bimod.whiskerRight_comp_bimod /-
+theorem whiskerRight_comp_bimod {W X Y Z : Mon_ C} {M M' : Bimod W X} (f : M ⟶ M') (N : Bimod X Y)
     (P : Bimod Y Z) :
     tensorHom f (𝟙 (N.tensorBimod P)) =
       (associatorBimod M N P).inv ≫
@@ -1081,7 +1075,7 @@ theorem whisker_right_comp_bimod {W X Y Z : Mon_ C} {M M' : Bimod W X} (f : M 
   slice_lhs 1 2 => rw [id_tensor_comp_tensor_id, ← tensor_id_comp_id_tensor]
   dsimp only [tensor_Bimod.X]
   simp only [category.assoc]
-#align Bimod.whisker_right_comp_Bimod Bimod.whisker_right_comp_bimod
+#align Bimod.whisker_right_comp_Bimod Bimod.whiskerRight_comp_bimod
 -/
 
 #print Bimod.whisker_assoc_bimod /-
@@ -1206,13 +1200,13 @@ noncomputable def monBicategory : Bicategory (Mon_ C)
   leftUnitor _ _ M := leftUnitorBimod M
   rightUnitor _ _ M := rightUnitorBimod M
   whiskerLeft_id _ _ _ _ _ := tensor_id
-  whiskerLeft_comp _ _ _ M _ _ _ f g := whisker_left_comp_bimod M f g
-  id_whiskerLeft _ _ _ _ f := id_whisker_left_bimod f
-  comp_whiskerLeft _ _ _ _ M N _ _ f := comp_whisker_left_bimod M N f
+  whiskerLeft_comp _ _ _ M _ _ _ f g := whiskerLeft_comp_bimod M f g
+  id_whiskerLeft _ _ _ _ f := id_whiskerLeft_bimod f
+  comp_whiskerLeft _ _ _ _ M N _ _ f := comp_whiskerLeft_bimod M N f
   id_whiskerRight _ _ _ _ _ := tensor_id
-  comp_whiskerRight _ _ _ _ _ _ f g Q := comp_whisker_right_bimod f g Q
-  whiskerRight_id _ _ _ _ f := whisker_right_id_bimod f
-  whiskerRight_comp _ _ _ _ _ _ f N P := whisker_right_comp_bimod f N P
+  comp_whiskerRight _ _ _ _ _ _ f g Q := comp_whiskerRight_bimod f g Q
+  whiskerRight_id _ _ _ _ f := whiskerRight_id_bimod f
+  whiskerRight_comp _ _ _ _ _ _ f N P := whiskerRight_comp_bimod f N P
   whisker_assoc _ _ _ _ M _ _ f P := whisker_assoc_bimod M f P
   whisker_exchange _ _ _ _ _ _ _ f g := whisker_exchange_bimod f g
   pentagon _ _ _ _ _ M N P Q := pentagon_bimod M N P Q
Diff
@@ -3,9 +3,9 @@ Copyright (c) 2022 Scott Morrison. All rights reserved.
 Released under Apache 2.0 license as described in the file LICENSE.
 Authors: Scott Morrison, Oleksandr Manzyuk
 -/
-import Mathbin.CategoryTheory.Bicategory.Basic
-import Mathbin.CategoryTheory.Monoidal.Mon_
-import Mathbin.CategoryTheory.Limits.Preserves.Shapes.Equalizers
+import CategoryTheory.Bicategory.Basic
+import CategoryTheory.Monoidal.Mon_
+import CategoryTheory.Limits.Preserves.Shapes.Equalizers
 
 #align_import category_theory.monoidal.Bimod from "leanprover-community/mathlib"@"08b63ab58a6ec1157ebeafcbbe6c7a3fb3c9f6d5"
 
Diff
@@ -140,16 +140,6 @@ structure Bimod (A B : Mon_ C) where
 #align Bimod Bimod
 -/
 
-restate_axiom Bimod.one_act_left'
-
-restate_axiom Bimod.actRight_one'
-
-restate_axiom Bimod.left_assoc'
-
-restate_axiom Bimod.right_assoc'
-
-restate_axiom Bimod.middle_assoc'
-
 attribute [simp, reassoc] Bimod.one_actLeft Bimod.actRight_one Bimod.left_assoc Bimod.right_assoc
   Bimod.middle_assoc
 
@@ -169,10 +159,6 @@ structure Hom (M N : Bimod A B) where
 #align Bimod.hom Bimod.Hom
 -/
 
-restate_axiom hom.left_act_hom'
-
-restate_axiom hom.right_act_hom'
-
 attribute [simp, reassoc] hom.left_act_hom hom.right_act_hom
 
 #print Bimod.id' /-
Diff
@@ -2,16 +2,13 @@
 Copyright (c) 2022 Scott Morrison. All rights reserved.
 Released under Apache 2.0 license as described in the file LICENSE.
 Authors: Scott Morrison, Oleksandr Manzyuk
-
-! This file was ported from Lean 3 source module category_theory.monoidal.Bimod
-! leanprover-community/mathlib commit 08b63ab58a6ec1157ebeafcbbe6c7a3fb3c9f6d5
-! Please do not edit these lines, except to modify the commit id
-! if you have ported upstream changes.
 -/
 import Mathbin.CategoryTheory.Bicategory.Basic
 import Mathbin.CategoryTheory.Monoidal.Mon_
 import Mathbin.CategoryTheory.Limits.Preserves.Shapes.Equalizers
 
+#align_import category_theory.monoidal.Bimod from "leanprover-community/mathlib"@"08b63ab58a6ec1157ebeafcbbe6c7a3fb3c9f6d5"
+
 /-!
 # The category of bimodule objects over a pair of monoid objects.
 
Diff
@@ -4,7 +4,7 @@ Released under Apache 2.0 license as described in the file LICENSE.
 Authors: Scott Morrison, Oleksandr Manzyuk
 
 ! This file was ported from Lean 3 source module category_theory.monoidal.Bimod
-! leanprover-community/mathlib commit 4698e35ca56a0d4fa53aa5639c3364e0a77f4eba
+! leanprover-community/mathlib commit 08b63ab58a6ec1157ebeafcbbe6c7a3fb3c9f6d5
 ! Please do not edit these lines, except to modify the commit id
 ! if you have ported upstream changes.
 -/
@@ -14,6 +14,9 @@ import Mathbin.CategoryTheory.Limits.Preserves.Shapes.Equalizers
 
 /-!
 # The category of bimodule objects over a pair of monoid objects.
+
+> THIS FILE IS SYNCHRONIZED WITH MATHLIB4.
+> Any changes to this file require a corresponding PR to mathlib4.
 -/
 
 
Diff
@@ -39,6 +39,7 @@ variable [∀ X : C, PreservesColimitsOfSize.{0, 0} (tensorLeft X)]
 /- ./././Mathport/Syntax/Translate/Expr.lean:177:8: unsupported: ambiguous notation -/
 /- ./././Mathport/Syntax/Translate/Expr.lean:177:8: unsupported: ambiguous notation -/
 /- ./././Mathport/Syntax/Translate/Expr.lean:177:8: unsupported: ambiguous notation -/
+#print id_tensor_π_preserves_coequalizer_inv_desc /-
 theorem id_tensor_π_preserves_coequalizer_inv_desc {W X Y Z : C} (f g : X ⟶ Y) (h : Z ⊗ Y ⟶ W)
     (wh : (𝟙 Z ⊗ f) ≫ h = (𝟙 Z ⊗ g) ≫ h) :
     (𝟙 Z ⊗ coequalizer.π f g) ≫
@@ -46,6 +47,7 @@ theorem id_tensor_π_preserves_coequalizer_inv_desc {W X Y Z : C} (f g : X ⟶ Y
       h :=
   map_π_preserves_coequalizer_inv_desc (tensorLeft Z) f g h wh
 #align id_tensor_π_preserves_coequalizer_inv_desc id_tensor_π_preserves_coequalizer_inv_desc
+-/
 
 /- ./././Mathport/Syntax/Translate/Expr.lean:177:8: unsupported: ambiguous notation -/
 /- ./././Mathport/Syntax/Translate/Expr.lean:177:8: unsupported: ambiguous notation -/
@@ -54,6 +56,7 @@ theorem id_tensor_π_preserves_coequalizer_inv_desc {W X Y Z : C} (f g : X ⟶ Y
 /- ./././Mathport/Syntax/Translate/Expr.lean:177:8: unsupported: ambiguous notation -/
 /- ./././Mathport/Syntax/Translate/Expr.lean:177:8: unsupported: ambiguous notation -/
 /- ./././Mathport/Syntax/Translate/Expr.lean:177:8: unsupported: ambiguous notation -/
+#print id_tensor_π_preserves_coequalizer_inv_colimMap_desc /-
 theorem id_tensor_π_preserves_coequalizer_inv_colimMap_desc {X Y Z X' Y' Z' : C} (f g : X ⟶ Y)
     (f' g' : X' ⟶ Y') (p : Z ⊗ X ⟶ X') (q : Z ⊗ Y ⟶ Y') (wf : (𝟙 Z ⊗ f) ≫ q = p ≫ f')
     (wg : (𝟙 Z ⊗ g) ≫ q = p ≫ g') (h : Y' ⟶ Z') (wh : f' ≫ h = g' ≫ h) :
@@ -63,6 +66,7 @@ theorem id_tensor_π_preserves_coequalizer_inv_colimMap_desc {X Y Z X' Y' Z' : C
       q ≫ h :=
   map_π_preserves_coequalizer_inv_colimMap_desc (tensorLeft Z) f g f' g' p q wf wg h wh
 #align id_tensor_π_preserves_coequalizer_inv_colim_map_desc id_tensor_π_preserves_coequalizer_inv_colimMap_desc
+-/
 
 end
 
@@ -74,6 +78,7 @@ variable [∀ X : C, PreservesColimitsOfSize.{0, 0} (tensorRight X)]
 /- ./././Mathport/Syntax/Translate/Expr.lean:177:8: unsupported: ambiguous notation -/
 /- ./././Mathport/Syntax/Translate/Expr.lean:177:8: unsupported: ambiguous notation -/
 /- ./././Mathport/Syntax/Translate/Expr.lean:177:8: unsupported: ambiguous notation -/
+#print π_tensor_id_preserves_coequalizer_inv_desc /-
 theorem π_tensor_id_preserves_coequalizer_inv_desc {W X Y Z : C} (f g : X ⟶ Y) (h : Y ⊗ Z ⟶ W)
     (wh : (f ⊗ 𝟙 Z) ≫ h = (g ⊗ 𝟙 Z) ≫ h) :
     (coequalizer.π f g ⊗ 𝟙 Z) ≫
@@ -81,6 +86,7 @@ theorem π_tensor_id_preserves_coequalizer_inv_desc {W X Y Z : C} (f g : X ⟶ Y
       h :=
   map_π_preserves_coequalizer_inv_desc (tensorRight Z) f g h wh
 #align π_tensor_id_preserves_coequalizer_inv_desc π_tensor_id_preserves_coequalizer_inv_desc
+-/
 
 /- ./././Mathport/Syntax/Translate/Expr.lean:177:8: unsupported: ambiguous notation -/
 /- ./././Mathport/Syntax/Translate/Expr.lean:177:8: unsupported: ambiguous notation -/
@@ -89,6 +95,7 @@ theorem π_tensor_id_preserves_coequalizer_inv_desc {W X Y Z : C} (f g : X ⟶ Y
 /- ./././Mathport/Syntax/Translate/Expr.lean:177:8: unsupported: ambiguous notation -/
 /- ./././Mathport/Syntax/Translate/Expr.lean:177:8: unsupported: ambiguous notation -/
 /- ./././Mathport/Syntax/Translate/Expr.lean:177:8: unsupported: ambiguous notation -/
+#print π_tensor_id_preserves_coequalizer_inv_colimMap_desc /-
 theorem π_tensor_id_preserves_coequalizer_inv_colimMap_desc {X Y Z X' Y' Z' : C} (f g : X ⟶ Y)
     (f' g' : X' ⟶ Y') (p : X ⊗ Z ⟶ X') (q : Y ⊗ Z ⟶ Y') (wf : (f ⊗ 𝟙 Z) ≫ q = p ≫ f')
     (wg : (g ⊗ 𝟙 Z) ≫ q = p ≫ g') (h : Y' ⟶ Z') (wh : f' ≫ h = g' ≫ h) :
@@ -98,11 +105,13 @@ theorem π_tensor_id_preserves_coequalizer_inv_colimMap_desc {X Y Z X' Y' Z' : C
       q ≫ h :=
   map_π_preserves_coequalizer_inv_colimMap_desc (tensorRight Z) f g f' g' p q wf wg h wh
 #align π_tensor_id_preserves_coequalizer_inv_colim_map_desc π_tensor_id_preserves_coequalizer_inv_colimMap_desc
+-/
 
 end
 
 end
 
+#print Bimod /-
 /- ./././Mathport/Syntax/Translate/Expr.lean:177:8: unsupported: ambiguous notation -/
 /- ./././Mathport/Syntax/Translate/Expr.lean:177:8: unsupported: ambiguous notation -/
 /- ./././Mathport/Syntax/Translate/Expr.lean:177:8: unsupported: ambiguous notation -/
@@ -129,6 +138,7 @@ structure Bimod (A B : Mon_ C) where
     (act_left ⊗ 𝟙 B.pt) ≫ act_right = (α_ A.pt X B.pt).Hom ≫ (𝟙 A.pt ⊗ act_right) ≫ act_left := by
     obviously
 #align Bimod Bimod
+-/
 
 restate_axiom Bimod.one_act_left'
 
@@ -147,6 +157,7 @@ namespace Bimod
 
 variable {A B : Mon_ C} (M : Bimod A B)
 
+#print Bimod.Hom /-
 /- ./././Mathport/Syntax/Translate/Expr.lean:177:8: unsupported: ambiguous notation -/
 /- ./././Mathport/Syntax/Translate/Expr.lean:177:8: unsupported: ambiguous notation -/
 /-- A morphism of bimodule objects. -/
@@ -156,6 +167,7 @@ structure Hom (M N : Bimod A B) where
   left_act_hom' : M.actLeft ≫ hom = (𝟙 A.pt ⊗ hom) ≫ N.actLeft := by obviously
   right_act_hom' : M.actRight ≫ hom = (hom ⊗ 𝟙 B.pt) ≫ N.actRight := by obviously
 #align Bimod.hom Bimod.Hom
+-/
 
 restate_axiom hom.left_act_hom'
 
@@ -163,38 +175,49 @@ restate_axiom hom.right_act_hom'
 
 attribute [simp, reassoc] hom.left_act_hom hom.right_act_hom
 
+#print Bimod.id' /-
 /-- The identity morphism on a bimodule object. -/
 @[simps]
 def id' (M : Bimod A B) : Hom M M where Hom := 𝟙 M.pt
 #align Bimod.id' Bimod.id'
+-/
 
+#print Bimod.homInhabited /-
 instance homInhabited (M : Bimod A B) : Inhabited (Hom M M) :=
   ⟨id' M⟩
 #align Bimod.hom_inhabited Bimod.homInhabited
+-/
 
+#print Bimod.comp /-
 /-- Composition of bimodule object morphisms. -/
 @[simps]
 def comp {M N O : Bimod A B} (f : Hom M N) (g : Hom N O) : Hom M O where Hom := f.Hom ≫ g.Hom
 #align Bimod.comp Bimod.comp
+-/
 
 instance : Category (Bimod A B) where
   Hom M N := Hom M N
   id := id'
   comp M N O f g := comp f g
 
+#print Bimod.id_hom' /-
 @[simp]
 theorem id_hom' (M : Bimod A B) : (𝟙 M : Hom M M).Hom = 𝟙 M.pt :=
   rfl
 #align Bimod.id_hom' Bimod.id_hom'
+-/
 
+#print Bimod.comp_hom' /-
 @[simp]
 theorem comp_hom' {M N K : Bimod A B} (f : M ⟶ N) (g : N ⟶ K) :
     (f ≫ g : Hom M K).Hom = f.Hom ≫ g.Hom :=
   rfl
 #align Bimod.comp_hom' Bimod.comp_hom'
+-/
 
 /- ./././Mathport/Syntax/Translate/Expr.lean:177:8: unsupported: ambiguous notation -/
 /- ./././Mathport/Syntax/Translate/Expr.lean:177:8: unsupported: ambiguous notation -/
+#print Bimod.isoOfIso /-
 /-- Construct an isomorphism of bimodules by giving an isomorphism between the underlying objects
 and checking compatibility with left and right actions only in the forward direction.
 -/
@@ -217,9 +240,11 @@ def isoOfIso {X Y : Mon_ C} {P Q : Bimod X Y} (f : P.pt ≅ Q.pt)
   hom_inv_id' := by ext; dsimp; rw [iso.hom_inv_id]
   inv_hom_id' := by ext; dsimp; rw [iso.inv_hom_id]
 #align Bimod.iso_of_iso Bimod.isoOfIso
+-/
 
 variable (A)
 
+#print Bimod.regular /-
 /-- A monoid object as a bimodule over itself. -/
 @[simps]
 def regular : Bimod A A where
@@ -227,15 +252,18 @@ def regular : Bimod A A where
   actLeft := A.mul
   actRight := A.mul
 #align Bimod.regular Bimod.regular
+-/
 
 instance : Inhabited (Bimod A A) :=
   ⟨regular A⟩
 
+#print Bimod.forget /-
 /-- The forgetful functor from bimodule objects to the ambient category. -/
 def forget : Bimod A B ⥤ C where
   obj A := A.pt
   map A B f := f.Hom
 #align Bimod.forget Bimod.forget
+-/
 
 open CategoryTheory.Limits
 
@@ -247,10 +275,12 @@ variable {R S T : Mon_ C} (P : Bimod R S) (Q : Bimod S T)
 
 /- ./././Mathport/Syntax/Translate/Expr.lean:177:8: unsupported: ambiguous notation -/
 /- ./././Mathport/Syntax/Translate/Expr.lean:177:8: unsupported: ambiguous notation -/
+#print Bimod.TensorBimod.X /-
 /-- The underlying object of the tensor product of two bimodules. -/
-noncomputable def x : C :=
+noncomputable def X : C :=
   coequalizer (P.actRight ⊗ 𝟙 Q.pt) ((α_ _ _ _).Hom ≫ (𝟙 P.pt ⊗ Q.actLeft))
-#align Bimod.tensor_Bimod.X Bimod.TensorBimod.x
+#align Bimod.tensor_Bimod.X Bimod.TensorBimod.X
+-/
 
 section
 
@@ -261,8 +291,9 @@ variable [∀ X : C, PreservesColimitsOfSize.{0, 0} (tensorLeft X)]
 /- ./././Mathport/Syntax/Translate/Expr.lean:177:8: unsupported: ambiguous notation -/
 /- ./././Mathport/Syntax/Translate/Expr.lean:177:8: unsupported: ambiguous notation -/
 /- ./././Mathport/Syntax/Translate/Expr.lean:177:8: unsupported: ambiguous notation -/
+#print Bimod.TensorBimod.actLeft /-
 /-- Left action for the tensor product of two bimodules. -/
-noncomputable def actLeft : R.pt ⊗ x P Q ⟶ x P Q :=
+noncomputable def actLeft : R.pt ⊗ X P Q ⟶ X P Q :=
   (PreservesCoequalizer.iso (tensorLeft R.pt) _ _).inv ≫
     colimMap
       (parallelPairHom _ _ _ _
@@ -282,9 +313,11 @@ noncomputable def actLeft : R.pt ⊗ x P Q ⟶ x P Q :=
           slice_rhs 4 6 => rw [iso.inv_hom_id_assoc]
           slice_rhs 3 4 => rw [tensor_id, tensor_id_comp_id_tensor]))
 #align Bimod.tensor_Bimod.act_left Bimod.TensorBimod.actLeft
+-/
 
 /- ./././Mathport/Syntax/Translate/Expr.lean:177:8: unsupported: ambiguous notation -/
 /- ./././Mathport/Syntax/Translate/Expr.lean:177:8: unsupported: ambiguous notation -/
+#print Bimod.TensorBimod.id_tensor_π_actLeft /-
 theorem id_tensor_π_actLeft :
     (𝟙 R.pt ⊗ coequalizer.π _ _) ≫ actLeft P Q =
       (α_ _ _ _).inv ≫ (P.actLeft ⊗ 𝟙 Q.pt) ≫ coequalizer.π _ _ :=
@@ -292,8 +325,10 @@ theorem id_tensor_π_actLeft :
   erw [map_π_preserves_coequalizer_inv_colim_map (tensor_left _)]
   simp only [category.assoc]
 #align Bimod.tensor_Bimod.id_tensor_π_act_left Bimod.TensorBimod.id_tensor_π_actLeft
+-/
 
 /- ./././Mathport/Syntax/Translate/Expr.lean:177:8: unsupported: ambiguous notation -/
+#print Bimod.TensorBimod.one_act_left' /-
 theorem one_act_left' : (R.one ⊗ 𝟙 _) ≫ actLeft P Q = (λ_ _).Hom :=
   by
   refine' (cancel_epi ((tensor_left _).map (coequalizer.π _ _))).1 _
@@ -305,9 +340,11 @@ theorem one_act_left' : (R.one ⊗ 𝟙 _) ≫ actLeft P Q = (λ_ _).Hom :=
   slice_rhs 1 2 => rw [left_unitor_naturality]
   coherence
 #align Bimod.tensor_Bimod.one_act_left' Bimod.TensorBimod.one_act_left'
+-/
 
 /- ./././Mathport/Syntax/Translate/Expr.lean:177:8: unsupported: ambiguous notation -/
 /- ./././Mathport/Syntax/Translate/Expr.lean:177:8: unsupported: ambiguous notation -/
+#print Bimod.TensorBimod.left_assoc' /-
 theorem left_assoc' :
     (R.mul ⊗ 𝟙 _) ≫ actLeft P Q = (α_ R.pt R.pt _).Hom ≫ (𝟙 R.pt ⊗ actLeft P Q) ≫ actLeft P Q :=
   by
@@ -323,6 +360,7 @@ theorem left_assoc' :
   slice_rhs 3 4 => rw [associator_inv_naturality]
   coherence
 #align Bimod.tensor_Bimod.left_assoc' Bimod.TensorBimod.left_assoc'
+-/
 
 end
 
@@ -334,8 +372,9 @@ variable [∀ X : C, PreservesColimitsOfSize.{0, 0} (tensorRight X)]
 /- ./././Mathport/Syntax/Translate/Expr.lean:177:8: unsupported: ambiguous notation -/
 /- ./././Mathport/Syntax/Translate/Expr.lean:177:8: unsupported: ambiguous notation -/
 /- ./././Mathport/Syntax/Translate/Expr.lean:177:8: unsupported: ambiguous notation -/
+#print Bimod.TensorBimod.actRight /-
 /-- Right action for the tensor product of two bimodules. -/
-noncomputable def actRight : x P Q ⊗ T.pt ⟶ x P Q :=
+noncomputable def actRight : X P Q ⊗ T.pt ⟶ X P Q :=
   (PreservesCoequalizer.iso (tensorRight T.pt) _ _).inv ≫
     colimMap
       (parallelPairHom _ _ _ _
@@ -357,9 +396,11 @@ noncomputable def actRight : x P Q ⊗ T.pt ⟶ x P Q :=
           slice_rhs 3 4 => rw [← id_tensor_comp]
           coherence))
 #align Bimod.tensor_Bimod.act_right Bimod.TensorBimod.actRight
+-/
 
 /- ./././Mathport/Syntax/Translate/Expr.lean:177:8: unsupported: ambiguous notation -/
 /- ./././Mathport/Syntax/Translate/Expr.lean:177:8: unsupported: ambiguous notation -/
+#print Bimod.TensorBimod.π_tensor_id_actRight /-
 theorem π_tensor_id_actRight :
     (coequalizer.π _ _ ⊗ 𝟙 T.pt) ≫ actRight P Q =
       (α_ _ _ _).Hom ≫ (𝟙 P.pt ⊗ Q.actRight) ≫ coequalizer.π _ _ :=
@@ -367,8 +408,10 @@ theorem π_tensor_id_actRight :
   erw [map_π_preserves_coequalizer_inv_colim_map (tensor_right _)]
   simp only [category.assoc]
 #align Bimod.tensor_Bimod.π_tensor_id_act_right Bimod.TensorBimod.π_tensor_id_actRight
+-/
 
 /- ./././Mathport/Syntax/Translate/Expr.lean:177:8: unsupported: ambiguous notation -/
+#print Bimod.TensorBimod.actRight_one' /-
 theorem actRight_one' : (𝟙 _ ⊗ T.one) ≫ actRight P Q = (ρ_ _).Hom :=
   by
   refine' (cancel_epi ((tensor_right _).map (coequalizer.π _ _))).1 _
@@ -380,9 +423,11 @@ theorem actRight_one' : (𝟙 _ ⊗ T.one) ≫ actRight P Q = (ρ_ _).Hom :=
   slice_rhs 1 2 => rw [right_unitor_naturality]
   coherence
 #align Bimod.tensor_Bimod.act_right_one' Bimod.TensorBimod.actRight_one'
+-/
 
 /- ./././Mathport/Syntax/Translate/Expr.lean:177:8: unsupported: ambiguous notation -/
 /- ./././Mathport/Syntax/Translate/Expr.lean:177:8: unsupported: ambiguous notation -/
+#print Bimod.TensorBimod.right_assoc' /-
 theorem right_assoc' :
     (𝟙 _ ⊗ T.mul) ≫ actRight P Q = (α_ _ T.pt T.pt).inv ≫ (actRight P Q ⊗ 𝟙 T.pt) ≫ actRight P Q :=
   by
@@ -398,6 +443,7 @@ theorem right_assoc' :
   slice_rhs 3 4 => rw [associator_naturality]
   coherence
 #align Bimod.tensor_Bimod.right_assoc' Bimod.TensorBimod.right_assoc'
+-/
 
 end
 
@@ -409,6 +455,7 @@ variable [∀ X : C, PreservesColimitsOfSize.{0, 0} (tensorRight X)]
 
 /- ./././Mathport/Syntax/Translate/Expr.lean:177:8: unsupported: ambiguous notation -/
 /- ./././Mathport/Syntax/Translate/Expr.lean:177:8: unsupported: ambiguous notation -/
+#print Bimod.TensorBimod.middle_assoc' /-
 theorem middle_assoc' :
     (actLeft P Q ⊗ 𝟙 T.pt) ≫ actRight P Q =
       (α_ R.pt _ T.pt).Hom ≫ (𝟙 R.pt ⊗ actRight P Q) ≫ actLeft P Q :=
@@ -426,6 +473,7 @@ theorem middle_assoc' :
   slice_rhs 4 5 => rw [monoidal_category.tensor_id, id_tensor_comp_tensor_id]
   coherence
 #align Bimod.tensor_Bimod.middle_assoc' Bimod.TensorBimod.middle_assoc'
+-/
 
 end
 
@@ -437,11 +485,12 @@ variable [∀ X : C, PreservesColimitsOfSize.{0, 0} (tensorLeft X)]
 
 variable [∀ X : C, PreservesColimitsOfSize.{0, 0} (tensorRight X)]
 
+#print Bimod.tensorBimod /-
 /-- Tensor product of two bimodule objects as a bimodule object. -/
 @[simps]
 noncomputable def tensorBimod {X Y Z : Mon_ C} (M : Bimod X Y) (N : Bimod Y Z) : Bimod X Z
     where
-  pt := TensorBimod.x M N
+  pt := TensorBimod.X M N
   actLeft := TensorBimod.actLeft M N
   actRight := TensorBimod.actRight M N
   one_act_left' := TensorBimod.one_act_left' M N
@@ -450,10 +499,12 @@ noncomputable def tensorBimod {X Y Z : Mon_ C} (M : Bimod X Y) (N : Bimod Y Z) :
   right_assoc' := TensorBimod.right_assoc' M N
   middle_assoc' := TensorBimod.middle_assoc' M N
 #align Bimod.tensor_Bimod Bimod.tensorBimod
+-/
 
 /- ./././Mathport/Syntax/Translate/Expr.lean:177:8: unsupported: ambiguous notation -/
 /- ./././Mathport/Syntax/Translate/Expr.lean:177:8: unsupported: ambiguous notation -/
 /- ./././Mathport/Syntax/Translate/Expr.lean:177:8: unsupported: ambiguous notation -/
+#print Bimod.tensorHom /-
 /-- Tensor product of two morphisms of bimodule objects. -/
 @[simps]
 noncomputable def tensorHom {X Y Z : Mon_ C} {M₁ M₂ : Bimod X Y} {N₁ N₂ : Bimod Y Z} (f : M₁ ⟶ M₂)
@@ -491,7 +542,9 @@ noncomputable def tensorHom {X Y Z : Mon_ C} {M₁ M₂ : Bimod X Y} {N₁ N₂
     slice_rhs 1 2 => rw [associator_naturality]
     slice_rhs 2 3 => rw [← tensor_comp, category.comp_id]
 #align Bimod.tensor_hom Bimod.tensorHom
+-/
 
+#print Bimod.tensor_id /-
 theorem tensor_id {X Y Z : Mon_ C} {M : Bimod X Y} {N : Bimod Y Z} :
     tensorHom (𝟙 M) (𝟙 N) = 𝟙 (M.tensorBimod N) :=
   by
@@ -500,7 +553,9 @@ theorem tensor_id {X Y Z : Mon_ C} {M : Bimod X Y} {N : Bimod Y Z} :
   dsimp; dsimp only [tensor_Bimod.X]
   simp only [category.id_comp, category.comp_id]
 #align Bimod.tensor_id Bimod.tensor_id
+-/
 
+#print Bimod.tensor_comp /-
 theorem tensor_comp {X Y Z : Mon_ C} {M₁ M₂ M₃ : Bimod X Y} {N₁ N₂ N₃ : Bimod Y Z} (f₁ : M₁ ⟶ M₂)
     (f₂ : M₂ ⟶ M₃) (g₁ : N₁ ⟶ N₂) (g₂ : N₂ ⟶ N₃) :
     tensorHom (f₁ ≫ f₂) (g₁ ≫ g₂) = tensorHom f₁ g₁ ≫ tensorHom f₂ g₂ :=
@@ -509,6 +564,7 @@ theorem tensor_comp {X Y Z : Mon_ C} {M₁ M₂ M₃ : Bimod X Y} {N₁ N₂ N
   simp only [comp_hom', tensor_comp, tensor_hom_hom, ι_colim_map, parallel_pair_hom_app_one,
     category.assoc, ι_colim_map_assoc]
 #align Bimod.tensor_comp Bimod.tensor_comp
+-/
 
 end
 
@@ -522,6 +578,7 @@ variable {R S T U : Mon_ C} (P : Bimod R S) (Q : Bimod S T) (L : Bimod T U)
 
 /- ./././Mathport/Syntax/Translate/Expr.lean:177:8: unsupported: ambiguous notation -/
 /- ./././Mathport/Syntax/Translate/Expr.lean:177:8: unsupported: ambiguous notation -/
+#print Bimod.AssociatorBimod.homAux /-
 /-- An auxiliary morphism for the definition of the underlying morphism of the forward component of
 the associator isomorphism. -/
 noncomputable def homAux : (P.tensorBimod Q).pt ⊗ L.pt ⟶ (P.tensorBimod (Q.tensorBimod L)).pt :=
@@ -540,7 +597,9 @@ noncomputable def homAux : (P.tensorBimod Q).pt ⊗ L.pt ⟶ (P.tensorBimod (Q.t
         slice_rhs 3 4 => rw [← id_tensor_comp]
         coherence)
 #align Bimod.associator_Bimod.hom_aux Bimod.AssociatorBimod.homAux
+-/
 
+#print Bimod.AssociatorBimod.hom /-
 /-- The underlying morphism of the forward component of the associator isomorphism. -/
 noncomputable def hom :
     ((P.tensorBimod Q).tensorBimod L).pt ⟶ (P.tensorBimod (Q.tensorBimod L)).pt :=
@@ -561,8 +620,10 @@ noncomputable def hom :
       slice_rhs 2 3 => rw [← monoidal_category.tensor_id, associator_naturality]
       coherence)
 #align Bimod.associator_Bimod.hom Bimod.AssociatorBimod.hom
+-/
 
 /- ./././Mathport/Syntax/Translate/Expr.lean:177:8: unsupported: ambiguous notation -/
+#print Bimod.AssociatorBimod.hom_left_act_hom' /-
 theorem hom_left_act_hom' :
     ((P.tensorBimod Q).tensorBimod L).actLeft ≫ hom P Q L =
       (𝟙 R.pt ⊗ hom P Q L) ≫ (P.tensorBimod (Q.tensorBimod L)).actLeft :=
@@ -589,8 +650,10 @@ theorem hom_left_act_hom' :
   slice_rhs 3 4 => erw [monoidal_category.tensor_id, id_tensor_comp_tensor_id]
   coherence
 #align Bimod.associator_Bimod.hom_left_act_hom' Bimod.AssociatorBimod.hom_left_act_hom'
+-/
 
 /- ./././Mathport/Syntax/Translate/Expr.lean:177:8: unsupported: ambiguous notation -/
+#print Bimod.AssociatorBimod.hom_right_act_hom' /-
 theorem hom_right_act_hom' :
     ((P.tensorBimod Q).tensorBimod L).actRight ≫ hom P Q L =
       (hom P Q L ⊗ 𝟙 U.pt) ≫ (P.tensorBimod (Q.tensorBimod L)).actRight :=
@@ -618,10 +681,12 @@ theorem hom_right_act_hom' :
     rw [← id_tensor_comp, tensor_Bimod.π_tensor_id_act_right, id_tensor_comp, id_tensor_comp]
   coherence
 #align Bimod.associator_Bimod.hom_right_act_hom' Bimod.AssociatorBimod.hom_right_act_hom'
+-/
 
 /- ./././Mathport/Syntax/Translate/Expr.lean:177:8: unsupported: ambiguous notation -/
 /- ./././Mathport/Syntax/Translate/Expr.lean:177:8: unsupported: ambiguous notation -/
 /- ./././Mathport/Syntax/Translate/Expr.lean:177:8: unsupported: ambiguous notation -/
+#print Bimod.AssociatorBimod.invAux /-
 /-- An auxiliary morphism for the definition of the underlying morphism of the inverse component of
 the associator isomorphism. -/
 noncomputable def invAux : P.pt ⊗ (Q.tensorBimod L).pt ⟶ ((P.tensorBimod Q).tensorBimod L).pt :=
@@ -642,7 +707,9 @@ noncomputable def invAux : P.pt ⊗ (Q.tensorBimod L).pt ⟶ ((P.tensorBimod Q).
         slice_rhs 3 4 => rw [monoidal_category.tensor_id, id_tensor_comp_tensor_id]
         coherence)
 #align Bimod.associator_Bimod.inv_aux Bimod.AssociatorBimod.invAux
+-/
 
+#print Bimod.AssociatorBimod.inv /-
 /-- The underlying morphism of the inverse component of the associator isomorphism. -/
 noncomputable def inv :
     (P.tensorBimod (Q.tensorBimod L)).pt ⟶ ((P.tensorBimod Q).tensorBimod L).pt :=
@@ -662,7 +729,9 @@ noncomputable def inv :
       slice_rhs 3 4 => rw [associator_inv_naturality]
       coherence)
 #align Bimod.associator_Bimod.inv Bimod.AssociatorBimod.inv
+-/
 
+#print Bimod.AssociatorBimod.hom_inv_id /-
 theorem hom_inv_id : hom P Q L ≫ inv P Q L = 𝟙 _ :=
   by
   dsimp [hom, hom_aux, inv, inv_aux]
@@ -678,7 +747,9 @@ theorem hom_inv_id : hom P Q L ≫ inv P Q L = 𝟙 _ :=
   slice_rhs 2 3 => rw [category.comp_id]
   rfl
 #align Bimod.associator_Bimod.hom_inv_id Bimod.AssociatorBimod.hom_inv_id
+-/
 
+#print Bimod.AssociatorBimod.inv_hom_id /-
 theorem inv_hom_id : inv P Q L ≫ hom P Q L = 𝟙 _ :=
   by
   dsimp [hom, hom_aux, inv, inv_aux]
@@ -694,6 +765,7 @@ theorem inv_hom_id : inv P Q L ≫ hom P Q L = 𝟙 _ :=
   slice_rhs 2 3 => rw [category.comp_id]
   rfl
 #align Bimod.associator_Bimod.inv_hom_id Bimod.AssociatorBimod.inv_hom_id
+-/
 
 end AssociatorBimod
 
@@ -701,18 +773,23 @@ namespace LeftUnitorBimod
 
 variable {R S : Mon_ C} (P : Bimod R S)
 
+#print Bimod.LeftUnitorBimod.hom /-
 /-- The underlying morphism of the forward component of the left unitor isomorphism. -/
-noncomputable def hom : TensorBimod.x (regular R) P ⟶ P.pt :=
+noncomputable def hom : TensorBimod.X (regular R) P ⟶ P.pt :=
   coequalizer.desc P.actLeft (by dsimp; rw [category.assoc, left_assoc])
 #align Bimod.left_unitor_Bimod.hom Bimod.LeftUnitorBimod.hom
+-/
 
 /- ./././Mathport/Syntax/Translate/Expr.lean:177:8: unsupported: ambiguous notation -/
+#print Bimod.LeftUnitorBimod.inv /-
 /-- The underlying morphism of the inverse component of the left unitor isomorphism. -/
-noncomputable def inv : P.pt ⟶ TensorBimod.x (regular R) P :=
+noncomputable def inv : P.pt ⟶ TensorBimod.X (regular R) P :=
   (λ_ P.pt).inv ≫ (R.one ⊗ 𝟙 _) ≫ coequalizer.π _ _
 #align Bimod.left_unitor_Bimod.inv Bimod.LeftUnitorBimod.inv
+-/
 
 /- ./././Mathport/Syntax/Translate/Expr.lean:177:8: unsupported: ambiguous notation -/
+#print Bimod.LeftUnitorBimod.hom_inv_id /-
 theorem hom_inv_id : hom P ≫ inv P = 𝟙 _ :=
   by
   dsimp only [hom, inv, tensor_Bimod.X]
@@ -727,19 +804,23 @@ theorem hom_inv_id : hom P ≫ inv P = 𝟙 _ :=
   slice_rhs 1 2 => rw [category.comp_id]
   coherence
 #align Bimod.left_unitor_Bimod.hom_inv_id Bimod.LeftUnitorBimod.hom_inv_id
+-/
 
+#print Bimod.LeftUnitorBimod.inv_hom_id /-
 theorem inv_hom_id : inv P ≫ hom P = 𝟙 _ :=
   by
   dsimp [hom, inv]
   slice_lhs 3 4 => rw [coequalizer.π_desc]
   rw [one_act_left, iso.inv_hom_id]
 #align Bimod.left_unitor_Bimod.inv_hom_id Bimod.LeftUnitorBimod.inv_hom_id
+-/
 
 variable [∀ X : C, PreservesColimitsOfSize.{0, 0} (tensorLeft X)]
 
 variable [∀ X : C, PreservesColimitsOfSize.{0, 0} (tensorRight X)]
 
 /- ./././Mathport/Syntax/Translate/Expr.lean:177:8: unsupported: ambiguous notation -/
+#print Bimod.LeftUnitorBimod.hom_left_act_hom' /-
 theorem hom_left_act_hom' :
     ((regular R).tensorBimod P).actLeft ≫ hom P = (𝟙 R.pt ⊗ hom P) ≫ P.actLeft :=
   by
@@ -751,8 +832,10 @@ theorem hom_left_act_hom' :
   slice_rhs 1 2 => rw [← id_tensor_comp, coequalizer.π_desc]
   rw [iso.inv_hom_id_assoc]
 #align Bimod.left_unitor_Bimod.hom_left_act_hom' Bimod.LeftUnitorBimod.hom_left_act_hom'
+-/
 
 /- ./././Mathport/Syntax/Translate/Expr.lean:177:8: unsupported: ambiguous notation -/
+#print Bimod.LeftUnitorBimod.hom_right_act_hom' /-
 theorem hom_right_act_hom' :
     ((regular R).tensorBimod P).actRight ≫ hom P = (hom P ⊗ 𝟙 S.pt) ≫ P.actRight :=
   by
@@ -764,6 +847,7 @@ theorem hom_right_act_hom' :
   slice_rhs 1 2 => rw [middle_assoc]
   simp only [category.assoc]
 #align Bimod.left_unitor_Bimod.hom_right_act_hom' Bimod.LeftUnitorBimod.hom_right_act_hom'
+-/
 
 end LeftUnitorBimod
 
@@ -771,17 +855,22 @@ namespace RightUnitorBimod
 
 variable {R S : Mon_ C} (P : Bimod R S)
 
+#print Bimod.RightUnitorBimod.hom /-
 /-- The underlying morphism of the forward component of the right unitor isomorphism. -/
-noncomputable def hom : TensorBimod.x P (regular S) ⟶ P.pt :=
+noncomputable def hom : TensorBimod.X P (regular S) ⟶ P.pt :=
   coequalizer.desc P.actRight (by dsimp; rw [category.assoc, right_assoc, iso.hom_inv_id_assoc])
 #align Bimod.right_unitor_Bimod.hom Bimod.RightUnitorBimod.hom
+-/
 
 /- ./././Mathport/Syntax/Translate/Expr.lean:177:8: unsupported: ambiguous notation -/
+#print Bimod.RightUnitorBimod.inv /-
 /-- The underlying morphism of the inverse component of the right unitor isomorphism. -/
-noncomputable def inv : P.pt ⟶ TensorBimod.x P (regular S) :=
+noncomputable def inv : P.pt ⟶ TensorBimod.X P (regular S) :=
   (ρ_ P.pt).inv ≫ (𝟙 _ ⊗ S.one) ≫ coequalizer.π _ _
 #align Bimod.right_unitor_Bimod.inv Bimod.RightUnitorBimod.inv
+-/
 
+#print Bimod.RightUnitorBimod.hom_inv_id /-
 theorem hom_inv_id : hom P ≫ inv P = 𝟙 _ :=
   by
   dsimp only [hom, inv, tensor_Bimod.X]
@@ -795,19 +884,23 @@ theorem hom_inv_id : hom P ≫ inv P = 𝟙 _ :=
   slice_rhs 1 2 => rw [category.comp_id]
   coherence
 #align Bimod.right_unitor_Bimod.hom_inv_id Bimod.RightUnitorBimod.hom_inv_id
+-/
 
+#print Bimod.RightUnitorBimod.inv_hom_id /-
 theorem inv_hom_id : inv P ≫ hom P = 𝟙 _ :=
   by
   dsimp [hom, inv]
   slice_lhs 3 4 => rw [coequalizer.π_desc]
   rw [act_right_one, iso.inv_hom_id]
 #align Bimod.right_unitor_Bimod.inv_hom_id Bimod.RightUnitorBimod.inv_hom_id
+-/
 
 variable [∀ X : C, PreservesColimitsOfSize.{0, 0} (tensorLeft X)]
 
 variable [∀ X : C, PreservesColimitsOfSize.{0, 0} (tensorRight X)]
 
 /- ./././Mathport/Syntax/Translate/Expr.lean:177:8: unsupported: ambiguous notation -/
+#print Bimod.RightUnitorBimod.hom_left_act_hom' /-
 theorem hom_left_act_hom' :
     (P.tensorBimod (regular S)).actLeft ≫ hom P = (𝟙 R.pt ⊗ hom P) ≫ P.actLeft :=
   by
@@ -819,8 +912,10 @@ theorem hom_left_act_hom' :
   slice_rhs 1 2 => rw [← id_tensor_comp, coequalizer.π_desc]
   rw [iso.inv_hom_id_assoc]
 #align Bimod.right_unitor_Bimod.hom_left_act_hom' Bimod.RightUnitorBimod.hom_left_act_hom'
+-/
 
 /- ./././Mathport/Syntax/Translate/Expr.lean:177:8: unsupported: ambiguous notation -/
+#print Bimod.RightUnitorBimod.hom_right_act_hom' /-
 theorem hom_right_act_hom' :
     (P.tensorBimod (regular S)).actRight ≫ hom P = (hom P ⊗ 𝟙 S.pt) ≫ P.actRight :=
   by
@@ -832,6 +927,7 @@ theorem hom_right_act_hom' :
   slice_rhs 1 2 => rw [← comp_tensor_id, coequalizer.π_desc]
   rw [iso.hom_inv_id_assoc]
 #align Bimod.right_unitor_Bimod.hom_right_act_hom' Bimod.RightUnitorBimod.hom_right_act_hom'
+-/
 
 end RightUnitorBimod
 
@@ -839,6 +935,7 @@ variable [∀ X : C, PreservesColimitsOfSize.{0, 0} (tensorLeft X)]
 
 variable [∀ X : C, PreservesColimitsOfSize.{0, 0} (tensorRight X)]
 
+#print Bimod.associatorBimod /-
 /-- The associator as a bimodule isomorphism. -/
 noncomputable def associatorBimod {W X Y Z : Mon_ C} (L : Bimod W X) (M : Bimod X Y)
     (N : Bimod Y Z) : (L.tensorBimod M).tensorBimod N ≅ L.tensorBimod (M.tensorBimod N) :=
@@ -849,7 +946,9 @@ noncomputable def associatorBimod {W X Y Z : Mon_ C} (L : Bimod W X) (M : Bimod
       inv_hom_id' := AssociatorBimod.inv_hom_id L M N } (AssociatorBimod.hom_left_act_hom' L M N)
     (AssociatorBimod.hom_right_act_hom' L M N)
 #align Bimod.associator_Bimod Bimod.associatorBimod
+-/
 
+#print Bimod.leftUnitorBimod /-
 /-- The left unitor as a bimodule isomorphism. -/
 noncomputable def leftUnitorBimod {X Y : Mon_ C} (M : Bimod X Y) : (regular X).tensorBimod M ≅ M :=
   isoOfIso
@@ -859,7 +958,9 @@ noncomputable def leftUnitorBimod {X Y : Mon_ C} (M : Bimod X Y) : (regular X).t
       inv_hom_id' := LeftUnitorBimod.inv_hom_id M } (LeftUnitorBimod.hom_left_act_hom' M)
     (LeftUnitorBimod.hom_right_act_hom' M)
 #align Bimod.left_unitor_Bimod Bimod.leftUnitorBimod
+-/
 
+#print Bimod.rightUnitorBimod /-
 /-- The right unitor as a bimodule isomorphism. -/
 noncomputable def rightUnitorBimod {X Y : Mon_ C} (M : Bimod X Y) : M.tensorBimod (regular Y) ≅ M :=
   isoOfIso
@@ -869,15 +970,19 @@ noncomputable def rightUnitorBimod {X Y : Mon_ C} (M : Bimod X Y) : M.tensorBimo
       inv_hom_id' := RightUnitorBimod.inv_hom_id M } (RightUnitorBimod.hom_left_act_hom' M)
     (RightUnitorBimod.hom_right_act_hom' M)
 #align Bimod.right_unitor_Bimod Bimod.rightUnitorBimod
+-/
 
+#print Bimod.whisker_left_comp_bimod /-
 theorem whisker_left_comp_bimod {X Y Z : Mon_ C} (M : Bimod X Y) {N P Q : Bimod Y Z} (f : N ⟶ P)
     (g : P ⟶ Q) : tensorHom (𝟙 M) (f ≫ g) = tensorHom (𝟙 M) f ≫ tensorHom (𝟙 M) g := by
   rw [← tensor_comp, category.comp_id]
 #align Bimod.whisker_left_comp_Bimod Bimod.whisker_left_comp_bimod
+-/
 
 /- ./././Mathport/Syntax/Translate/Expr.lean:177:8: unsupported: ambiguous notation -/
 /- ./././Mathport/Syntax/Translate/Expr.lean:177:8: unsupported: ambiguous notation -/
 /- ./././Mathport/Syntax/Translate/Expr.lean:177:8: unsupported: ambiguous notation -/
+#print Bimod.id_whisker_left_bimod /-
 theorem id_whisker_left_bimod {X Y : Mon_ C} {M N : Bimod X Y} (f : M ⟶ N) :
     tensorHom (𝟙 (regular X)) f = (leftUnitorBimod M).Hom ≫ f ≫ (leftUnitorBimod N).inv :=
   by
@@ -899,7 +1004,9 @@ theorem id_whisker_left_bimod {X Y : Mon_ C} {M N : Bimod X Y} (f : M ⟶ N) :
   slice_rhs 2 4 => rw [this]
   slice_rhs 1 2 => rw [category.comp_id]
 #align Bimod.id_whisker_left_Bimod Bimod.id_whisker_left_bimod
+-/
 
+#print Bimod.comp_whisker_left_bimod /-
 theorem comp_whisker_left_bimod {W X Y Z : Mon_ C} (M : Bimod W X) (N : Bimod X Y)
     {P P' : Bimod Y Z} (f : P ⟶ P') :
     tensorHom (𝟙 (M.tensorBimod N)) f =
@@ -927,14 +1034,18 @@ theorem comp_whisker_left_bimod {W X Y Z : Mon_ C} (M : Bimod W X) (N : Bimod X
   dsimp only [tensor_Bimod.X]
   simp only [category.assoc]
 #align Bimod.comp_whisker_left_Bimod Bimod.comp_whisker_left_bimod
+-/
 
+#print Bimod.comp_whisker_right_bimod /-
 theorem comp_whisker_right_bimod {X Y Z : Mon_ C} {M N P : Bimod X Y} (f : M ⟶ N) (g : N ⟶ P)
     (Q : Bimod Y Z) : tensorHom (f ≫ g) (𝟙 Q) = tensorHom f (𝟙 Q) ≫ tensorHom g (𝟙 Q) := by
   rw [← tensor_comp, category.comp_id]
 #align Bimod.comp_whisker_right_Bimod Bimod.comp_whisker_right_bimod
+-/
 
 /- ./././Mathport/Syntax/Translate/Expr.lean:177:8: unsupported: ambiguous notation -/
 /- ./././Mathport/Syntax/Translate/Expr.lean:177:8: unsupported: ambiguous notation -/
+#print Bimod.whisker_right_id_bimod /-
 theorem whisker_right_id_bimod {X Y : Mon_ C} {M N : Bimod X Y} (f : M ⟶ N) :
     tensorHom f (𝟙 (regular Y)) = (rightUnitorBimod M).Hom ≫ f ≫ (rightUnitorBimod N).inv :=
   by
@@ -955,7 +1066,9 @@ theorem whisker_right_id_bimod {X Y : Mon_ C} {M N : Bimod X Y} (f : M ⟶ N) :
   slice_rhs 2 4 => rw [this]
   slice_rhs 1 2 => rw [category.comp_id]
 #align Bimod.whisker_right_id_Bimod Bimod.whisker_right_id_bimod
+-/
 
+#print Bimod.whisker_right_comp_bimod /-
 theorem whisker_right_comp_bimod {W X Y Z : Mon_ C} {M M' : Bimod W X} (f : M ⟶ M') (N : Bimod X Y)
     (P : Bimod Y Z) :
     tensorHom f (𝟙 (N.tensorBimod P)) =
@@ -983,7 +1096,9 @@ theorem whisker_right_comp_bimod {W X Y Z : Mon_ C} {M M' : Bimod W X} (f : M 
   dsimp only [tensor_Bimod.X]
   simp only [category.assoc]
 #align Bimod.whisker_right_comp_Bimod Bimod.whisker_right_comp_bimod
+-/
 
+#print Bimod.whisker_assoc_bimod /-
 theorem whisker_assoc_bimod {W X Y Z : Mon_ C} (M : Bimod W X) {N N' : Bimod X Y} (f : N ⟶ N')
     (P : Bimod Y Z) :
     tensorHom (tensorHom (𝟙 M) f) (𝟙 P) =
@@ -1011,7 +1126,9 @@ theorem whisker_assoc_bimod {W X Y Z : Mon_ C} (M : Bimod W X) {N N' : Bimod X Y
   slice_rhs 1 3 => rw [iso.hom_inv_id_assoc]
   slice_lhs 1 1 => rw [comp_tensor_id]
 #align Bimod.whisker_assoc_Bimod Bimod.whisker_assoc_bimod
+-/
 
+#print Bimod.whisker_exchange_bimod /-
 theorem whisker_exchange_bimod {X Y Z : Mon_ C} {M N : Bimod X Y} {P Q : Bimod Y Z} (f : M ⟶ N)
     (g : P ⟶ Q) : tensorHom (𝟙 M) g ≫ tensorHom f (𝟙 Q) = tensorHom f (𝟙 P) ≫ tensorHom (𝟙 N) g :=
   by
@@ -1024,7 +1141,9 @@ theorem whisker_exchange_bimod {X Y Z : Mon_ C} {M N : Bimod X Y} {P Q : Bimod Y
   slice_rhs 2 3 => rw [ι_colim_map, parallel_pair_hom_app_one]
   slice_rhs 1 2 => rw [tensor_id_comp_id_tensor]
 #align Bimod.whisker_exchange_Bimod Bimod.whisker_exchange_bimod
+-/
 
+#print Bimod.pentagon_bimod /-
 theorem pentagon_bimod {V W X Y Z : Mon_ C} (M : Bimod V W) (N : Bimod W X) (P : Bimod X Y)
     (Q : Bimod Y Z) :
     tensorHom (associatorBimod M N P).Hom (𝟙 Q) ≫
@@ -1062,7 +1181,9 @@ theorem pentagon_bimod {V W X Y Z : Mon_ C} (M : Bimod V W) (N : Bimod W X) (P :
   slice_rhs 2 3 => rw [← monoidal_category.tensor_id, associator_naturality]
   coherence
 #align Bimod.pentagon_Bimod Bimod.pentagon_bimod
+-/
 
+#print Bimod.triangle_bimod /-
 theorem triangle_bimod {X Y Z : Mon_ C} (M : Bimod X Y) (N : Bimod Y Z) :
     (associatorBimod M (regular Y) N).Hom ≫ tensorHom (𝟙 M) (leftUnitorBimod N).Hom =
       tensorHom (rightUnitorBimod M).Hom (𝟙 N) :=
@@ -1084,7 +1205,9 @@ theorem triangle_bimod {X Y Z : Mon_ C} (M : Bimod X Y) (N : Bimod Y Z) :
   slice_rhs 1 2 => rw [coequalizer.condition]
   simp only [category.assoc]
 #align Bimod.triangle_Bimod Bimod.triangle_bimod
+-/
 
+#print Bimod.monBicategory /-
 /-- The bicategory of algebras (monoids) and bimodules, all internal to some monoidal category. -/
 noncomputable def monBicategory : Bicategory (Mon_ C)
     where
@@ -1109,6 +1232,7 @@ noncomputable def monBicategory : Bicategory (Mon_ C)
   pentagon _ _ _ _ _ M N P Q := pentagon_bimod M N P Q
   triangle _ _ _ M N := triangle_bimod M N
 #align Bimod.Mon_bicategory Bimod.monBicategory
+-/
 
 end Bimod
 
Diff
@@ -140,8 +140,8 @@ restate_axiom Bimod.right_assoc'
 
 restate_axiom Bimod.middle_assoc'
 
-attribute [simp, reassoc]
-  Bimod.one_actLeft Bimod.actRight_one Bimod.left_assoc Bimod.right_assoc Bimod.middle_assoc
+attribute [simp, reassoc] Bimod.one_actLeft Bimod.actRight_one Bimod.left_assoc Bimod.right_assoc
+  Bimod.middle_assoc
 
 namespace Bimod
 
Diff
@@ -703,10 +703,7 @@ variable {R S : Mon_ C} (P : Bimod R S)
 
 /-- The underlying morphism of the forward component of the left unitor isomorphism. -/
 noncomputable def hom : TensorBimod.x (regular R) P ⟶ P.pt :=
-  coequalizer.desc P.actLeft
-    (by
-      dsimp
-      rw [category.assoc, left_assoc])
+  coequalizer.desc P.actLeft (by dsimp; rw [category.assoc, left_assoc])
 #align Bimod.left_unitor_Bimod.hom Bimod.LeftUnitorBimod.hom
 
 /- ./././Mathport/Syntax/Translate/Expr.lean:177:8: unsupported: ambiguous notation -/
@@ -776,10 +773,7 @@ variable {R S : Mon_ C} (P : Bimod R S)
 
 /-- The underlying morphism of the forward component of the right unitor isomorphism. -/
 noncomputable def hom : TensorBimod.x P (regular S) ⟶ P.pt :=
-  coequalizer.desc P.actRight
-    (by
-      dsimp
-      rw [category.assoc, right_assoc, iso.hom_inv_id_assoc])
+  coequalizer.desc P.actRight (by dsimp; rw [category.assoc, right_assoc, iso.hom_inv_id_assoc])
 #align Bimod.right_unitor_Bimod.hom Bimod.RightUnitorBimod.hom
 
 /- ./././Mathport/Syntax/Translate/Expr.lean:177:8: unsupported: ambiguous notation -/
Diff
@@ -140,7 +140,7 @@ restate_axiom Bimod.right_assoc'
 
 restate_axiom Bimod.middle_assoc'
 
-attribute [simp, reassoc.1]
+attribute [simp, reassoc]
   Bimod.one_actLeft Bimod.actRight_one Bimod.left_assoc Bimod.right_assoc Bimod.middle_assoc
 
 namespace Bimod
@@ -161,7 +161,7 @@ restate_axiom hom.left_act_hom'
 
 restate_axiom hom.right_act_hom'
 
-attribute [simp, reassoc.1] hom.left_act_hom hom.right_act_hom
+attribute [simp, reassoc] hom.left_act_hom hom.right_act_hom
 
 /-- The identity morphism on a bimodule object. -/
 @[simps]
Diff
@@ -1102,18 +1102,18 @@ noncomputable def monBicategory : Bicategory (Mon_ C)
   associator _ _ _ _ L M N := associatorBimod L M N
   leftUnitor _ _ M := leftUnitorBimod M
   rightUnitor _ _ M := rightUnitorBimod M
-  whiskerLeft_id' _ _ _ _ _ := tensor_id
-  whiskerLeft_comp' _ _ _ M _ _ _ f g := whisker_left_comp_bimod M f g
-  id_whisker_left' _ _ _ _ f := id_whisker_left_bimod f
-  comp_whisker_left' _ _ _ _ M N _ _ f := comp_whisker_left_bimod M N f
-  id_whisker_right' _ _ _ _ _ := tensor_id
-  comp_whisker_right' _ _ _ _ _ _ f g Q := comp_whisker_right_bimod f g Q
-  whiskerRight_id' _ _ _ _ f := whisker_right_id_bimod f
-  whiskerRight_comp' _ _ _ _ _ _ f N P := whisker_right_comp_bimod f N P
-  whisker_assoc' _ _ _ _ M _ _ f P := whisker_assoc_bimod M f P
-  whisker_exchange' _ _ _ _ _ _ _ f g := whisker_exchange_bimod f g
-  pentagon' _ _ _ _ _ M N P Q := pentagon_bimod M N P Q
-  triangle' _ _ _ M N := triangle_bimod M N
+  whiskerLeft_id _ _ _ _ _ := tensor_id
+  whiskerLeft_comp _ _ _ M _ _ _ f g := whisker_left_comp_bimod M f g
+  id_whiskerLeft _ _ _ _ f := id_whisker_left_bimod f
+  comp_whiskerLeft _ _ _ _ M N _ _ f := comp_whisker_left_bimod M N f
+  id_whiskerRight _ _ _ _ _ := tensor_id
+  comp_whiskerRight _ _ _ _ _ _ f g Q := comp_whisker_right_bimod f g Q
+  whiskerRight_id _ _ _ _ f := whisker_right_id_bimod f
+  whiskerRight_comp _ _ _ _ _ _ f N P := whisker_right_comp_bimod f N P
+  whisker_assoc _ _ _ _ M _ _ f P := whisker_assoc_bimod M f P
+  whisker_exchange _ _ _ _ _ _ _ f g := whisker_exchange_bimod f g
+  pentagon _ _ _ _ _ M N P Q := pentagon_bimod M N P Q
+  triangle _ _ _ M N := triangle_bimod M N
 #align Bimod.Mon_bicategory Bimod.monBicategory
 
 end Bimod
Diff
@@ -115,17 +115,18 @@ end
 /- ./././Mathport/Syntax/Translate/Expr.lean:177:8: unsupported: ambiguous notation -/
 /-- A bimodule object for a pair of monoid objects, all internal to some monoidal category. -/
 structure Bimod (A B : Mon_ C) where
-  x : C
-  actLeft : A.x ⊗ X ⟶ X
+  pt : C
+  actLeft : A.pt ⊗ X ⟶ X
   one_act_left' : (A.one ⊗ 𝟙 X) ≫ act_left = (λ_ X).Hom := by obviously
-  left_assoc' : (A.mul ⊗ 𝟙 X) ≫ act_left = (α_ A.x A.x X).Hom ≫ (𝟙 A.x ⊗ act_left) ≫ act_left := by
-    obviously
-  actRight : X ⊗ B.x ⟶ X
+  left_assoc' :
+    (A.mul ⊗ 𝟙 X) ≫ act_left = (α_ A.pt A.pt X).Hom ≫ (𝟙 A.pt ⊗ act_left) ≫ act_left := by obviously
+  actRight : X ⊗ B.pt ⟶ X
   actRight_one' : (𝟙 X ⊗ B.one) ≫ act_right = (ρ_ X).Hom := by obviously
   right_assoc' :
-    (𝟙 X ⊗ B.mul) ≫ act_right = (α_ X B.x B.x).inv ≫ (act_right ⊗ 𝟙 B.x) ≫ act_right := by obviously
+    (𝟙 X ⊗ B.mul) ≫ act_right = (α_ X B.pt B.pt).inv ≫ (act_right ⊗ 𝟙 B.pt) ≫ act_right := by
+    obviously
   middle_assoc' :
-    (act_left ⊗ 𝟙 B.x) ≫ act_right = (α_ A.x X B.x).Hom ≫ (𝟙 A.x ⊗ act_right) ≫ act_left := by
+    (act_left ⊗ 𝟙 B.pt) ≫ act_right = (α_ A.pt X B.pt).Hom ≫ (𝟙 A.pt ⊗ act_right) ≫ act_left := by
     obviously
 #align Bimod Bimod
 
@@ -151,9 +152,9 @@ variable {A B : Mon_ C} (M : Bimod A B)
 /-- A morphism of bimodule objects. -/
 @[ext]
 structure Hom (M N : Bimod A B) where
-  Hom : M.x ⟶ N.x
-  left_act_hom' : M.actLeft ≫ hom = (𝟙 A.x ⊗ hom) ≫ N.actLeft := by obviously
-  right_act_hom' : M.actRight ≫ hom = (hom ⊗ 𝟙 B.x) ≫ N.actRight := by obviously
+  Hom : M.pt ⟶ N.pt
+  left_act_hom' : M.actLeft ≫ hom = (𝟙 A.pt ⊗ hom) ≫ N.actLeft := by obviously
+  right_act_hom' : M.actRight ≫ hom = (hom ⊗ 𝟙 B.pt) ≫ N.actRight := by obviously
 #align Bimod.hom Bimod.Hom
 
 restate_axiom hom.left_act_hom'
@@ -164,7 +165,7 @@ attribute [simp, reassoc.1] hom.left_act_hom hom.right_act_hom
 
 /-- The identity morphism on a bimodule object. -/
 @[simps]
-def id' (M : Bimod A B) : Hom M M where Hom := 𝟙 M.x
+def id' (M : Bimod A B) : Hom M M where Hom := 𝟙 M.pt
 #align Bimod.id' Bimod.id'
 
 instance homInhabited (M : Bimod A B) : Inhabited (Hom M M) :=
@@ -182,7 +183,7 @@ instance : Category (Bimod A B) where
   comp M N O f g := comp f g
 
 @[simp]
-theorem id_hom' (M : Bimod A B) : (𝟙 M : Hom M M).Hom = 𝟙 M.x :=
+theorem id_hom' (M : Bimod A B) : (𝟙 M : Hom M M).Hom = 𝟙 M.pt :=
   rfl
 #align Bimod.id_hom' Bimod.id_hom'
 
@@ -198,9 +199,9 @@ theorem comp_hom' {M N K : Bimod A B} (f : M ⟶ N) (g : N ⟶ K) :
 and checking compatibility with left and right actions only in the forward direction.
 -/
 @[simps]
-def isoOfIso {X Y : Mon_ C} {P Q : Bimod X Y} (f : P.x ≅ Q.x)
-    (f_left_act_hom : P.actLeft ≫ f.Hom = (𝟙 X.x ⊗ f.Hom) ≫ Q.actLeft)
-    (f_right_act_hom : P.actRight ≫ f.Hom = (f.Hom ⊗ 𝟙 Y.x) ≫ Q.actRight) : P ≅ Q
+def isoOfIso {X Y : Mon_ C} {P Q : Bimod X Y} (f : P.pt ≅ Q.pt)
+    (f_left_act_hom : P.actLeft ≫ f.Hom = (𝟙 X.pt ⊗ f.Hom) ≫ Q.actLeft)
+    (f_right_act_hom : P.actRight ≫ f.Hom = (f.Hom ⊗ 𝟙 Y.pt) ≫ Q.actRight) : P ≅ Q
     where
   Hom := ⟨f.Hom⟩
   inv :=
@@ -222,7 +223,7 @@ variable (A)
 /-- A monoid object as a bimodule over itself. -/
 @[simps]
 def regular : Bimod A A where
-  x := A.x
+  pt := A.pt
   actLeft := A.mul
   actRight := A.mul
 #align Bimod.regular Bimod.regular
@@ -232,7 +233,7 @@ instance : Inhabited (Bimod A A) :=
 
 /-- The forgetful functor from bimodule objects to the ambient category. -/
 def forget : Bimod A B ⥤ C where
-  obj A := A.x
+  obj A := A.pt
   map A B f := f.Hom
 #align Bimod.forget Bimod.forget
 
@@ -248,7 +249,7 @@ variable {R S T : Mon_ C} (P : Bimod R S) (Q : Bimod S T)
 /- ./././Mathport/Syntax/Translate/Expr.lean:177:8: unsupported: ambiguous notation -/
 /-- The underlying object of the tensor product of two bimodules. -/
 noncomputable def x : C :=
-  coequalizer (P.actRight ⊗ 𝟙 Q.x) ((α_ _ _ _).Hom ≫ (𝟙 P.x ⊗ Q.actLeft))
+  coequalizer (P.actRight ⊗ 𝟙 Q.pt) ((α_ _ _ _).Hom ≫ (𝟙 P.pt ⊗ Q.actLeft))
 #align Bimod.tensor_Bimod.X Bimod.TensorBimod.x
 
 section
@@ -261,12 +262,12 @@ variable [∀ X : C, PreservesColimitsOfSize.{0, 0} (tensorLeft X)]
 /- ./././Mathport/Syntax/Translate/Expr.lean:177:8: unsupported: ambiguous notation -/
 /- ./././Mathport/Syntax/Translate/Expr.lean:177:8: unsupported: ambiguous notation -/
 /-- Left action for the tensor product of two bimodules. -/
-noncomputable def actLeft : R.x ⊗ x P Q ⟶ x P Q :=
-  (PreservesCoequalizer.iso (tensorLeft R.x) _ _).inv ≫
+noncomputable def actLeft : R.pt ⊗ x P Q ⟶ x P Q :=
+  (PreservesCoequalizer.iso (tensorLeft R.pt) _ _).inv ≫
     colimMap
       (parallelPairHom _ _ _ _
-        ((𝟙 _ ⊗ (α_ _ _ _).Hom) ≫ (α_ _ _ _).inv ≫ (P.actLeft ⊗ 𝟙 S.x ⊗ 𝟙 Q.x) ≫ (α_ _ _ _).inv)
-        ((α_ _ _ _).inv ≫ (P.actLeft ⊗ 𝟙 Q.x))
+        ((𝟙 _ ⊗ (α_ _ _ _).Hom) ≫ (α_ _ _ _).inv ≫ (P.actLeft ⊗ 𝟙 S.pt ⊗ 𝟙 Q.pt) ≫ (α_ _ _ _).inv)
+        ((α_ _ _ _).inv ≫ (P.actLeft ⊗ 𝟙 Q.pt))
         (by
           dsimp
           slice_lhs 1 2 => rw [associator_inv_naturality]
@@ -285,8 +286,8 @@ noncomputable def actLeft : R.x ⊗ x P Q ⟶ x P Q :=
 /- ./././Mathport/Syntax/Translate/Expr.lean:177:8: unsupported: ambiguous notation -/
 /- ./././Mathport/Syntax/Translate/Expr.lean:177:8: unsupported: ambiguous notation -/
 theorem id_tensor_π_actLeft :
-    (𝟙 R.x ⊗ coequalizer.π _ _) ≫ actLeft P Q =
-      (α_ _ _ _).inv ≫ (P.actLeft ⊗ 𝟙 Q.x) ≫ coequalizer.π _ _ :=
+    (𝟙 R.pt ⊗ coequalizer.π _ _) ≫ actLeft P Q =
+      (α_ _ _ _).inv ≫ (P.actLeft ⊗ 𝟙 Q.pt) ≫ coequalizer.π _ _ :=
   by
   erw [map_π_preserves_coequalizer_inv_colim_map (tensor_left _)]
   simp only [category.assoc]
@@ -308,7 +309,7 @@ theorem one_act_left' : (R.one ⊗ 𝟙 _) ≫ actLeft P Q = (λ_ _).Hom :=
 /- ./././Mathport/Syntax/Translate/Expr.lean:177:8: unsupported: ambiguous notation -/
 /- ./././Mathport/Syntax/Translate/Expr.lean:177:8: unsupported: ambiguous notation -/
 theorem left_assoc' :
-    (R.mul ⊗ 𝟙 _) ≫ actLeft P Q = (α_ R.x R.x _).Hom ≫ (𝟙 R.x ⊗ actLeft P Q) ≫ actLeft P Q :=
+    (R.mul ⊗ 𝟙 _) ≫ actLeft P Q = (α_ R.pt R.pt _).Hom ≫ (𝟙 R.pt ⊗ actLeft P Q) ≫ actLeft P Q :=
   by
   refine' (cancel_epi ((tensor_left _).map (coequalizer.π _ _))).1 _
   dsimp [X]
@@ -334,12 +335,12 @@ variable [∀ X : C, PreservesColimitsOfSize.{0, 0} (tensorRight X)]
 /- ./././Mathport/Syntax/Translate/Expr.lean:177:8: unsupported: ambiguous notation -/
 /- ./././Mathport/Syntax/Translate/Expr.lean:177:8: unsupported: ambiguous notation -/
 /-- Right action for the tensor product of two bimodules. -/
-noncomputable def actRight : x P Q ⊗ T.x ⟶ x P Q :=
-  (PreservesCoequalizer.iso (tensorRight T.x) _ _).inv ≫
+noncomputable def actRight : x P Q ⊗ T.pt ⟶ x P Q :=
+  (PreservesCoequalizer.iso (tensorRight T.pt) _ _).inv ≫
     colimMap
       (parallelPairHom _ _ _ _
-        ((α_ _ _ _).Hom ≫ (α_ _ _ _).Hom ≫ (𝟙 P.x ⊗ 𝟙 S.x ⊗ Q.actRight) ≫ (α_ _ _ _).inv)
-        ((α_ _ _ _).Hom ≫ (𝟙 P.x ⊗ Q.actRight))
+        ((α_ _ _ _).Hom ≫ (α_ _ _ _).Hom ≫ (𝟙 P.pt ⊗ 𝟙 S.pt ⊗ Q.actRight) ≫ (α_ _ _ _).inv)
+        ((α_ _ _ _).Hom ≫ (𝟙 P.pt ⊗ Q.actRight))
         (by
           dsimp
           slice_lhs 1 2 => rw [associator_naturality]
@@ -360,8 +361,8 @@ noncomputable def actRight : x P Q ⊗ T.x ⟶ x P Q :=
 /- ./././Mathport/Syntax/Translate/Expr.lean:177:8: unsupported: ambiguous notation -/
 /- ./././Mathport/Syntax/Translate/Expr.lean:177:8: unsupported: ambiguous notation -/
 theorem π_tensor_id_actRight :
-    (coequalizer.π _ _ ⊗ 𝟙 T.x) ≫ actRight P Q =
-      (α_ _ _ _).Hom ≫ (𝟙 P.x ⊗ Q.actRight) ≫ coequalizer.π _ _ :=
+    (coequalizer.π _ _ ⊗ 𝟙 T.pt) ≫ actRight P Q =
+      (α_ _ _ _).Hom ≫ (𝟙 P.pt ⊗ Q.actRight) ≫ coequalizer.π _ _ :=
   by
   erw [map_π_preserves_coequalizer_inv_colim_map (tensor_right _)]
   simp only [category.assoc]
@@ -383,7 +384,7 @@ theorem actRight_one' : (𝟙 _ ⊗ T.one) ≫ actRight P Q = (ρ_ _).Hom :=
 /- ./././Mathport/Syntax/Translate/Expr.lean:177:8: unsupported: ambiguous notation -/
 /- ./././Mathport/Syntax/Translate/Expr.lean:177:8: unsupported: ambiguous notation -/
 theorem right_assoc' :
-    (𝟙 _ ⊗ T.mul) ≫ actRight P Q = (α_ _ T.x T.x).inv ≫ (actRight P Q ⊗ 𝟙 T.x) ≫ actRight P Q :=
+    (𝟙 _ ⊗ T.mul) ≫ actRight P Q = (α_ _ T.pt T.pt).inv ≫ (actRight P Q ⊗ 𝟙 T.pt) ≫ actRight P Q :=
   by
   refine' (cancel_epi ((tensor_right _).map (coequalizer.π _ _))).1 _
   dsimp [X]
@@ -409,8 +410,8 @@ variable [∀ X : C, PreservesColimitsOfSize.{0, 0} (tensorRight X)]
 /- ./././Mathport/Syntax/Translate/Expr.lean:177:8: unsupported: ambiguous notation -/
 /- ./././Mathport/Syntax/Translate/Expr.lean:177:8: unsupported: ambiguous notation -/
 theorem middle_assoc' :
-    (actLeft P Q ⊗ 𝟙 T.x) ≫ actRight P Q =
-      (α_ R.x _ T.x).Hom ≫ (𝟙 R.x ⊗ actRight P Q) ≫ actLeft P Q :=
+    (actLeft P Q ⊗ 𝟙 T.pt) ≫ actRight P Q =
+      (α_ R.pt _ T.pt).Hom ≫ (𝟙 R.pt ⊗ actRight P Q) ≫ actLeft P Q :=
   by
   refine' (cancel_epi ((tensor_left _ ⋙ tensor_right _).map (coequalizer.π _ _))).1 _
   dsimp [X]
@@ -440,7 +441,7 @@ variable [∀ X : C, PreservesColimitsOfSize.{0, 0} (tensorRight X)]
 @[simps]
 noncomputable def tensorBimod {X Y Z : Mon_ C} (M : Bimod X Y) (N : Bimod Y Z) : Bimod X Z
     where
-  x := TensorBimod.x M N
+  pt := TensorBimod.x M N
   actLeft := TensorBimod.actLeft M N
   actRight := TensorBimod.actRight M N
   one_act_left' := TensorBimod.one_act_left' M N
@@ -460,7 +461,7 @@ noncomputable def tensorHom {X Y Z : Mon_ C} {M₁ M₂ : Bimod X Y} {N₁ N₂
     where
   Hom :=
     colimMap
-      (parallelPairHom _ _ _ _ ((f.Hom ⊗ 𝟙 Y.x) ⊗ g.Hom) (f.Hom ⊗ g.Hom)
+      (parallelPairHom _ _ _ _ ((f.Hom ⊗ 𝟙 Y.pt) ⊗ g.Hom) (f.Hom ⊗ g.Hom)
         (by
           rw [← tensor_comp, ← tensor_comp, hom.right_act_hom, category.id_comp, category.comp_id])
         (by
@@ -523,9 +524,9 @@ variable {R S T U : Mon_ C} (P : Bimod R S) (Q : Bimod S T) (L : Bimod T U)
 /- ./././Mathport/Syntax/Translate/Expr.lean:177:8: unsupported: ambiguous notation -/
 /-- An auxiliary morphism for the definition of the underlying morphism of the forward component of
 the associator isomorphism. -/
-noncomputable def homAux : (P.tensorBimod Q).x ⊗ L.x ⟶ (P.tensorBimod (Q.tensorBimod L)).x :=
-  (PreservesCoequalizer.iso (tensorRight L.x) _ _).inv ≫
-    coequalizer.desc ((α_ _ _ _).Hom ≫ (𝟙 P.x ⊗ coequalizer.π _ _) ≫ coequalizer.π _ _)
+noncomputable def homAux : (P.tensorBimod Q).pt ⊗ L.pt ⟶ (P.tensorBimod (Q.tensorBimod L)).pt :=
+  (PreservesCoequalizer.iso (tensorRight L.pt) _ _).inv ≫
+    coequalizer.desc ((α_ _ _ _).Hom ≫ (𝟙 P.pt ⊗ coequalizer.π _ _) ≫ coequalizer.π _ _)
       (by
         dsimp; dsimp [tensor_Bimod.X]
         slice_lhs 1 2 => rw [associator_naturality]
@@ -541,7 +542,8 @@ noncomputable def homAux : (P.tensorBimod Q).x ⊗ L.x ⟶ (P.tensorBimod (Q.ten
 #align Bimod.associator_Bimod.hom_aux Bimod.AssociatorBimod.homAux
 
 /-- The underlying morphism of the forward component of the associator isomorphism. -/
-noncomputable def hom : ((P.tensorBimod Q).tensorBimod L).x ⟶ (P.tensorBimod (Q.tensorBimod L)).x :=
+noncomputable def hom :
+    ((P.tensorBimod Q).tensorBimod L).pt ⟶ (P.tensorBimod (Q.tensorBimod L)).pt :=
   coequalizer.desc (homAux P Q L)
     (by
       dsimp [hom_aux]
@@ -563,7 +565,7 @@ noncomputable def hom : ((P.tensorBimod Q).tensorBimod L).x ⟶ (P.tensorBimod (
 /- ./././Mathport/Syntax/Translate/Expr.lean:177:8: unsupported: ambiguous notation -/
 theorem hom_left_act_hom' :
     ((P.tensorBimod Q).tensorBimod L).actLeft ≫ hom P Q L =
-      (𝟙 R.x ⊗ hom P Q L) ≫ (P.tensorBimod (Q.tensorBimod L)).actLeft :=
+      (𝟙 R.pt ⊗ hom P Q L) ≫ (P.tensorBimod (Q.tensorBimod L)).actLeft :=
   by
   dsimp; dsimp [hom, hom_aux]
   refine' (cancel_epi ((tensor_left _).map (coequalizer.π _ _))).1 _
@@ -591,7 +593,7 @@ theorem hom_left_act_hom' :
 /- ./././Mathport/Syntax/Translate/Expr.lean:177:8: unsupported: ambiguous notation -/
 theorem hom_right_act_hom' :
     ((P.tensorBimod Q).tensorBimod L).actRight ≫ hom P Q L =
-      (hom P Q L ⊗ 𝟙 U.x) ≫ (P.tensorBimod (Q.tensorBimod L)).actRight :=
+      (hom P Q L ⊗ 𝟙 U.pt) ≫ (P.tensorBimod (Q.tensorBimod L)).actRight :=
   by
   dsimp; dsimp [hom, hom_aux]
   refine' (cancel_epi ((tensor_right _).map (coequalizer.π _ _))).1 _
@@ -622,9 +624,9 @@ theorem hom_right_act_hom' :
 /- ./././Mathport/Syntax/Translate/Expr.lean:177:8: unsupported: ambiguous notation -/
 /-- An auxiliary morphism for the definition of the underlying morphism of the inverse component of
 the associator isomorphism. -/
-noncomputable def invAux : P.x ⊗ (Q.tensorBimod L).x ⟶ ((P.tensorBimod Q).tensorBimod L).x :=
-  (PreservesCoequalizer.iso (tensorLeft P.x) _ _).inv ≫
-    coequalizer.desc ((α_ _ _ _).inv ≫ (coequalizer.π _ _ ⊗ 𝟙 L.x) ≫ coequalizer.π _ _)
+noncomputable def invAux : P.pt ⊗ (Q.tensorBimod L).pt ⟶ ((P.tensorBimod Q).tensorBimod L).pt :=
+  (PreservesCoequalizer.iso (tensorLeft P.pt) _ _).inv ≫
+    coequalizer.desc ((α_ _ _ _).inv ≫ (coequalizer.π _ _ ⊗ 𝟙 L.pt) ≫ coequalizer.π _ _)
       (by
         dsimp; dsimp [tensor_Bimod.X]
         slice_lhs 1 2 => rw [associator_inv_naturality]
@@ -642,7 +644,8 @@ noncomputable def invAux : P.x ⊗ (Q.tensorBimod L).x ⟶ ((P.tensorBimod Q).te
 #align Bimod.associator_Bimod.inv_aux Bimod.AssociatorBimod.invAux
 
 /-- The underlying morphism of the inverse component of the associator isomorphism. -/
-noncomputable def inv : (P.tensorBimod (Q.tensorBimod L)).x ⟶ ((P.tensorBimod Q).tensorBimod L).x :=
+noncomputable def inv :
+    (P.tensorBimod (Q.tensorBimod L)).pt ⟶ ((P.tensorBimod Q).tensorBimod L).pt :=
   coequalizer.desc (invAux P Q L)
     (by
       dsimp [inv_aux]
@@ -699,7 +702,7 @@ namespace LeftUnitorBimod
 variable {R S : Mon_ C} (P : Bimod R S)
 
 /-- The underlying morphism of the forward component of the left unitor isomorphism. -/
-noncomputable def hom : TensorBimod.x (regular R) P ⟶ P.x :=
+noncomputable def hom : TensorBimod.x (regular R) P ⟶ P.pt :=
   coequalizer.desc P.actLeft
     (by
       dsimp
@@ -708,8 +711,8 @@ noncomputable def hom : TensorBimod.x (regular R) P ⟶ P.x :=
 
 /- ./././Mathport/Syntax/Translate/Expr.lean:177:8: unsupported: ambiguous notation -/
 /-- The underlying morphism of the inverse component of the left unitor isomorphism. -/
-noncomputable def inv : P.x ⟶ TensorBimod.x (regular R) P :=
-  (λ_ P.x).inv ≫ (R.one ⊗ 𝟙 _) ≫ coequalizer.π _ _
+noncomputable def inv : P.pt ⟶ TensorBimod.x (regular R) P :=
+  (λ_ P.pt).inv ≫ (R.one ⊗ 𝟙 _) ≫ coequalizer.π _ _
 #align Bimod.left_unitor_Bimod.inv Bimod.LeftUnitorBimod.inv
 
 /- ./././Mathport/Syntax/Translate/Expr.lean:177:8: unsupported: ambiguous notation -/
@@ -741,7 +744,7 @@ variable [∀ X : C, PreservesColimitsOfSize.{0, 0} (tensorRight X)]
 
 /- ./././Mathport/Syntax/Translate/Expr.lean:177:8: unsupported: ambiguous notation -/
 theorem hom_left_act_hom' :
-    ((regular R).tensorBimod P).actLeft ≫ hom P = (𝟙 R.x ⊗ hom P) ≫ P.actLeft :=
+    ((regular R).tensorBimod P).actLeft ≫ hom P = (𝟙 R.pt ⊗ hom P) ≫ P.actLeft :=
   by
   dsimp; dsimp [hom, tensor_Bimod.act_left, regular]
   refine' (cancel_epi ((tensor_left _).map (coequalizer.π _ _))).1 _
@@ -754,7 +757,7 @@ theorem hom_left_act_hom' :
 
 /- ./././Mathport/Syntax/Translate/Expr.lean:177:8: unsupported: ambiguous notation -/
 theorem hom_right_act_hom' :
-    ((regular R).tensorBimod P).actRight ≫ hom P = (hom P ⊗ 𝟙 S.x) ≫ P.actRight :=
+    ((regular R).tensorBimod P).actRight ≫ hom P = (hom P ⊗ 𝟙 S.pt) ≫ P.actRight :=
   by
   dsimp; dsimp [hom, tensor_Bimod.act_right, regular]
   refine' (cancel_epi ((tensor_right _).map (coequalizer.π _ _))).1 _
@@ -772,7 +775,7 @@ namespace RightUnitorBimod
 variable {R S : Mon_ C} (P : Bimod R S)
 
 /-- The underlying morphism of the forward component of the right unitor isomorphism. -/
-noncomputable def hom : TensorBimod.x P (regular S) ⟶ P.x :=
+noncomputable def hom : TensorBimod.x P (regular S) ⟶ P.pt :=
   coequalizer.desc P.actRight
     (by
       dsimp
@@ -781,8 +784,8 @@ noncomputable def hom : TensorBimod.x P (regular S) ⟶ P.x :=
 
 /- ./././Mathport/Syntax/Translate/Expr.lean:177:8: unsupported: ambiguous notation -/
 /-- The underlying morphism of the inverse component of the right unitor isomorphism. -/
-noncomputable def inv : P.x ⟶ TensorBimod.x P (regular S) :=
-  (ρ_ P.x).inv ≫ (𝟙 _ ⊗ S.one) ≫ coequalizer.π _ _
+noncomputable def inv : P.pt ⟶ TensorBimod.x P (regular S) :=
+  (ρ_ P.pt).inv ≫ (𝟙 _ ⊗ S.one) ≫ coequalizer.π _ _
 #align Bimod.right_unitor_Bimod.inv Bimod.RightUnitorBimod.inv
 
 theorem hom_inv_id : hom P ≫ inv P = 𝟙 _ :=
@@ -812,7 +815,7 @@ variable [∀ X : C, PreservesColimitsOfSize.{0, 0} (tensorRight X)]
 
 /- ./././Mathport/Syntax/Translate/Expr.lean:177:8: unsupported: ambiguous notation -/
 theorem hom_left_act_hom' :
-    (P.tensorBimod (regular S)).actLeft ≫ hom P = (𝟙 R.x ⊗ hom P) ≫ P.actLeft :=
+    (P.tensorBimod (regular S)).actLeft ≫ hom P = (𝟙 R.pt ⊗ hom P) ≫ P.actLeft :=
   by
   dsimp; dsimp [hom, tensor_Bimod.act_left, regular]
   refine' (cancel_epi ((tensor_left _).map (coequalizer.π _ _))).1 _
@@ -825,7 +828,7 @@ theorem hom_left_act_hom' :
 
 /- ./././Mathport/Syntax/Translate/Expr.lean:177:8: unsupported: ambiguous notation -/
 theorem hom_right_act_hom' :
-    (P.tensorBimod (regular S)).actRight ≫ hom P = (hom P ⊗ 𝟙 S.x) ≫ P.actRight :=
+    (P.tensorBimod (regular S)).actRight ≫ hom P = (hom P ⊗ 𝟙 S.pt) ≫ P.actRight :=
   by
   dsimp; dsimp [hom, tensor_Bimod.act_right, regular]
   refine' (cancel_epi ((tensor_right _).map (coequalizer.π _ _))).1 _

Changes in mathlib4

mathlib3
mathlib4
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
@@ -350,7 +350,6 @@ end
 section
 
 variable [∀ X : C, PreservesColimitsOfSize.{0, 0} (tensorLeft X)]
-
 variable [∀ X : C, PreservesColimitsOfSize.{0, 0} (tensorRight X)]
 
 theorem middle_assoc' :
@@ -380,7 +379,6 @@ end TensorBimod
 section
 
 variable [∀ X : C, PreservesColimitsOfSize.{0, 0} (tensorLeft X)]
-
 variable [∀ X : C, PreservesColimitsOfSize.{0, 0} (tensorRight X)]
 
 /-- Tensor product of two bimodule objects as a bimodule object. -/
@@ -470,9 +468,7 @@ end
 namespace AssociatorBimod
 
 variable [∀ X : C, PreservesColimitsOfSize.{0, 0} (tensorLeft X)]
-
 variable [∀ X : C, PreservesColimitsOfSize.{0, 0} (tensorRight X)]
-
 variable {R S T U : Mon_ C} (P : Bimod R S) (Q : Bimod S T) (L : Bimod T U)
 
 /-- An auxiliary morphism for the definition of the underlying morphism of the forward component of
@@ -687,7 +683,6 @@ set_option linter.uppercaseLean3 false in
 #align Bimod.left_unitor_Bimod.inv_hom_id Bimod.LeftUnitorBimod.inv_hom_id
 
 variable [∀ X : C, PreservesColimitsOfSize.{0, 0} (tensorLeft X)]
-
 variable [∀ X : C, PreservesColimitsOfSize.{0, 0} (tensorRight X)]
 
 theorem hom_left_act_hom' :
@@ -754,7 +749,6 @@ set_option linter.uppercaseLean3 false in
 #align Bimod.right_unitor_Bimod.inv_hom_id Bimod.RightUnitorBimod.inv_hom_id
 
 variable [∀ X : C, PreservesColimitsOfSize.{0, 0} (tensorLeft X)]
-
 variable [∀ X : C, PreservesColimitsOfSize.{0, 0} (tensorRight X)]
 
 theorem hom_left_act_hom' :
@@ -784,7 +778,6 @@ set_option linter.uppercaseLean3 false in
 end RightUnitorBimod
 
 variable [∀ X : C, PreservesColimitsOfSize.{0, 0} (tensorLeft X)]
-
 variable [∀ X : C, PreservesColimitsOfSize.{0, 0} (tensorRight X)]
 
 /-- The associator as a bimodule isomorphism. -/
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
@@ -136,7 +136,7 @@ instance : Category (Bimod A B) where
   id := id'
   comp f g := comp f g
 
--- porting note: added because `Hom.ext` is not triggered automatically
+-- Porting note: added because `Hom.ext` is not triggered automatically
 @[ext]
 lemma hom_ext {M N : Bimod A B} (f g : M ⟶ N) (h : f.hom = g.hom) : f = g :=
   Hom.ext _ _ h
@@ -250,7 +250,7 @@ set_option linter.uppercaseLean3 false in
 theorem one_act_left' : (R.one ▷ _) ≫ actLeft P Q = (λ_ _).hom := by
   refine' (cancel_epi ((tensorLeft _).map (coequalizer.π _ _))).1 _
   dsimp [X]
-  -- porting note: had to replace `rw` by `erw`
+  -- Porting note: had to replace `rw` by `erw`
   slice_lhs 1 2 => erw [whisker_exchange]
   slice_lhs 2 3 => rw [whiskerLeft_π_actLeft]
   slice_lhs 1 2 => rw [associator_inv_naturality_left]
@@ -317,7 +317,7 @@ set_option linter.uppercaseLean3 false in
 theorem actRight_one' : (_ ◁ T.one) ≫ actRight P Q = (ρ_ _).hom := by
   refine' (cancel_epi ((tensorRight _).map (coequalizer.π _ _))).1 _
   dsimp [X]
-  -- porting note: had to replace `rw` by `erw`
+  -- Porting note: had to replace `rw` by `erw`
   slice_lhs 1 2 =>erw [← whisker_exchange]
   slice_lhs 2 3 => rw [π_tensor_id_actRight]
   slice_lhs 1 2 => rw [associator_naturality_right]
@@ -331,7 +331,7 @@ theorem right_assoc' :
       (α_ _ T.X T.X).inv ≫ (actRight P Q ▷ T.X) ≫ actRight P Q := by
   refine' (cancel_epi ((tensorRight _).map (coequalizer.π _ _))).1 _
   dsimp [X]
-  -- porting note: had to replace some `rw` by `erw`
+  -- Porting note: had to replace some `rw` by `erw`
   slice_lhs 1 2 => rw [← whisker_exchange]
   slice_lhs 2 3 => rw [π_tensor_id_actRight]
   slice_lhs 1 2 => rw [associator_naturality_right]
@@ -362,7 +362,7 @@ theorem middle_assoc' :
     comp_whiskerRight]
   slice_lhs 3 4 => rw [π_tensor_id_actRight]
   slice_lhs 2 3 => rw [associator_naturality_left]
-  -- porting note: had to replace `rw` by `erw`
+  -- Porting note: had to replace `rw` by `erw`
   slice_rhs 1 2 => rw [associator_naturality_middle]
   slice_rhs 2 3 => rw [← MonoidalCategory.whiskerLeft_comp, π_tensor_id_actRight,
     MonoidalCategory.whiskerLeft_comp, MonoidalCategory.whiskerLeft_comp]
feat(CategoryTheory/Monoidal): replace 𝟙 X ⊗ f with X ◁ f (#10912)

We set id_tensorHom and tensorHom_id as simp lemmas. Partially extracted from #6307.

Diff
@@ -255,7 +255,7 @@ theorem one_act_left' : (R.one ▷ _) ≫ actLeft P Q = (λ_ _).hom := by
   slice_lhs 2 3 => rw [whiskerLeft_π_actLeft]
   slice_lhs 1 2 => rw [associator_inv_naturality_left]
   slice_lhs 2 3 => rw [← comp_whiskerRight, one_actLeft]
-  slice_rhs 1 2 => rw [leftUnitor_naturality']
+  slice_rhs 1 2 => rw [leftUnitor_naturality]
   coherence
 set_option linter.uppercaseLean3 false in
 #align Bimod.tensor_Bimod.one_act_left' Bimod.TensorBimod.one_act_left'
@@ -668,7 +668,7 @@ theorem hom_inv_id : hom P ≫ inv P = 𝟙 _ := by
   dsimp only [hom, inv, TensorBimod.X]
   ext; dsimp
   slice_lhs 1 2 => rw [coequalizer.π_desc]
-  slice_lhs 1 2 => rw [leftUnitor_inv_naturality']
+  slice_lhs 1 2 => rw [leftUnitor_inv_naturality]
   slice_lhs 2 3 => rw [whisker_exchange]
   slice_lhs 3 3 => rw [← Iso.inv_hom_id_assoc (α_ R.X R.X P.X) (R.X ◁ P.actLeft)]
   slice_lhs 4 6 => rw [← Category.assoc, ← coequalizer.condition]
@@ -736,7 +736,7 @@ theorem hom_inv_id : hom P ≫ inv P = 𝟙 _ := by
   dsimp only [hom, inv, TensorBimod.X]
   ext; dsimp
   slice_lhs 1 2 => rw [coequalizer.π_desc]
-  slice_lhs 1 2 => rw [rightUnitor_inv_naturality']
+  slice_lhs 1 2 => rw [rightUnitor_inv_naturality]
   slice_lhs 2 3 => rw [← whisker_exchange]
   slice_lhs 3 4 => rw [coequalizer.condition]
   slice_lhs 2 3 => rw [associator_naturality_right]
@@ -858,7 +858,7 @@ theorem id_whiskerLeft_bimod {X Y : Mon_ C} {M N : Bimod X Y} (f : M ⟶ N) :
   slice_rhs 1 2 => rw [coequalizer.π_desc]
   dsimp [LeftUnitorBimod.inv]
   slice_rhs 1 2 => rw [Hom.left_act_hom]
-  slice_rhs 2 3 => rw [leftUnitor_inv_naturality']
+  slice_rhs 2 3 => rw [leftUnitor_inv_naturality]
   slice_rhs 3 4 => rw [whisker_exchange]
   slice_rhs 4 4 => rw [← Iso.inv_hom_id_assoc (α_ X.X X.X N.X) (X.X ◁ N.actLeft)]
   slice_rhs 5 7 => rw [← Category.assoc, ← coequalizer.condition]
@@ -918,7 +918,7 @@ theorem whiskerRight_id_bimod {X Y : Mon_ C} {M N : Bimod X Y} (f : M ⟶ N) :
   slice_rhs 1 2 => rw [coequalizer.π_desc]
   dsimp [RightUnitorBimod.inv]
   slice_rhs 1 2 => rw [Hom.right_act_hom]
-  slice_rhs 2 3 => rw [rightUnitor_inv_naturality']
+  slice_rhs 2 3 => rw [rightUnitor_inv_naturality]
   slice_rhs 3 4 => rw [← whisker_exchange]
   slice_rhs 4 5 => rw [coequalizer.condition]
   slice_rhs 3 4 => rw [associator_naturality_right]
feat(CategoryTheory/Monoidal): redefine tensorLeft by using whiskering (#10898)

Extracted from #6307

Diff
@@ -33,19 +33,19 @@ section
 variable [∀ X : C, PreservesColimitsOfSize.{0, 0} (tensorLeft X)]
 
 theorem id_tensor_π_preserves_coequalizer_inv_desc {W X Y Z : C} (f g : X ⟶ Y) (h : Z ⊗ Y ⟶ W)
-    (wh : (𝟙 Z ⊗ f) ≫ h = (𝟙 Z ⊗ g) ≫ h) :
-    (𝟙 Z ⊗ coequalizer.π f g) ≫
+    (wh : (Z ◁ f) ≫ h = (Z ◁ g) ≫ h) :
+    (Z ◁ coequalizer.π f g) ≫
         (PreservesCoequalizer.iso (tensorLeft Z) f g).inv ≫ coequalizer.desc h wh =
       h :=
   map_π_preserves_coequalizer_inv_desc (tensorLeft Z) f g h wh
 #align id_tensor_π_preserves_coequalizer_inv_desc id_tensor_π_preserves_coequalizer_inv_desc
 
 theorem id_tensor_π_preserves_coequalizer_inv_colimMap_desc {X Y Z X' Y' Z' : C} (f g : X ⟶ Y)
-    (f' g' : X' ⟶ Y') (p : Z ⊗ X ⟶ X') (q : Z ⊗ Y ⟶ Y') (wf : (𝟙 Z ⊗ f) ≫ q = p ≫ f')
-    (wg : (𝟙 Z ⊗ g) ≫ q = p ≫ g') (h : Y' ⟶ Z') (wh : f' ≫ h = g' ≫ h) :
-    (𝟙 Z ⊗ coequalizer.π f g) ≫
+    (f' g' : X' ⟶ Y') (p : Z ⊗ X ⟶ X') (q : Z ⊗ Y ⟶ Y') (wf : (Z ◁ f) ≫ q = p ≫ f')
+    (wg : (Z ◁ g) ≫ q = p ≫ g') (h : Y' ⟶ Z') (wh : f' ≫ h = g' ≫ h) :
+    (Z ◁ coequalizer.π f g) ≫
         (PreservesCoequalizer.iso (tensorLeft Z) f g).inv ≫
-          colimMap (parallelPairHom (𝟙 Z ⊗ f) (𝟙 Z ⊗ g) f' g' p q wf wg) ≫ coequalizer.desc h wh =
+          colimMap (parallelPairHom (Z ◁ f) (Z ◁ g) f' g' p q wf wg) ≫ coequalizer.desc h wh =
       q ≫ h :=
   map_π_preserves_coequalizer_inv_colimMap_desc (tensorLeft Z) f g f' g' p q wf wg h wh
 #align id_tensor_π_preserves_coequalizer_inv_colim_map_desc id_tensor_π_preserves_coequalizer_inv_colimMap_desc
@@ -57,19 +57,19 @@ section
 variable [∀ X : C, PreservesColimitsOfSize.{0, 0} (tensorRight X)]
 
 theorem π_tensor_id_preserves_coequalizer_inv_desc {W X Y Z : C} (f g : X ⟶ Y) (h : Y ⊗ Z ⟶ W)
-    (wh : (f ⊗ 𝟙 Z) ≫ h = (g ⊗ 𝟙 Z) ≫ h) :
-    (coequalizer.π f g ⊗ 𝟙 Z) ≫
+    (wh : (f ▷ Z) ≫ h = (g ▷ Z) ≫ h) :
+    (coequalizer.π f g ▷ Z) ≫
         (PreservesCoequalizer.iso (tensorRight Z) f g).inv ≫ coequalizer.desc h wh =
       h :=
   map_π_preserves_coequalizer_inv_desc (tensorRight Z) f g h wh
 #align π_tensor_id_preserves_coequalizer_inv_desc π_tensor_id_preserves_coequalizer_inv_desc
 
 theorem π_tensor_id_preserves_coequalizer_inv_colimMap_desc {X Y Z X' Y' Z' : C} (f g : X ⟶ Y)
-    (f' g' : X' ⟶ Y') (p : X ⊗ Z ⟶ X') (q : Y ⊗ Z ⟶ Y') (wf : (f ⊗ 𝟙 Z) ≫ q = p ≫ f')
-    (wg : (g ⊗ 𝟙 Z) ≫ q = p ≫ g') (h : Y' ⟶ Z') (wh : f' ≫ h = g' ≫ h) :
-    (coequalizer.π f g ⊗ 𝟙 Z) ≫
+    (f' g' : X' ⟶ Y') (p : X ⊗ Z ⟶ X') (q : Y ⊗ Z ⟶ Y') (wf : (f ▷ Z) ≫ q = p ≫ f')
+    (wg : (g ▷ Z) ≫ q = p ≫ g') (h : Y' ⟶ Z') (wh : f' ≫ h = g' ≫ h) :
+    (coequalizer.π f g ▷ Z) ≫
         (PreservesCoequalizer.iso (tensorRight Z) f g).inv ≫
-          colimMap (parallelPairHom (f ⊗ 𝟙 Z) (g ⊗ 𝟙 Z) f' g' p q wf wg) ≫ coequalizer.desc h wh =
+          colimMap (parallelPairHom (f ▷ Z) (g ▷ Z) f' g' p q wf wg) ≫ coequalizer.desc h wh =
       q ≫ h :=
   map_π_preserves_coequalizer_inv_colimMap_desc (tensorRight Z) f g f' g' p q wf wg h wh
 #align π_tensor_id_preserves_coequalizer_inv_colim_map_desc π_tensor_id_preserves_coequalizer_inv_colimMap_desc
@@ -82,16 +82,16 @@ end
 structure Bimod (A B : Mon_ C) where
   X : C
   actLeft : A.X ⊗ X ⟶ X
-  one_actLeft : (A.one ⊗ 𝟙 X) ≫ actLeft = (λ_ X).hom := by aesop_cat
+  one_actLeft : (A.one ▷ X) ≫ actLeft = (λ_ X).hom := by aesop_cat
   left_assoc :
-    (A.mul ⊗ 𝟙 X) ≫ actLeft = (α_ A.X A.X X).hom ≫ (𝟙 A.X ⊗ actLeft) ≫ actLeft := by aesop_cat
+    (A.mul ▷ X) ≫ actLeft = (α_ A.X A.X X).hom ≫ (A.X ◁ actLeft) ≫ actLeft := by aesop_cat
   actRight : X ⊗ B.X ⟶ X
-  actRight_one : (𝟙 X ⊗ B.one) ≫ actRight = (ρ_ X).hom := by aesop_cat
+  actRight_one : (X ◁ B.one) ≫ actRight = (ρ_ X).hom := by aesop_cat
   right_assoc :
-    (𝟙 X ⊗ B.mul) ≫ actRight = (α_ X B.X B.X).inv ≫ (actRight ⊗ 𝟙 B.X) ≫ actRight := by
+    (X ◁ B.mul) ≫ actRight = (α_ X B.X B.X).inv ≫ (actRight ▷ B.X) ≫ actRight := by
     aesop_cat
   middle_assoc :
-    (actLeft ⊗ 𝟙 B.X) ≫ actRight = (α_ A.X X B.X).hom ≫ (𝟙 A.X ⊗ actRight) ≫ actLeft := by
+    (actLeft ▷ B.X) ≫ actRight = (α_ A.X X B.X).hom ≫ (A.X ◁ actRight) ≫ actLeft := by
     aesop_cat
 set_option linter.uppercaseLean3 false in
 #align Bimod Bimod
@@ -107,8 +107,8 @@ variable {A B : Mon_ C} (M : Bimod A B)
 @[ext]
 structure Hom (M N : Bimod A B) where
   hom : M.X ⟶ N.X
-  left_act_hom : M.actLeft ≫ hom = (𝟙 A.X ⊗ hom) ≫ N.actLeft := by aesop_cat
-  right_act_hom : M.actRight ≫ hom = (hom ⊗ 𝟙 B.X) ≫ N.actRight := by aesop_cat
+  left_act_hom : M.actLeft ≫ hom = (A.X ◁ hom) ≫ N.actLeft := by aesop_cat
+  right_act_hom : M.actRight ≫ hom = (hom ▷ B.X) ≫ N.actRight := by aesop_cat
 set_option linter.uppercaseLean3 false in
 #align Bimod.hom Bimod.Hom
 
@@ -159,20 +159,20 @@ and checking compatibility with left and right actions only in the forward direc
 -/
 @[simps]
 def isoOfIso {X Y : Mon_ C} {P Q : Bimod X Y} (f : P.X ≅ Q.X)
-    (f_left_act_hom : P.actLeft ≫ f.hom = (𝟙 X.X ⊗ f.hom) ≫ Q.actLeft)
-    (f_right_act_hom : P.actRight ≫ f.hom = (f.hom ⊗ 𝟙 Y.X) ≫ Q.actRight) : P ≅ Q where
+    (f_left_act_hom : P.actLeft ≫ f.hom = (X.X ◁ f.hom) ≫ Q.actLeft)
+    (f_right_act_hom : P.actRight ≫ f.hom = (f.hom ▷ Y.X) ≫ Q.actRight) : P ≅ Q where
   hom :=
     { hom := f.hom }
   inv :=
     { hom := f.inv
       left_act_hom := by
         rw [← cancel_mono f.hom, Category.assoc, Category.assoc, Iso.inv_hom_id, Category.comp_id,
-          f_left_act_hom, ← Category.assoc, ← id_tensor_comp, Iso.inv_hom_id,
-          MonoidalCategory.tensor_id, Category.id_comp]
+          f_left_act_hom, ← Category.assoc, ← MonoidalCategory.whiskerLeft_comp, Iso.inv_hom_id,
+          MonoidalCategory.whiskerLeft_id, Category.id_comp]
       right_act_hom := by
         rw [← cancel_mono f.hom, Category.assoc, Category.assoc, Iso.inv_hom_id, Category.comp_id,
-          f_right_act_hom, ← Category.assoc, ← comp_tensor_id, Iso.inv_hom_id,
-          MonoidalCategory.tensor_id, Category.id_comp] }
+          f_right_act_hom, ← Category.assoc, ← comp_whiskerRight, Iso.inv_hom_id,
+          MonoidalCategory.id_whiskerRight, Category.id_comp] }
   hom_inv_id := by ext; dsimp; rw [Iso.hom_inv_id]
   inv_hom_id := by ext; dsimp; rw [Iso.inv_hom_id]
 set_option linter.uppercaseLean3 false in
@@ -180,8 +180,6 @@ set_option linter.uppercaseLean3 false in
 
 variable (A)
 
-attribute [local simp] id_tensorHom tensorHom_id
-
 /-- A monoid object as a bimodule over itself. -/
 @[simps]
 def regular : Bimod A A where
@@ -211,7 +209,7 @@ variable {R S T : Mon_ C} (P : Bimod R S) (Q : Bimod S T)
 
 /-- The underlying object of the tensor product of two bimodules. -/
 noncomputable def X : C :=
-  coequalizer (P.actRight ⊗ 𝟙 Q.X) ((α_ _ _ _).hom ≫ (𝟙 P.X ⊗ Q.actLeft))
+  coequalizer (P.actRight ▷ Q.X) ((α_ _ _ _).hom ≫ (P.X ◁ Q.actLeft))
 set_option linter.uppercaseLean3 false in
 #align Bimod.tensor_Bimod.X Bimod.TensorBimod.X
 
@@ -224,58 +222,58 @@ noncomputable def actLeft : R.X ⊗ X P Q ⟶ X P Q :=
   (PreservesCoequalizer.iso (tensorLeft R.X) _ _).inv ≫
     colimMap
       (parallelPairHom _ _ _ _
-        ((𝟙 _ ⊗ (α_ _ _ _).hom) ≫ (α_ _ _ _).inv ≫ (P.actLeft ⊗ 𝟙 S.X ⊗ 𝟙 Q.X) ≫ (α_ _ _ _).inv)
-        ((α_ _ _ _).inv ≫ (P.actLeft ⊗ 𝟙 Q.X))
+        ((α_ _ _ _).inv ≫ ((α_ _ _ _).inv ▷ _) ≫ (P.actLeft ▷ S.X ▷ Q.X))
+        ((α_ _ _ _).inv ≫ (P.actLeft ▷ Q.X))
         (by
           dsimp
-          slice_lhs 1 2 => rw [associator_inv_naturality]
-          slice_rhs 3 4 => rw [associator_inv_naturality]
-          slice_rhs 4 5 => rw [← tensor_comp, middle_assoc, tensor_comp, comp_tensor_id]
+          simp only [Category.assoc]
+          slice_lhs 1 2 => rw [associator_inv_naturality_middle]
+          slice_rhs 3 4 => rw [← comp_whiskerRight, middle_assoc, comp_whiskerRight]
           coherence)
         (by
           dsimp
-          slice_lhs 1 1 => rw [id_tensor_comp]
-          slice_lhs 2 3 => rw [associator_inv_naturality]
-          slice_lhs 3 4 => rw [tensor_id, id_tensor_comp_tensor_id]
-          slice_rhs 4 6 => rw [Iso.inv_hom_id_assoc]
-          slice_rhs 3 4 => rw [tensor_id, tensor_id_comp_id_tensor]))
+          slice_lhs 1 1 => rw [MonoidalCategory.whiskerLeft_comp]
+          slice_lhs 2 3 => rw [associator_inv_naturality_right]
+          slice_lhs 3 4 => rw [whisker_exchange]
+          coherence))
 set_option linter.uppercaseLean3 false in
 #align Bimod.tensor_Bimod.act_left Bimod.TensorBimod.actLeft
 
-theorem id_tensor_π_actLeft :
-    (𝟙 R.X ⊗ coequalizer.π _ _) ≫ actLeft P Q =
-      (α_ _ _ _).inv ≫ (P.actLeft ⊗ 𝟙 Q.X) ≫ coequalizer.π _ _ := by
+theorem whiskerLeft_π_actLeft :
+    (R.X ◁ coequalizer.π _ _) ≫ actLeft P Q =
+      (α_ _ _ _).inv ≫ (P.actLeft ▷ Q.X) ≫ coequalizer.π _ _ := by
   erw [map_π_preserves_coequalizer_inv_colimMap (tensorLeft _)]
   simp only [Category.assoc]
 set_option linter.uppercaseLean3 false in
-#align Bimod.tensor_Bimod.id_tensor_π_act_left Bimod.TensorBimod.id_tensor_π_actLeft
+#align Bimod.tensor_Bimod.id_tensor_π_act_left Bimod.TensorBimod.whiskerLeft_π_actLeft
 
-theorem one_act_left' : (R.one ⊗ 𝟙 _) ≫ actLeft P Q = (λ_ _).hom := by
+theorem one_act_left' : (R.one ▷ _) ≫ actLeft P Q = (λ_ _).hom := by
   refine' (cancel_epi ((tensorLeft _).map (coequalizer.π _ _))).1 _
   dsimp [X]
   -- porting note: had to replace `rw` by `erw`
-  slice_lhs 1 2 => erw [id_tensor_comp_tensor_id, ← tensor_id_comp_id_tensor]
-  slice_lhs 2 3 => rw [id_tensor_π_actLeft]
-  slice_lhs 1 2 => rw [← MonoidalCategory.tensor_id, associator_inv_naturality]
-  slice_lhs 2 3 => rw [← comp_tensor_id, one_actLeft]
-  slice_rhs 1 2 => rw [leftUnitor_naturality]
+  slice_lhs 1 2 => erw [whisker_exchange]
+  slice_lhs 2 3 => rw [whiskerLeft_π_actLeft]
+  slice_lhs 1 2 => rw [associator_inv_naturality_left]
+  slice_lhs 2 3 => rw [← comp_whiskerRight, one_actLeft]
+  slice_rhs 1 2 => rw [leftUnitor_naturality']
   coherence
 set_option linter.uppercaseLean3 false in
 #align Bimod.tensor_Bimod.one_act_left' Bimod.TensorBimod.one_act_left'
 
 theorem left_assoc' :
-    (R.mul ⊗ 𝟙 _) ≫ actLeft P Q = (α_ R.X R.X _).hom ≫ (𝟙 R.X ⊗ actLeft P Q) ≫ actLeft P Q := by
+    (R.mul ▷ _) ≫ actLeft P Q = (α_ R.X R.X _).hom ≫ (R.X ◁ actLeft P Q) ≫ actLeft P Q := by
   refine' (cancel_epi ((tensorLeft _).map (coequalizer.π _ _))).1 _
   dsimp [X]
-  -- porting note: had to replace some `rw` by `erw`
-  slice_lhs 1 2 => erw [id_tensor_comp_tensor_id, ← tensor_id_comp_id_tensor]
-  slice_lhs 2 3 => rw [id_tensor_π_actLeft]
-  slice_lhs 1 2 => rw [← MonoidalCategory.tensor_id, associator_inv_naturality]
-  slice_lhs 2 3 => rw [← comp_tensor_id, left_assoc, comp_tensor_id, comp_tensor_id]
-  slice_rhs 1 2 => erw [← MonoidalCategory.tensor_id, associator_naturality]
-  slice_rhs 2 3 => rw [← id_tensor_comp, id_tensor_π_actLeft, id_tensor_comp, id_tensor_comp]
-  slice_rhs 4 5 => rw [id_tensor_π_actLeft]
-  slice_rhs 3 4 => rw [associator_inv_naturality]
+  slice_lhs 1 2 => rw [whisker_exchange]
+  slice_lhs 2 3 => rw [whiskerLeft_π_actLeft]
+  slice_lhs 1 2 => rw [associator_inv_naturality_left]
+  slice_lhs 2 3 => rw [← comp_whiskerRight, left_assoc, comp_whiskerRight, comp_whiskerRight]
+  slice_rhs 1 2 => rw [associator_naturality_right]
+  slice_rhs 2 3 =>
+    rw [← MonoidalCategory.whiskerLeft_comp, whiskerLeft_π_actLeft,
+      MonoidalCategory.whiskerLeft_comp, MonoidalCategory.whiskerLeft_comp]
+  slice_rhs 4 5 => rw [whiskerLeft_π_actLeft]
+  slice_rhs 3 4 => rw [associator_inv_naturality_middle]
   coherence
 set_option linter.uppercaseLean3 false in
 #align Bimod.tensor_Bimod.left_assoc' Bimod.TensorBimod.left_assoc'
@@ -291,62 +289,59 @@ noncomputable def actRight : X P Q ⊗ T.X ⟶ X P Q :=
   (PreservesCoequalizer.iso (tensorRight T.X) _ _).inv ≫
     colimMap
       (parallelPairHom _ _ _ _
-        ((α_ _ _ _).hom ≫ (α_ _ _ _).hom ≫ (𝟙 P.X ⊗ 𝟙 S.X ⊗ Q.actRight) ≫ (α_ _ _ _).inv)
-        ((α_ _ _ _).hom ≫ (𝟙 P.X ⊗ Q.actRight))
+        ((α_ _ _ _).hom ≫ (α_ _ _ _).hom ≫ (P.X ◁ S.X ◁ Q.actRight) ≫ (α_ _ _ _).inv)
+        ((α_ _ _ _).hom ≫ (P.X ◁ Q.actRight))
         (by
           dsimp
-          slice_lhs 1 2 => rw [associator_naturality]
-          slice_lhs 2 3 => rw [tensor_id, tensor_id_comp_id_tensor]
-          slice_rhs 3 4 => rw [associator_inv_naturality]
-          slice_rhs 2 4 => rw [Iso.hom_inv_id_assoc]
-          slice_rhs 2 3 => rw [tensor_id, id_tensor_comp_tensor_id])
+          slice_lhs 1 2 => rw [associator_naturality_left]
+          slice_lhs 2 3 => rw [← whisker_exchange]
+          simp)
         (by
           dsimp
-          slice_lhs 1 1 => rw [comp_tensor_id]
-          slice_lhs 2 3 => rw [associator_naturality]
-          slice_lhs 3 4 => rw [← id_tensor_comp, middle_assoc, id_tensor_comp]
-          slice_rhs 4 6 => rw [Iso.inv_hom_id_assoc]
-          slice_rhs 3 4 => rw [← id_tensor_comp]
-          coherence))
+          simp only [comp_whiskerRight, whisker_assoc, Category.assoc, Iso.inv_hom_id_assoc]
+          slice_lhs 3 4 =>
+            rw [← MonoidalCategory.whiskerLeft_comp, middle_assoc,
+              MonoidalCategory.whiskerLeft_comp]
+          simp))
 set_option linter.uppercaseLean3 false in
 #align Bimod.tensor_Bimod.act_right Bimod.TensorBimod.actRight
 
 theorem π_tensor_id_actRight :
-    (coequalizer.π _ _ ⊗ 𝟙 T.X) ≫ actRight P Q =
-      (α_ _ _ _).hom ≫ (𝟙 P.X ⊗ Q.actRight) ≫ coequalizer.π _ _ := by
+    (coequalizer.π _ _ ▷ T.X) ≫ actRight P Q =
+      (α_ _ _ _).hom ≫ (P.X ◁ Q.actRight) ≫ coequalizer.π _ _ := by
   erw [map_π_preserves_coequalizer_inv_colimMap (tensorRight _)]
   simp only [Category.assoc]
 set_option linter.uppercaseLean3 false in
 #align Bimod.tensor_Bimod.π_tensor_id_act_right Bimod.TensorBimod.π_tensor_id_actRight
 
-theorem actRight_one' : (𝟙 _ ⊗ T.one) ≫ actRight P Q = (ρ_ _).hom := by
+theorem actRight_one' : (_ ◁ T.one) ≫ actRight P Q = (ρ_ _).hom := by
   refine' (cancel_epi ((tensorRight _).map (coequalizer.π _ _))).1 _
   dsimp [X]
   -- porting note: had to replace `rw` by `erw`
-  slice_lhs 1 2 => erw [tensor_id_comp_id_tensor, ← id_tensor_comp_tensor_id]
+  slice_lhs 1 2 =>erw [← whisker_exchange]
   slice_lhs 2 3 => rw [π_tensor_id_actRight]
-  slice_lhs 1 2 => rw [← MonoidalCategory.tensor_id, associator_naturality]
-  slice_lhs 2 3 => rw [← id_tensor_comp, actRight_one]
-  slice_rhs 1 2 => rw [rightUnitor_naturality]
-  coherence
+  slice_lhs 1 2 => rw [associator_naturality_right]
+  slice_lhs 2 3 => rw [← MonoidalCategory.whiskerLeft_comp, actRight_one]
+  simp
 set_option linter.uppercaseLean3 false in
 #align Bimod.tensor_Bimod.act_right_one' Bimod.TensorBimod.actRight_one'
 
 theorem right_assoc' :
-    (𝟙 _ ⊗ T.mul) ≫ actRight P Q =
-      (α_ _ T.X T.X).inv ≫ (actRight P Q ⊗ 𝟙 T.X) ≫ actRight P Q := by
+    (_ ◁ T.mul) ≫ actRight P Q =
+      (α_ _ T.X T.X).inv ≫ (actRight P Q ▷ T.X) ≫ actRight P Q := by
   refine' (cancel_epi ((tensorRight _).map (coequalizer.π _ _))).1 _
   dsimp [X]
   -- porting note: had to replace some `rw` by `erw`
-  slice_lhs 1 2 => erw [tensor_id_comp_id_tensor, ← id_tensor_comp_tensor_id]
+  slice_lhs 1 2 => rw [← whisker_exchange]
   slice_lhs 2 3 => rw [π_tensor_id_actRight]
-  slice_lhs 1 2 => rw [← MonoidalCategory.tensor_id, associator_naturality]
-  slice_lhs 2 3 => rw [← id_tensor_comp, right_assoc, id_tensor_comp, id_tensor_comp]
-  slice_rhs 1 2 => erw [← MonoidalCategory.tensor_id, associator_inv_naturality]
-  slice_rhs 2 3 => rw [← comp_tensor_id, π_tensor_id_actRight, comp_tensor_id, comp_tensor_id]
+  slice_lhs 1 2 => rw [associator_naturality_right]
+  slice_lhs 2 3 => rw [← MonoidalCategory.whiskerLeft_comp, right_assoc,
+    MonoidalCategory.whiskerLeft_comp, MonoidalCategory.whiskerLeft_comp]
+  slice_rhs 1 2 => rw [associator_inv_naturality_left]
+  slice_rhs 2 3 => rw [← comp_whiskerRight, π_tensor_id_actRight, comp_whiskerRight,
+    comp_whiskerRight]
   slice_rhs 4 5 => rw [π_tensor_id_actRight]
-  slice_rhs 3 4 => rw [associator_naturality]
-  coherence
+  simp
 set_option linter.uppercaseLean3 false in
 #align Bimod.tensor_Bimod.right_assoc' Bimod.TensorBimod.right_assoc'
 
@@ -359,21 +354,22 @@ variable [∀ X : C, PreservesColimitsOfSize.{0, 0} (tensorLeft X)]
 variable [∀ X : C, PreservesColimitsOfSize.{0, 0} (tensorRight X)]
 
 theorem middle_assoc' :
-    (actLeft P Q ⊗ 𝟙 T.X) ≫ actRight P Q =
-      (α_ R.X _ T.X).hom ≫ (𝟙 R.X ⊗ actRight P Q) ≫ actLeft P Q := by
+    (actLeft P Q ▷ T.X) ≫ actRight P Q =
+      (α_ R.X _ T.X).hom ≫ (R.X ◁ actRight P Q) ≫ actLeft P Q := by
   refine' (cancel_epi ((tensorLeft _ ⋙ tensorRight _).map (coequalizer.π _ _))).1 _
   dsimp [X]
-  slice_lhs 1 2 => rw [← comp_tensor_id, id_tensor_π_actLeft, comp_tensor_id, comp_tensor_id]
+  slice_lhs 1 2 => rw [← comp_whiskerRight, whiskerLeft_π_actLeft, comp_whiskerRight,
+    comp_whiskerRight]
   slice_lhs 3 4 => rw [π_tensor_id_actRight]
-  slice_lhs 2 3 => rw [associator_naturality]
-  slice_lhs 3 4 => rw [MonoidalCategory.tensor_id, tensor_id_comp_id_tensor]
+  slice_lhs 2 3 => rw [associator_naturality_left]
   -- porting note: had to replace `rw` by `erw`
-  slice_rhs 1 2 => erw [associator_naturality]
-  slice_rhs 2 3 => rw [← id_tensor_comp, π_tensor_id_actRight, id_tensor_comp, id_tensor_comp]
-  slice_rhs 4 5 => rw [id_tensor_π_actLeft]
-  slice_rhs 3 4 => rw [associator_inv_naturality]
-  slice_rhs 4 5 => rw [MonoidalCategory.tensor_id, id_tensor_comp_tensor_id]
-  coherence
+  slice_rhs 1 2 => rw [associator_naturality_middle]
+  slice_rhs 2 3 => rw [← MonoidalCategory.whiskerLeft_comp, π_tensor_id_actRight,
+    MonoidalCategory.whiskerLeft_comp, MonoidalCategory.whiskerLeft_comp]
+  slice_rhs 4 5 => rw [whiskerLeft_π_actLeft]
+  slice_rhs 3 4 => rw [associator_inv_naturality_right]
+  slice_rhs 4 5 => rw [whisker_exchange]
+  simp
 set_option linter.uppercaseLean3 false in
 #align Bimod.tensor_Bimod.middle_assoc' Bimod.TensorBimod.middle_assoc'
 
@@ -401,62 +397,73 @@ noncomputable def tensorBimod {X Y Z : Mon_ C} (M : Bimod X Y) (N : Bimod Y Z) :
 set_option linter.uppercaseLean3 false in
 #align Bimod.tensor_Bimod Bimod.tensorBimod
 
-/-- Tensor product of two morphisms of bimodule objects. -/
+/-- Left whiskering for morphisms of bimodule objects. -/
 @[simps]
-noncomputable def tensorHom {X Y Z : Mon_ C} {M₁ M₂ : Bimod X Y} {N₁ N₂ : Bimod Y Z} (f : M₁ ⟶ M₂)
-    (g : N₁ ⟶ N₂) : M₁.tensorBimod N₁ ⟶ M₂.tensorBimod N₂ where
+noncomputable def whiskerLeft {X Y Z : Mon_ C} (M : Bimod X Y) {N₁ N₂ : Bimod Y Z} (f : N₁ ⟶ N₂) :
+    M.tensorBimod N₁ ⟶ M.tensorBimod N₂ where
   hom :=
     colimMap
-      (parallelPairHom _ _ _ _ ((f.hom ⊗ 𝟙 Y.X) ⊗ g.hom) (f.hom ⊗ g.hom)
-        (by
-          rw [← tensor_comp, ← tensor_comp, Hom.right_act_hom, Category.id_comp, Category.comp_id])
+      (parallelPairHom _ _ _ _ (_ ◁ f.hom) (_ ◁ f.hom)
+        (by rw [whisker_exchange])
         (by
-          slice_lhs 2 3 => rw [← tensor_comp, Hom.left_act_hom, Category.id_comp]
-          slice_rhs 1 2 => rw [associator_naturality]
-          slice_rhs 2 3 => rw [← tensor_comp, Category.comp_id]))
+          simp only [Category.assoc, tensor_whiskerLeft, Iso.inv_hom_id_assoc,
+            Iso.cancel_iso_hom_left]
+          slice_lhs 1 2 => rw [← MonoidalCategory.whiskerLeft_comp, Hom.left_act_hom]
+          simp))
   left_act_hom := by
     refine' (cancel_epi ((tensorLeft _).map (coequalizer.π _ _))).1 _
     dsimp
-    slice_lhs 1 2 => rw [TensorBimod.id_tensor_π_actLeft]
+    slice_lhs 1 2 => rw [TensorBimod.whiskerLeft_π_actLeft]
     slice_lhs 3 4 => rw [ι_colimMap, parallelPairHom_app_one]
-    slice_lhs 2 3 => rw [← tensor_comp, Hom.left_act_hom, Category.id_comp]
-    slice_rhs 1 2 => rw [← id_tensor_comp, ι_colimMap, parallelPairHom_app_one, id_tensor_comp]
-    slice_rhs 2 3 => rw [TensorBimod.id_tensor_π_actLeft]
-    slice_rhs 1 2 => rw [associator_inv_naturality]
-    slice_rhs 2 3 => rw [← tensor_comp, Category.comp_id]
+    slice_rhs 1 2 => rw [← MonoidalCategory.whiskerLeft_comp, ι_colimMap, parallelPairHom_app_one,
+      MonoidalCategory.whiskerLeft_comp]
+    slice_rhs 2 3 => rw [TensorBimod.whiskerLeft_π_actLeft]
+    slice_rhs 1 2 => rw [associator_inv_naturality_right]
+    slice_rhs 2 3 => rw [whisker_exchange]
+    simp
   right_act_hom := by
     refine' (cancel_epi ((tensorRight _).map (coequalizer.π _ _))).1 _
     dsimp
     slice_lhs 1 2 => rw [TensorBimod.π_tensor_id_actRight]
     slice_lhs 3 4 => rw [ι_colimMap, parallelPairHom_app_one]
-    slice_lhs 2 3 => rw [← tensor_comp, Category.id_comp, Hom.right_act_hom]
-    slice_rhs 1 2 => rw [← comp_tensor_id, ι_colimMap, parallelPairHom_app_one, comp_tensor_id]
+    slice_lhs 2 3 => rw [← MonoidalCategory.whiskerLeft_comp, Hom.right_act_hom]
+    slice_rhs 1 2 =>
+      rw [← comp_whiskerRight, ι_colimMap, parallelPairHom_app_one, comp_whiskerRight]
     slice_rhs 2 3 => rw [TensorBimod.π_tensor_id_actRight]
-    slice_rhs 1 2 => rw [associator_naturality]
-    slice_rhs 2 3 => rw [← tensor_comp, Category.comp_id]
-set_option linter.uppercaseLean3 false in
-#align Bimod.tensor_hom Bimod.tensorHom
+    simp
 
-theorem tensor_id {X Y Z : Mon_ C} {M : Bimod X Y} {N : Bimod Y Z} :
-    tensorHom (𝟙 M) (𝟙 N) = 𝟙 (M.tensorBimod N) := by
-  ext
-  apply Limits.coequalizer.hom_ext
-  simp only [id_hom', MonoidalCategory.tensor_id, tensorHom_hom, ι_colimMap,
-    parallelPairHom_app_one]
-  dsimp; dsimp only [TensorBimod.X]
-  simp only [Category.id_comp, Category.comp_id]
-set_option linter.uppercaseLean3 false in
-#align Bimod.tensor_id Bimod.tensor_id
-
-theorem tensor_comp {X Y Z : Mon_ C} {M₁ M₂ M₃ : Bimod X Y} {N₁ N₂ N₃ : Bimod Y Z} (f₁ : M₁ ⟶ M₂)
-    (f₂ : M₂ ⟶ M₃) (g₁ : N₁ ⟶ N₂) (g₂ : N₂ ⟶ N₃) :
-    tensorHom (f₁ ≫ f₂) (g₁ ≫ g₂) = tensorHom f₁ g₁ ≫ tensorHom f₂ g₂ := by
-  ext
-  apply Limits.coequalizer.hom_ext
-  simp only [comp_hom', MonoidalCategory.tensor_comp, tensorHom_hom,
-    ι_colimMap, parallelPairHom_app_one, Category.assoc, ι_colimMap_assoc]
-set_option linter.uppercaseLean3 false in
-#align Bimod.tensor_comp Bimod.tensor_comp
+/-- Right whiskering for morphisms of bimodule objects. -/
+@[simps]
+noncomputable def whiskerRight {X Y Z : Mon_ C} {M₁ M₂ : Bimod X Y} (f : M₁ ⟶ M₂) (N : Bimod Y Z) :
+    M₁.tensorBimod N ⟶ M₂.tensorBimod N where
+  hom :=
+    colimMap
+      (parallelPairHom _ _ _ _ (f.hom ▷ _ ▷ _) (f.hom ▷ _)
+        (by rw [← comp_whiskerRight, Hom.right_act_hom, comp_whiskerRight])
+        (by
+          slice_lhs 2 3 => rw [whisker_exchange]
+          simp))
+  left_act_hom := by
+    refine' (cancel_epi ((tensorLeft _).map (coequalizer.π _ _))).1 _
+    dsimp
+    slice_lhs 1 2 => rw [TensorBimod.whiskerLeft_π_actLeft]
+    slice_lhs 3 4 => rw [ι_colimMap, parallelPairHom_app_one]
+    slice_lhs 2 3 => rw [← comp_whiskerRight, Hom.left_act_hom]
+    slice_rhs 1 2 => rw [← MonoidalCategory.whiskerLeft_comp, ι_colimMap, parallelPairHom_app_one,
+      MonoidalCategory.whiskerLeft_comp]
+    slice_rhs 2 3 => rw [TensorBimod.whiskerLeft_π_actLeft]
+    slice_rhs 1 2 => rw [associator_inv_naturality_middle]
+    simp
+  right_act_hom := by
+    refine' (cancel_epi ((tensorRight _).map (coequalizer.π _ _))).1 _
+    dsimp
+    slice_lhs 1 2 => rw [TensorBimod.π_tensor_id_actRight]
+    slice_lhs 3 4 => rw [ι_colimMap, parallelPairHom_app_one]
+    slice_lhs 2 3 => rw [whisker_exchange]
+    slice_rhs 1 2 => rw [← comp_whiskerRight, ι_colimMap, parallelPairHom_app_one,
+      comp_whiskerRight]
+    slice_rhs 2 3 => rw [TensorBimod.π_tensor_id_actRight]
+    simp
 
 end
 
@@ -472,19 +479,17 @@ variable {R S T U : Mon_ C} (P : Bimod R S) (Q : Bimod S T) (L : Bimod T U)
 the associator isomorphism. -/
 noncomputable def homAux : (P.tensorBimod Q).X ⊗ L.X ⟶ (P.tensorBimod (Q.tensorBimod L)).X :=
   (PreservesCoequalizer.iso (tensorRight L.X) _ _).inv ≫
-    coequalizer.desc ((α_ _ _ _).hom ≫ (𝟙 P.X ⊗ coequalizer.π _ _) ≫ coequalizer.π _ _)
+    coequalizer.desc ((α_ _ _ _).hom ≫ (P.X ◁ coequalizer.π _ _) ≫ coequalizer.π _ _)
       (by
         dsimp; dsimp [TensorBimod.X]
-        slice_lhs 1 2 => rw [associator_naturality]
-        slice_lhs 2 3 =>
-          rw [MonoidalCategory.tensor_id, tensor_id_comp_id_tensor, ← id_tensor_comp_tensor_id]
+        slice_lhs 1 2 => rw [associator_naturality_left]
+        slice_lhs 2 3 => rw [← whisker_exchange]
         slice_lhs 3 4 => rw [coequalizer.condition]
-        slice_lhs 2 3 => rw [← MonoidalCategory.tensor_id, associator_naturality]
-        slice_lhs 3 4 => rw [← id_tensor_comp, TensorBimod.id_tensor_π_actLeft, id_tensor_comp]
-        slice_rhs 1 1 => rw [comp_tensor_id]
-        slice_rhs 2 3 => rw [associator_naturality]
-        slice_rhs 3 4 => rw [← id_tensor_comp]
-        coherence)
+        slice_lhs 2 3 => rw [associator_naturality_right]
+        slice_lhs 3 4 =>
+          rw [← MonoidalCategory.whiskerLeft_comp,
+            TensorBimod.whiskerLeft_π_actLeft, MonoidalCategory.whiskerLeft_comp]
+        simp)
 set_option linter.uppercaseLean3 false in
 #align Bimod.associator_Bimod.hom_aux Bimod.AssociatorBimod.homAux
 
@@ -496,71 +501,73 @@ noncomputable def hom :
       dsimp [homAux]
       refine' (cancel_epi ((tensorRight _ ⋙ tensorRight _).map (coequalizer.π _ _))).1 _
       dsimp [TensorBimod.X]
-      slice_lhs 1 2 =>
-        rw [← comp_tensor_id, TensorBimod.π_tensor_id_actRight, comp_tensor_id, comp_tensor_id]
+      slice_lhs 1 2 => rw [← comp_whiskerRight, TensorBimod.π_tensor_id_actRight,
+        comp_whiskerRight, comp_whiskerRight]
       slice_lhs 3 5 => rw [π_tensor_id_preserves_coequalizer_inv_desc]
-      slice_lhs 2 3 => rw [associator_naturality]
-      slice_lhs 3 4 => rw [← id_tensor_comp, coequalizer.condition, id_tensor_comp, id_tensor_comp]
-      slice_rhs 1 2 => rw [associator_naturality]
-      slice_rhs 2 3 =>
-        rw [MonoidalCategory.tensor_id, tensor_id_comp_id_tensor, ← id_tensor_comp_tensor_id]
+      slice_lhs 2 3 => rw [associator_naturality_middle]
+      slice_lhs 3 4 =>
+        rw [← MonoidalCategory.whiskerLeft_comp, coequalizer.condition,
+          MonoidalCategory.whiskerLeft_comp, MonoidalCategory.whiskerLeft_comp]
+      slice_rhs 1 2 => rw [associator_naturality_left]
+      slice_rhs 2 3 => rw [← whisker_exchange]
       slice_rhs 3 5 => rw [π_tensor_id_preserves_coequalizer_inv_desc]
-      slice_rhs 2 3 => rw [← MonoidalCategory.tensor_id, associator_naturality]
-      coherence)
+      simp)
 set_option linter.uppercaseLean3 false in
 #align Bimod.associator_Bimod.hom Bimod.AssociatorBimod.hom
 
 theorem hom_left_act_hom' :
     ((P.tensorBimod Q).tensorBimod L).actLeft ≫ hom P Q L =
-      (𝟙 R.X ⊗ hom P Q L) ≫ (P.tensorBimod (Q.tensorBimod L)).actLeft := by
+      (R.X ◁ hom P Q L) ≫ (P.tensorBimod (Q.tensorBimod L)).actLeft := by
   dsimp; dsimp [hom, homAux]
   refine' (cancel_epi ((tensorLeft _).map (coequalizer.π _ _))).1 _
   rw [tensorLeft_map]
-  slice_lhs 1 2 => rw [TensorBimod.id_tensor_π_actLeft]
+  slice_lhs 1 2 => rw [TensorBimod.whiskerLeft_π_actLeft]
   slice_lhs 3 4 => rw [coequalizer.π_desc]
-  slice_rhs 1 2 => rw [← id_tensor_comp, coequalizer.π_desc, id_tensor_comp]
+  slice_rhs 1 2 => rw [← MonoidalCategory.whiskerLeft_comp, coequalizer.π_desc,
+    MonoidalCategory.whiskerLeft_comp]
   refine' (cancel_epi ((tensorRight _ ⋙ tensorLeft _).map (coequalizer.π _ _))).1 _
   dsimp; dsimp [TensorBimod.X]
-  slice_lhs 1 2 => rw [associator_inv_naturality]
+  slice_lhs 1 2 => rw [associator_inv_naturality_middle]
   slice_lhs 2 3 =>
-    rw [← comp_tensor_id, TensorBimod.id_tensor_π_actLeft, comp_tensor_id, comp_tensor_id]
+    rw [← comp_whiskerRight, TensorBimod.whiskerLeft_π_actLeft,
+      comp_whiskerRight, comp_whiskerRight]
   slice_lhs 4 6 => rw [π_tensor_id_preserves_coequalizer_inv_desc]
-  slice_lhs 3 4 => rw [associator_naturality]
-  slice_lhs 4 5 => rw [MonoidalCategory.tensor_id, tensor_id_comp_id_tensor]
+  slice_lhs 3 4 => rw [associator_naturality_left]
   slice_rhs 1 3 =>
-    rw [← id_tensor_comp, ← id_tensor_comp, π_tensor_id_preserves_coequalizer_inv_desc,
-      id_tensor_comp, id_tensor_comp]
-  slice_rhs 3 4 => erw [TensorBimod.id_tensor_π_actLeft P (Q.tensorBimod L)]
-  slice_rhs 2 3 => erw [associator_inv_naturality]
-  slice_rhs 3 4 => erw [MonoidalCategory.tensor_id, id_tensor_comp_tensor_id]
+    rw [← MonoidalCategory.whiskerLeft_comp, ← MonoidalCategory.whiskerLeft_comp,
+      π_tensor_id_preserves_coequalizer_inv_desc, MonoidalCategory.whiskerLeft_comp,
+      MonoidalCategory.whiskerLeft_comp]
+  slice_rhs 3 4 => erw [TensorBimod.whiskerLeft_π_actLeft P (Q.tensorBimod L)]
+  slice_rhs 2 3 => erw [associator_inv_naturality_right]
+  slice_rhs 3 4 => erw [whisker_exchange]
   coherence
 set_option linter.uppercaseLean3 false in
 #align Bimod.associator_Bimod.hom_left_act_hom' Bimod.AssociatorBimod.hom_left_act_hom'
 
 theorem hom_right_act_hom' :
     ((P.tensorBimod Q).tensorBimod L).actRight ≫ hom P Q L =
-      (hom P Q L ⊗ 𝟙 U.X) ≫ (P.tensorBimod (Q.tensorBimod L)).actRight := by
+      (hom P Q L ▷ U.X) ≫ (P.tensorBimod (Q.tensorBimod L)).actRight := by
   dsimp; dsimp [hom, homAux]
   refine' (cancel_epi ((tensorRight _).map (coequalizer.π _ _))).1 _
   rw [tensorRight_map]
   slice_lhs 1 2 => rw [TensorBimod.π_tensor_id_actRight]
   slice_lhs 3 4 => rw [coequalizer.π_desc]
-  slice_rhs 1 2 => rw [← comp_tensor_id, coequalizer.π_desc, comp_tensor_id]
+  slice_rhs 1 2 => rw [← comp_whiskerRight, coequalizer.π_desc, comp_whiskerRight]
   refine' (cancel_epi ((tensorRight _ ⋙ tensorRight _).map (coequalizer.π _ _))).1 _
   dsimp; dsimp [TensorBimod.X]
-  slice_lhs 1 2 => rw [associator_naturality]
-  slice_lhs 2 3 =>
-    rw [MonoidalCategory.tensor_id, tensor_id_comp_id_tensor, ← id_tensor_comp_tensor_id]
+  slice_lhs 1 2 => rw [associator_naturality_left]
+  slice_lhs 2 3 => rw [← whisker_exchange]
   slice_lhs 3 5 => rw [π_tensor_id_preserves_coequalizer_inv_desc]
-  slice_lhs 2 3 => rw [← MonoidalCategory.tensor_id, associator_naturality]
+  slice_lhs 2 3 => rw [associator_naturality_right]
   slice_rhs 1 3 =>
-    rw [← comp_tensor_id, ← comp_tensor_id, π_tensor_id_preserves_coequalizer_inv_desc,
-      comp_tensor_id, comp_tensor_id]
+    rw [← comp_whiskerRight, ← comp_whiskerRight, π_tensor_id_preserves_coequalizer_inv_desc,
+      comp_whiskerRight, comp_whiskerRight]
   slice_rhs 3 4 => erw [TensorBimod.π_tensor_id_actRight P (Q.tensorBimod L)]
-  slice_rhs 2 3 => erw [associator_naturality]
+  slice_rhs 2 3 => erw [associator_naturality_middle]
   dsimp
   slice_rhs 3 4 =>
-    rw [← id_tensor_comp, TensorBimod.π_tensor_id_actRight, id_tensor_comp, id_tensor_comp]
+    rw [← MonoidalCategory.whiskerLeft_comp, TensorBimod.π_tensor_id_actRight,
+      MonoidalCategory.whiskerLeft_comp, MonoidalCategory.whiskerLeft_comp]
   coherence
 set_option linter.uppercaseLean3 false in
 #align Bimod.associator_Bimod.hom_right_act_hom' Bimod.AssociatorBimod.hom_right_act_hom'
@@ -569,20 +576,19 @@ set_option linter.uppercaseLean3 false in
 the associator isomorphism. -/
 noncomputable def invAux : P.X ⊗ (Q.tensorBimod L).X ⟶ ((P.tensorBimod Q).tensorBimod L).X :=
   (PreservesCoequalizer.iso (tensorLeft P.X) _ _).inv ≫
-    coequalizer.desc ((α_ _ _ _).inv ≫ (coequalizer.π _ _ ⊗ 𝟙 L.X) ≫ coequalizer.π _ _)
+    coequalizer.desc ((α_ _ _ _).inv ≫ (coequalizer.π _ _ ▷ L.X) ≫ coequalizer.π _ _)
       (by
         dsimp; dsimp [TensorBimod.X]
-        slice_lhs 1 2 => rw [associator_inv_naturality]
-        rw [← Iso.inv_hom_id_assoc (α_ _ _ _) (𝟙 P.X ⊗ Q.actRight), comp_tensor_id]
+        slice_lhs 1 2 => rw [associator_inv_naturality_middle]
+        rw [← Iso.inv_hom_id_assoc (α_ _ _ _) (P.X ◁ Q.actRight), comp_whiskerRight]
         slice_lhs 3 4 =>
-          rw [← comp_tensor_id, Category.assoc, ← TensorBimod.π_tensor_id_actRight,
-            comp_tensor_id]
+          rw [← comp_whiskerRight, Category.assoc, ← TensorBimod.π_tensor_id_actRight,
+            comp_whiskerRight]
         slice_lhs 4 5 => rw [coequalizer.condition]
-        slice_lhs 3 4 => rw [associator_naturality]
-        slice_lhs 4 5 => rw [MonoidalCategory.tensor_id, tensor_id_comp_id_tensor]
-        slice_rhs 1 2 => rw [id_tensor_comp]
-        slice_rhs 2 3 => rw [associator_inv_naturality]
-        slice_rhs 3 4 => rw [MonoidalCategory.tensor_id, id_tensor_comp_tensor_id]
+        slice_lhs 3 4 => rw [associator_naturality_left]
+        slice_rhs 1 2 => rw [MonoidalCategory.whiskerLeft_comp]
+        slice_rhs 2 3 => rw [associator_inv_naturality_right]
+        slice_rhs 3 4 => rw [whisker_exchange]
         coherence)
 set_option linter.uppercaseLean3 false in
 #align Bimod.associator_Bimod.inv_aux Bimod.AssociatorBimod.invAux
@@ -595,15 +601,17 @@ noncomputable def inv :
       dsimp [invAux]
       refine' (cancel_epi ((tensorLeft _).map (coequalizer.π _ _))).1 _
       dsimp [TensorBimod.X]
-      slice_lhs 1 2 => rw [id_tensor_comp_tensor_id, ← tensor_id_comp_id_tensor]
+      slice_lhs 1 2 => rw [whisker_exchange]
       slice_lhs 2 4 => rw [id_tensor_π_preserves_coequalizer_inv_desc]
-      slice_lhs 1 2 => rw [← MonoidalCategory.tensor_id, associator_inv_naturality]
-      slice_lhs 2 3 => rw [← comp_tensor_id, coequalizer.condition, comp_tensor_id, comp_tensor_id]
-      slice_rhs 1 2 => rw [← MonoidalCategory.tensor_id, associator_naturality]
+      slice_lhs 1 2 => rw [associator_inv_naturality_left]
+      slice_lhs 2 3 =>
+        rw [← comp_whiskerRight, coequalizer.condition, comp_whiskerRight, comp_whiskerRight]
+      slice_rhs 1 2 => rw [associator_naturality_right]
       slice_rhs 2 3 =>
-        rw [← id_tensor_comp, TensorBimod.id_tensor_π_actLeft, id_tensor_comp, id_tensor_comp]
+        rw [← MonoidalCategory.whiskerLeft_comp, TensorBimod.whiskerLeft_π_actLeft,
+          MonoidalCategory.whiskerLeft_comp, MonoidalCategory.whiskerLeft_comp]
       slice_rhs 4 6 => rw [id_tensor_π_preserves_coequalizer_inv_desc]
-      slice_rhs 3 4 => rw [associator_inv_naturality]
+      slice_rhs 3 4 => rw [associator_inv_naturality_middle]
       coherence)
 set_option linter.uppercaseLean3 false in
 #align Bimod.associator_Bimod.inv Bimod.AssociatorBimod.inv
@@ -652,7 +660,7 @@ set_option linter.uppercaseLean3 false in
 
 /-- The underlying morphism of the inverse component of the left unitor isomorphism. -/
 noncomputable def inv : P.X ⟶ TensorBimod.X (regular R) P :=
-  (λ_ P.X).inv ≫ (R.one ⊗ 𝟙 _) ≫ coequalizer.π _ _
+  (λ_ P.X).inv ≫ (R.one ▷ _) ≫ coequalizer.π _ _
 set_option linter.uppercaseLean3 false in
 #align Bimod.left_unitor_Bimod.inv Bimod.LeftUnitorBimod.inv
 
@@ -660,12 +668,12 @@ theorem hom_inv_id : hom P ≫ inv P = 𝟙 _ := by
   dsimp only [hom, inv, TensorBimod.X]
   ext; dsimp
   slice_lhs 1 2 => rw [coequalizer.π_desc]
-  slice_lhs 1 2 => rw [leftUnitor_inv_naturality]
-  slice_lhs 2 3 => rw [id_tensor_comp_tensor_id, ← tensor_id_comp_id_tensor]
-  slice_lhs 3 3 => rw [← Iso.inv_hom_id_assoc (α_ R.X R.X P.X) (𝟙 R.X ⊗ P.actLeft)]
+  slice_lhs 1 2 => rw [leftUnitor_inv_naturality']
+  slice_lhs 2 3 => rw [whisker_exchange]
+  slice_lhs 3 3 => rw [← Iso.inv_hom_id_assoc (α_ R.X R.X P.X) (R.X ◁ P.actLeft)]
   slice_lhs 4 6 => rw [← Category.assoc, ← coequalizer.condition]
-  slice_lhs 2 3 => rw [← MonoidalCategory.tensor_id, associator_inv_naturality]
-  slice_lhs 3 4 => rw [← comp_tensor_id, tensorHom_id, tensorHom_id, Mon_.one_mul]
+  slice_lhs 2 3 => rw [associator_inv_naturality_left]
+  slice_lhs 3 4 => rw [← comp_whiskerRight, Mon_.one_mul]
   slice_rhs 1 2 => rw [Category.comp_id]
   coherence
 set_option linter.uppercaseLean3 false in
@@ -683,24 +691,24 @@ variable [∀ X : C, PreservesColimitsOfSize.{0, 0} (tensorLeft X)]
 variable [∀ X : C, PreservesColimitsOfSize.{0, 0} (tensorRight X)]
 
 theorem hom_left_act_hom' :
-    ((regular R).tensorBimod P).actLeft ≫ hom P = (𝟙 R.X ⊗ hom P) ≫ P.actLeft := by
+    ((regular R).tensorBimod P).actLeft ≫ hom P = (R.X ◁ hom P) ≫ P.actLeft := by
   dsimp; dsimp [hom, TensorBimod.actLeft, regular]
   refine' (cancel_epi ((tensorLeft _).map (coequalizer.π _ _))).1 _
   dsimp
   slice_lhs 1 4 => rw [id_tensor_π_preserves_coequalizer_inv_colimMap_desc]
   slice_lhs 2 3 => rw [left_assoc]
-  slice_rhs 1 2 => rw [← id_tensor_comp, coequalizer.π_desc]
+  slice_rhs 1 2 => rw [← MonoidalCategory.whiskerLeft_comp, coequalizer.π_desc]
   rw [Iso.inv_hom_id_assoc]
 set_option linter.uppercaseLean3 false in
 #align Bimod.left_unitor_Bimod.hom_left_act_hom' Bimod.LeftUnitorBimod.hom_left_act_hom'
 
 theorem hom_right_act_hom' :
-    ((regular R).tensorBimod P).actRight ≫ hom P = (hom P ⊗ 𝟙 S.X) ≫ P.actRight := by
+    ((regular R).tensorBimod P).actRight ≫ hom P = (hom P ▷ S.X) ≫ P.actRight := by
   dsimp; dsimp [hom, TensorBimod.actRight, regular]
   refine' (cancel_epi ((tensorRight _).map (coequalizer.π _ _))).1 _
   dsimp
   slice_lhs 1 4 => rw [π_tensor_id_preserves_coequalizer_inv_colimMap_desc]
-  slice_rhs 1 2 => rw [← comp_tensor_id, coequalizer.π_desc]
+  slice_rhs 1 2 => rw [← comp_whiskerRight, coequalizer.π_desc]
   slice_rhs 1 2 => rw [middle_assoc]
   simp only [Category.assoc]
 set_option linter.uppercaseLean3 false in
@@ -720,7 +728,7 @@ set_option linter.uppercaseLean3 false in
 
 /-- The underlying morphism of the inverse component of the right unitor isomorphism. -/
 noncomputable def inv : P.X ⟶ TensorBimod.X P (regular S) :=
-  (ρ_ P.X).inv ≫ (𝟙 _ ⊗ S.one) ≫ coequalizer.π _ _
+  (ρ_ P.X).inv ≫ (_ ◁ S.one) ≫ coequalizer.π _ _
 set_option linter.uppercaseLean3 false in
 #align Bimod.right_unitor_Bimod.inv Bimod.RightUnitorBimod.inv
 
@@ -728,11 +736,11 @@ theorem hom_inv_id : hom P ≫ inv P = 𝟙 _ := by
   dsimp only [hom, inv, TensorBimod.X]
   ext; dsimp
   slice_lhs 1 2 => rw [coequalizer.π_desc]
-  slice_lhs 1 2 => rw [rightUnitor_inv_naturality]
-  slice_lhs 2 3 => rw [tensor_id_comp_id_tensor, ← id_tensor_comp_tensor_id]
+  slice_lhs 1 2 => rw [rightUnitor_inv_naturality']
+  slice_lhs 2 3 => rw [← whisker_exchange]
   slice_lhs 3 4 => rw [coequalizer.condition]
-  slice_lhs 2 3 => rw [← MonoidalCategory.tensor_id, associator_naturality]
-  slice_lhs 3 4 => rw [← id_tensor_comp, id_tensorHom, id_tensorHom, Mon_.mul_one]
+  slice_lhs 2 3 => rw [associator_naturality_right]
+  slice_lhs 3 4 => rw [← MonoidalCategory.whiskerLeft_comp, Mon_.mul_one]
   slice_rhs 1 2 => rw [Category.comp_id]
   coherence
 set_option linter.uppercaseLean3 false in
@@ -750,25 +758,25 @@ variable [∀ X : C, PreservesColimitsOfSize.{0, 0} (tensorLeft X)]
 variable [∀ X : C, PreservesColimitsOfSize.{0, 0} (tensorRight X)]
 
 theorem hom_left_act_hom' :
-    (P.tensorBimod (regular S)).actLeft ≫ hom P = (𝟙 R.X ⊗ hom P) ≫ P.actLeft := by
+    (P.tensorBimod (regular S)).actLeft ≫ hom P = (R.X ◁ hom P) ≫ P.actLeft := by
   dsimp; dsimp [hom, TensorBimod.actLeft, regular]
   refine' (cancel_epi ((tensorLeft _).map (coequalizer.π _ _))).1 _
   dsimp
   slice_lhs 1 4 => rw [id_tensor_π_preserves_coequalizer_inv_colimMap_desc]
   slice_lhs 2 3 => rw [middle_assoc]
-  slice_rhs 1 2 => rw [← id_tensor_comp, coequalizer.π_desc]
+  slice_rhs 1 2 => rw [← MonoidalCategory.whiskerLeft_comp, coequalizer.π_desc]
   rw [Iso.inv_hom_id_assoc]
 set_option linter.uppercaseLean3 false in
 #align Bimod.right_unitor_Bimod.hom_left_act_hom' Bimod.RightUnitorBimod.hom_left_act_hom'
 
 theorem hom_right_act_hom' :
-    (P.tensorBimod (regular S)).actRight ≫ hom P = (hom P ⊗ 𝟙 S.X) ≫ P.actRight := by
+    (P.tensorBimod (regular S)).actRight ≫ hom P = (hom P ▷ S.X) ≫ P.actRight := by
   dsimp; dsimp [hom, TensorBimod.actRight, regular]
   refine' (cancel_epi ((tensorRight _).map (coequalizer.π _ _))).1 _
   dsimp
   slice_lhs 1 4 => rw [π_tensor_id_preserves_coequalizer_inv_colimMap_desc]
   slice_lhs 2 3 => rw [right_assoc]
-  slice_rhs 1 2 => rw [← comp_tensor_id, coequalizer.π_desc]
+  slice_rhs 1 2 => rw [← comp_whiskerRight, coequalizer.π_desc]
   rw [Iso.hom_inv_id_assoc]
 set_option linter.uppercaseLean3 false in
 #align Bimod.right_unitor_Bimod.hom_right_act_hom' Bimod.RightUnitorBimod.hom_right_act_hom'
@@ -813,14 +821,34 @@ noncomputable def rightUnitorBimod {X Y : Mon_ C} (M : Bimod X Y) : M.tensorBimo
 set_option linter.uppercaseLean3 false in
 #align Bimod.right_unitor_Bimod Bimod.rightUnitorBimod
 
-theorem whisker_left_comp_bimod {X Y Z : Mon_ C} (M : Bimod X Y) {N P Q : Bimod Y Z} (f : N ⟶ P)
-    (g : P ⟶ Q) : tensorHom (𝟙 M) (f ≫ g) = tensorHom (𝟙 M) f ≫ tensorHom (𝟙 M) g := by
-  rw [← tensor_comp, Category.comp_id]
+theorem whiskerLeft_id_bimod {X Y Z : Mon_ C} {M : Bimod X Y} {N : Bimod Y Z} :
+    whiskerLeft M (𝟙 N) = 𝟙 (M.tensorBimod N) := by
+  ext
+  apply Limits.coequalizer.hom_ext
+  dsimp only [tensorBimod_X, whiskerLeft_hom, id_hom']
+  simp only [MonoidalCategory.whiskerLeft_id, ι_colimMap, parallelPair_obj_one,
+    parallelPairHom_app_one, Category.id_comp]
+  erw [Category.comp_id]
+
+theorem id_whiskerRight_bimod {X Y Z : Mon_ C} {M : Bimod X Y} {N : Bimod Y Z} :
+    whiskerRight (𝟙 M) N = 𝟙 (M.tensorBimod N) := by
+  ext
+  apply Limits.coequalizer.hom_ext
+  dsimp only [tensorBimod_X, whiskerRight_hom, id_hom']
+  simp only [MonoidalCategory.id_whiskerRight, ι_colimMap, parallelPair_obj_one,
+    parallelPairHom_app_one, Category.id_comp]
+  erw [Category.comp_id]
+
+theorem whiskerLeft_comp_bimod {X Y Z : Mon_ C} (M : Bimod X Y) {N P Q : Bimod Y Z} (f : N ⟶ P)
+    (g : P ⟶ Q) : whiskerLeft M (f ≫ g) = whiskerLeft M f ≫ whiskerLeft M g := by
+  ext
+  apply Limits.coequalizer.hom_ext
+  simp
 set_option linter.uppercaseLean3 false in
-#align Bimod.whisker_left_comp_Bimod Bimod.whisker_left_comp_bimod
+#align Bimod.whisker_left_comp_Bimod Bimod.whiskerLeft_comp_bimod
 
-theorem id_whisker_left_bimod {X Y : Mon_ C} {M N : Bimod X Y} (f : M ⟶ N) :
-    tensorHom (𝟙 (regular X)) f = (leftUnitorBimod M).hom ≫ f ≫ (leftUnitorBimod N).inv := by
+theorem id_whiskerLeft_bimod {X Y : Mon_ C} {M N : Bimod X Y} (f : M ⟶ N) :
+    whiskerLeft (regular X) f = (leftUnitorBimod M).hom ≫ f ≫ (leftUnitorBimod N).inv := by
   dsimp [tensorHom, regular, leftUnitorBimod]
   ext
   apply coequalizer.hom_ext
@@ -830,24 +858,24 @@ theorem id_whisker_left_bimod {X Y : Mon_ C} {M N : Bimod X Y} (f : M ⟶ N) :
   slice_rhs 1 2 => rw [coequalizer.π_desc]
   dsimp [LeftUnitorBimod.inv]
   slice_rhs 1 2 => rw [Hom.left_act_hom]
-  slice_rhs 2 3 => rw [leftUnitor_inv_naturality]
-  slice_rhs 3 4 => rw [id_tensor_comp_tensor_id, ← tensor_id_comp_id_tensor]
-  slice_rhs 4 4 => rw [← Iso.inv_hom_id_assoc (α_ X.X X.X N.X) (𝟙 X.X ⊗ N.actLeft)]
+  slice_rhs 2 3 => rw [leftUnitor_inv_naturality']
+  slice_rhs 3 4 => rw [whisker_exchange]
+  slice_rhs 4 4 => rw [← Iso.inv_hom_id_assoc (α_ X.X X.X N.X) (X.X ◁ N.actLeft)]
   slice_rhs 5 7 => rw [← Category.assoc, ← coequalizer.condition]
-  slice_rhs 3 4 => rw [← MonoidalCategory.tensor_id, associator_inv_naturality]
-  slice_rhs 4 5 => rw [← comp_tensor_id, tensorHom_id, tensorHom_id, Mon_.one_mul]
-  have : (λ_ (X.X ⊗ N.X)).inv ≫ (α_ (𝟙_ C) X.X N.X).inv ≫ ((λ_ X.X).hom ⊗ 𝟙 N.X) = 𝟙 _ := by
-    pure_coherence
-  slice_rhs 2 4 => rw [← tensorHom_id, this]
+  slice_rhs 3 4 => rw [associator_inv_naturality_left]
+  slice_rhs 4 5 => rw [← comp_whiskerRight, Mon_.one_mul]
+  have : (λ_ (X.X ⊗ N.X)).inv ≫ (α_ (𝟙_ C) X.X N.X).inv ≫ ((λ_ X.X).hom ▷ N.X) = 𝟙 _ := by
+    coherence
+  slice_rhs 2 4 => rw [this]
   slice_rhs 1 2 => rw [Category.comp_id]
 set_option linter.uppercaseLean3 false in
-#align Bimod.id_whisker_left_Bimod Bimod.id_whisker_left_bimod
+#align Bimod.id_whisker_left_Bimod Bimod.id_whiskerLeft_bimod
 
-theorem comp_whisker_left_bimod {W X Y Z : Mon_ C} (M : Bimod W X) (N : Bimod X Y)
+theorem comp_whiskerLeft_bimod {W X Y Z : Mon_ C} (M : Bimod W X) (N : Bimod X Y)
     {P P' : Bimod Y Z} (f : P ⟶ P') :
-    tensorHom (𝟙 (M.tensorBimod N)) f =
+    whiskerLeft (M.tensorBimod N) f =
       (associatorBimod M N P).hom ≫
-        tensorHom (𝟙 M) (tensorHom (𝟙 N) f) ≫ (associatorBimod M N P').inv := by
+        whiskerLeft M (whiskerLeft N f) ≫ (associatorBimod M N P').inv := by
   dsimp [tensorHom, tensorBimod, associatorBimod]
   ext
   apply coequalizer.hom_ext
@@ -860,25 +888,27 @@ theorem comp_whisker_left_bimod {W X Y Z : Mon_ C} (M : Bimod W X) (N : Bimod X
   rw [tensorRight_map]
   slice_rhs 1 3 => rw [π_tensor_id_preserves_coequalizer_inv_desc]
   slice_rhs 3 4 => rw [ι_colimMap, parallelPairHom_app_one]
-  slice_rhs 2 3 => rw [← id_tensor_comp, ι_colimMap, parallelPairHom_app_one]
+  slice_rhs 2 3 => rw [← MonoidalCategory.whiskerLeft_comp, ι_colimMap, parallelPairHom_app_one]
   slice_rhs 3 4 => rw [coequalizer.π_desc]
   dsimp [AssociatorBimod.invAux]
-  slice_rhs 2 2 => rw [id_tensor_comp]
+  slice_rhs 2 2 => rw [MonoidalCategory.whiskerLeft_comp]
   slice_rhs 3 5 => rw [id_tensor_π_preserves_coequalizer_inv_desc]
-  slice_rhs 2 3 => rw [associator_inv_naturality]
-  slice_rhs 1 3 => rw [Iso.hom_inv_id_assoc, MonoidalCategory.tensor_id]
-  slice_lhs 1 2 => rw [tensor_id_comp_id_tensor, ← id_tensor_comp_tensor_id]
+  slice_rhs 2 3 => rw [associator_inv_naturality_right]
+  slice_rhs 1 3 => rw [Iso.hom_inv_id_assoc]
+  slice_lhs 1 2 => rw [← whisker_exchange]
 set_option linter.uppercaseLean3 false in
-#align Bimod.comp_whisker_left_Bimod Bimod.comp_whisker_left_bimod
+#align Bimod.comp_whisker_left_Bimod Bimod.comp_whiskerLeft_bimod
 
-theorem comp_whisker_right_bimod {X Y Z : Mon_ C} {M N P : Bimod X Y} (f : M ⟶ N) (g : N ⟶ P)
-    (Q : Bimod Y Z) : tensorHom (f ≫ g) (𝟙 Q) = tensorHom f (𝟙 Q) ≫ tensorHom g (𝟙 Q) := by
-  rw [← tensor_comp, Category.comp_id]
+theorem comp_whiskerRight_bimod {X Y Z : Mon_ C} {M N P : Bimod X Y} (f : M ⟶ N) (g : N ⟶ P)
+    (Q : Bimod Y Z) : whiskerRight (f ≫ g) Q = whiskerRight f Q ≫ whiskerRight g Q := by
+  ext
+  apply Limits.coequalizer.hom_ext
+  simp
 set_option linter.uppercaseLean3 false in
-#align Bimod.comp_whisker_right_Bimod Bimod.comp_whisker_right_bimod
+#align Bimod.comp_whisker_right_Bimod Bimod.comp_whiskerRight_bimod
 
-theorem whisker_right_id_bimod {X Y : Mon_ C} {M N : Bimod X Y} (f : M ⟶ N) :
-    tensorHom f (𝟙 (regular Y)) = (rightUnitorBimod M).hom ≫ f ≫ (rightUnitorBimod N).inv := by
+theorem whiskerRight_id_bimod {X Y : Mon_ C} {M N : Bimod X Y} (f : M ⟶ N) :
+    whiskerRight f (regular Y) = (rightUnitorBimod M).hom ≫ f ≫ (rightUnitorBimod N).inv := by
   dsimp [tensorHom, regular, rightUnitorBimod]
   ext
   apply coequalizer.hom_ext
@@ -888,23 +918,20 @@ theorem whisker_right_id_bimod {X Y : Mon_ C} {M N : Bimod X Y} (f : M ⟶ N) :
   slice_rhs 1 2 => rw [coequalizer.π_desc]
   dsimp [RightUnitorBimod.inv]
   slice_rhs 1 2 => rw [Hom.right_act_hom]
-  slice_rhs 2 3 => rw [rightUnitor_inv_naturality]
-  slice_rhs 3 4 => rw [tensor_id_comp_id_tensor, ← id_tensor_comp_tensor_id]
+  slice_rhs 2 3 => rw [rightUnitor_inv_naturality']
+  slice_rhs 3 4 => rw [← whisker_exchange]
   slice_rhs 4 5 => rw [coequalizer.condition]
-  slice_rhs 3 4 => rw [← MonoidalCategory.tensor_id, associator_naturality]
-  slice_rhs 4 5 => rw [← id_tensor_comp, id_tensorHom, id_tensorHom, Mon_.mul_one]
-  have : (ρ_ (N.X ⊗ Y.X)).inv ≫ (α_ N.X Y.X (𝟙_ C)).hom ≫ (𝟙 N.X ⊗ (ρ_ Y.X).hom) = 𝟙 _ := by
-    pure_coherence
-  slice_rhs 2 4 => rw [← id_tensorHom, this]
-  slice_rhs 1 2 => rw [Category.comp_id]
+  slice_rhs 3 4 => rw [associator_naturality_right]
+  slice_rhs 4 5 => rw [← MonoidalCategory.whiskerLeft_comp, Mon_.mul_one]
+  simp
 set_option linter.uppercaseLean3 false in
-#align Bimod.whisker_right_id_Bimod Bimod.whisker_right_id_bimod
+#align Bimod.whisker_right_id_Bimod Bimod.whiskerRight_id_bimod
 
-theorem whisker_right_comp_bimod {W X Y Z : Mon_ C} {M M' : Bimod W X} (f : M ⟶ M') (N : Bimod X Y)
+theorem whiskerRight_comp_bimod {W X Y Z : Mon_ C} {M M' : Bimod W X} (f : M ⟶ M') (N : Bimod X Y)
     (P : Bimod Y Z) :
-    tensorHom f (𝟙 (N.tensorBimod P)) =
+    whiskerRight f (N.tensorBimod P) =
       (associatorBimod M N P).inv ≫
-        tensorHom (tensorHom f (𝟙 N)) (𝟙 P) ≫ (associatorBimod M' N P).hom := by
+        whiskerRight (whiskerRight f N) P ≫ (associatorBimod M' N P).hom := by
   dsimp [tensorHom, tensorBimod, associatorBimod]
   ext
   apply coequalizer.hom_ext
@@ -917,22 +944,22 @@ theorem whisker_right_comp_bimod {W X Y Z : Mon_ C} {M M' : Bimod W X} (f : M 
   rw [tensorLeft_map]
   slice_rhs 1 3 => rw [id_tensor_π_preserves_coequalizer_inv_desc]
   slice_rhs 3 4 => rw [ι_colimMap, parallelPairHom_app_one]
-  slice_rhs 2 3 => rw [← comp_tensor_id, ι_colimMap, parallelPairHom_app_one]
+  slice_rhs 2 3 => rw [← comp_whiskerRight, ι_colimMap, parallelPairHom_app_one]
   slice_rhs 3 4 => rw [coequalizer.π_desc]
   dsimp [AssociatorBimod.homAux]
-  slice_rhs 2 2 => rw [comp_tensor_id]
+  slice_rhs 2 2 => rw [comp_whiskerRight]
   slice_rhs 3 5 => rw [π_tensor_id_preserves_coequalizer_inv_desc]
-  slice_rhs 2 3 => rw [associator_naturality]
-  slice_rhs 1 3 => rw [Iso.inv_hom_id_assoc, MonoidalCategory.tensor_id]
-  slice_lhs 1 2 => rw [id_tensor_comp_tensor_id, ← tensor_id_comp_id_tensor]
+  slice_rhs 2 3 => rw [associator_naturality_left]
+  slice_rhs 1 3 => rw [Iso.inv_hom_id_assoc]
+  slice_lhs 1 2 => rw [whisker_exchange]
 set_option linter.uppercaseLean3 false in
-#align Bimod.whisker_right_comp_Bimod Bimod.whisker_right_comp_bimod
+#align Bimod.whisker_right_comp_Bimod Bimod.whiskerRight_comp_bimod
 
 theorem whisker_assoc_bimod {W X Y Z : Mon_ C} (M : Bimod W X) {N N' : Bimod X Y} (f : N ⟶ N')
     (P : Bimod Y Z) :
-    tensorHom (tensorHom (𝟙 M) f) (𝟙 P) =
+    whiskerRight (whiskerLeft M f) P =
       (associatorBimod M N P).hom ≫
-        tensorHom (𝟙 M) (tensorHom f (𝟙 P)) ≫ (associatorBimod M N' P).inv := by
+        whiskerLeft M (whiskerRight f P) ≫ (associatorBimod M N' P).inv := by
   dsimp [tensorHom, tensorBimod, associatorBimod]
   ext
   apply coequalizer.hom_ext
@@ -943,45 +970,44 @@ theorem whisker_assoc_bimod {W X Y Z : Mon_ C} (M : Bimod W X) {N N' : Bimod X Y
   dsimp [AssociatorBimod.homAux]
   refine' (cancel_epi ((tensorRight _).map (coequalizer.π _ _))).1 _
   rw [tensorRight_map]
-  slice_lhs 1 2 => rw [← comp_tensor_id, ι_colimMap, parallelPairHom_app_one]
+  slice_lhs 1 2 => rw [← comp_whiskerRight, ι_colimMap, parallelPairHom_app_one]
   slice_rhs 1 3 => rw [π_tensor_id_preserves_coequalizer_inv_desc]
   slice_rhs 3 4 => rw [ι_colimMap, parallelPairHom_app_one]
-  slice_rhs 2 3 => rw [← id_tensor_comp, ι_colimMap, parallelPairHom_app_one]
+  slice_rhs 2 3 => rw [← MonoidalCategory.whiskerLeft_comp, ι_colimMap, parallelPairHom_app_one]
   dsimp [AssociatorBimod.inv]
   slice_rhs 3 4 => rw [coequalizer.π_desc]
   dsimp [AssociatorBimod.invAux]
-  slice_rhs 2 2 => rw [id_tensor_comp]
+  slice_rhs 2 2 => rw [MonoidalCategory.whiskerLeft_comp]
   slice_rhs 3 5 => rw [id_tensor_π_preserves_coequalizer_inv_desc]
-  slice_rhs 2 3 => rw [associator_inv_naturality]
+  slice_rhs 2 3 => rw [associator_inv_naturality_middle]
   slice_rhs 1 3 => rw [Iso.hom_inv_id_assoc]
-  slice_lhs 1 1 => rw [comp_tensor_id]
+  slice_lhs 1 1 => rw [comp_whiskerRight]
 set_option linter.uppercaseLean3 false in
 #align Bimod.whisker_assoc_Bimod Bimod.whisker_assoc_bimod
 
 theorem whisker_exchange_bimod {X Y Z : Mon_ C} {M N : Bimod X Y} {P Q : Bimod Y Z} (f : M ⟶ N)
-    (g : P ⟶ Q) : tensorHom (𝟙 M) g ≫ tensorHom f (𝟙 Q) =
-      tensorHom f (𝟙 P) ≫ tensorHom (𝟙 N) g := by
-  dsimp [tensorHom]
+    (g : P ⟶ Q) : whiskerLeft M g ≫ whiskerRight f Q =
+      whiskerRight f P ≫ whiskerLeft N g := by
   ext
   apply coequalizer.hom_ext
   dsimp
   slice_lhs 1 2 => rw [ι_colimMap, parallelPairHom_app_one]
   slice_lhs 2 3 => rw [ι_colimMap, parallelPairHom_app_one]
-  slice_lhs 1 2 => rw [id_tensor_comp_tensor_id]
+  slice_lhs 1 2 => rw [whisker_exchange]
   slice_rhs 1 2 => rw [ι_colimMap, parallelPairHom_app_one]
   slice_rhs 2 3 => rw [ι_colimMap, parallelPairHom_app_one]
-  slice_rhs 1 2 => rw [tensor_id_comp_id_tensor]
+  simp only [Category.assoc]
 set_option linter.uppercaseLean3 false in
 #align Bimod.whisker_exchange_Bimod Bimod.whisker_exchange_bimod
 
 theorem pentagon_bimod {V W X Y Z : Mon_ C} (M : Bimod V W) (N : Bimod W X) (P : Bimod X Y)
     (Q : Bimod Y Z) :
-    tensorHom (associatorBimod M N P).hom (𝟙 Q) ≫
+    whiskerRight (associatorBimod M N P).hom Q ≫
       (associatorBimod M (N.tensorBimod P) Q).hom ≫
-        tensorHom (𝟙 M) (associatorBimod N P Q).hom =
+        whiskerLeft M (associatorBimod N P Q).hom =
       (associatorBimod (M.tensorBimod N) P Q).hom ≫
         (associatorBimod M N (P.tensorBimod Q)).hom := by
-  dsimp [tensorHom, associatorBimod]
+  dsimp [associatorBimod]
   ext
   apply coequalizer.hom_ext
   dsimp
@@ -992,35 +1018,35 @@ theorem pentagon_bimod {V W X Y Z : Mon_ C} (M : Bimod V W) (N : Bimod W X) (P :
   dsimp [AssociatorBimod.homAux]
   refine' (cancel_epi ((tensorRight _).map (coequalizer.π _ _))).1 _
   dsimp
-  slice_lhs 1 2 => rw [← comp_tensor_id, coequalizer.π_desc]
+  slice_lhs 1 2 => rw [← comp_whiskerRight, coequalizer.π_desc]
   slice_rhs 1 3 => rw [π_tensor_id_preserves_coequalizer_inv_desc]
   slice_rhs 3 4 => rw [coequalizer.π_desc]
   refine' (cancel_epi ((tensorRight _ ⋙ tensorRight _).map (coequalizer.π _ _))).1 _
   dsimp
   slice_lhs 1 2 =>
-    rw [← comp_tensor_id, π_tensor_id_preserves_coequalizer_inv_desc, comp_tensor_id,
-      comp_tensor_id]
+    rw [← comp_whiskerRight, π_tensor_id_preserves_coequalizer_inv_desc, comp_whiskerRight,
+      comp_whiskerRight]
   slice_lhs 3 5 => rw [π_tensor_id_preserves_coequalizer_inv_desc]
   dsimp only [TensorBimod.X]
-  slice_lhs 2 3 => rw [associator_naturality]
+  slice_lhs 2 3 => rw [associator_naturality_middle]
   slice_lhs 5 6 => rw [ι_colimMap, parallelPairHom_app_one]
-  slice_lhs 4 5 => rw [← id_tensor_comp, coequalizer.π_desc]
+  slice_lhs 4 5 => rw [← MonoidalCategory.whiskerLeft_comp, coequalizer.π_desc]
   slice_lhs 3 4 =>
-    rw [← id_tensor_comp, π_tensor_id_preserves_coequalizer_inv_desc, id_tensor_comp,
-      id_tensor_comp]
-  slice_rhs 1 2 => rw [associator_naturality]
+    rw [← MonoidalCategory.whiskerLeft_comp, π_tensor_id_preserves_coequalizer_inv_desc,
+      MonoidalCategory.whiskerLeft_comp, MonoidalCategory.whiskerLeft_comp]
+  slice_rhs 1 2 => rw [associator_naturality_left]
   slice_rhs 2 3 =>
-    rw [MonoidalCategory.tensor_id, tensor_id_comp_id_tensor, ← id_tensor_comp_tensor_id]
+    rw [← whisker_exchange]
   slice_rhs 3 5 => rw [π_tensor_id_preserves_coequalizer_inv_desc]
-  slice_rhs 2 3 => rw [← MonoidalCategory.tensor_id, associator_naturality]
+  slice_rhs 2 3 => rw [associator_naturality_right]
   coherence
 set_option linter.uppercaseLean3 false in
 #align Bimod.pentagon_Bimod Bimod.pentagon_bimod
 
 theorem triangle_bimod {X Y Z : Mon_ C} (M : Bimod X Y) (N : Bimod Y Z) :
-    (associatorBimod M (regular Y) N).hom ≫ tensorHom (𝟙 M) (leftUnitorBimod N).hom =
-      tensorHom (rightUnitorBimod M).hom (𝟙 N) := by
-  dsimp [tensorHom, associatorBimod, leftUnitorBimod, rightUnitorBimod]
+    (associatorBimod M (regular Y) N).hom ≫ whiskerLeft M (leftUnitorBimod N).hom =
+      whiskerRight (rightUnitorBimod M).hom N := by
+  dsimp [associatorBimod, leftUnitorBimod, rightUnitorBimod]
   ext
   apply coequalizer.hom_ext
   dsimp
@@ -1034,8 +1060,8 @@ theorem triangle_bimod {X Y Z : Mon_ C} (M : Bimod X Y) (N : Bimod Y Z) :
   slice_lhs 1 3 => rw [π_tensor_id_preserves_coequalizer_inv_desc]
   slice_lhs 3 4 => rw [ι_colimMap, parallelPairHom_app_one]
   dsimp [LeftUnitorBimod.hom]
-  slice_lhs 2 3 => rw [← id_tensor_comp, coequalizer.π_desc]
-  slice_rhs 1 2 => rw [← comp_tensor_id, coequalizer.π_desc]
+  slice_lhs 2 3 => rw [← MonoidalCategory.whiskerLeft_comp, coequalizer.π_desc]
+  slice_rhs 1 2 => rw [← comp_whiskerRight, coequalizer.π_desc]
   slice_rhs 1 2 => rw [coequalizer.condition]
   simp only [Category.assoc]
 set_option linter.uppercaseLean3 false in
@@ -1047,19 +1073,19 @@ noncomputable def monBicategory : Bicategory (Mon_ C) where
   homCategory X Y := (inferInstance : Category (Bimod X Y))
   id X := regular X
   comp M N := tensorBimod M N
-  whiskerLeft L _ _ f := tensorHom (Bimod.id' L) f
-  whiskerRight f N := tensorHom f (Bimod.id' N)
+  whiskerLeft L _ _ f := whiskerLeft L f
+  whiskerRight f N := whiskerRight f N
   associator := associatorBimod
   leftUnitor := leftUnitorBimod
   rightUnitor := rightUnitorBimod
-  whiskerLeft_id _ _ := tensor_id
-  whiskerLeft_comp M _ _ _ f g := whisker_left_comp_bimod M f g
-  id_whiskerLeft := id_whisker_left_bimod
-  comp_whiskerLeft M N _ _ f := comp_whisker_left_bimod M N f
-  id_whiskerRight _ _ := tensor_id
-  comp_whiskerRight f g Q := comp_whisker_right_bimod f g Q
-  whiskerRight_id := whisker_right_id_bimod
-  whiskerRight_comp := whisker_right_comp_bimod
+  whiskerLeft_id _ _ := whiskerLeft_id_bimod
+  whiskerLeft_comp M _ _ _ f g := whiskerLeft_comp_bimod M f g
+  id_whiskerLeft := id_whiskerLeft_bimod
+  comp_whiskerLeft M N _ _ f := comp_whiskerLeft_bimod M N f
+  id_whiskerRight _ _ := id_whiskerRight_bimod
+  comp_whiskerRight f g Q := comp_whiskerRight_bimod f g Q
+  whiskerRight_id := whiskerRight_id_bimod
+  whiskerRight_comp := whiskerRight_comp_bimod
   whisker_assoc M _ _ f P := whisker_assoc_bimod M f P
   whisker_exchange := whisker_exchange_bimod
   pentagon := pentagon_bimod
refactor(CategoryTheory/Monoidal/Braided): use monoidalComp in the proofs (#10078)
Diff
@@ -180,6 +180,8 @@ set_option linter.uppercaseLean3 false in
 
 variable (A)
 
+attribute [local simp] id_tensorHom tensorHom_id
+
 /-- A monoid object as a bimodule over itself. -/
 @[simps]
 def regular : Bimod A A where
@@ -663,7 +665,7 @@ theorem hom_inv_id : hom P ≫ inv P = 𝟙 _ := by
   slice_lhs 3 3 => rw [← Iso.inv_hom_id_assoc (α_ R.X R.X P.X) (𝟙 R.X ⊗ P.actLeft)]
   slice_lhs 4 6 => rw [← Category.assoc, ← coequalizer.condition]
   slice_lhs 2 3 => rw [← MonoidalCategory.tensor_id, associator_inv_naturality]
-  slice_lhs 3 4 => rw [← comp_tensor_id, Mon_.one_mul]
+  slice_lhs 3 4 => rw [← comp_tensor_id, tensorHom_id, tensorHom_id, Mon_.one_mul]
   slice_rhs 1 2 => rw [Category.comp_id]
   coherence
 set_option linter.uppercaseLean3 false in
@@ -730,7 +732,7 @@ theorem hom_inv_id : hom P ≫ inv P = 𝟙 _ := by
   slice_lhs 2 3 => rw [tensor_id_comp_id_tensor, ← id_tensor_comp_tensor_id]
   slice_lhs 3 4 => rw [coequalizer.condition]
   slice_lhs 2 3 => rw [← MonoidalCategory.tensor_id, associator_naturality]
-  slice_lhs 3 4 => rw [← id_tensor_comp, Mon_.mul_one]
+  slice_lhs 3 4 => rw [← id_tensor_comp, id_tensorHom, id_tensorHom, Mon_.mul_one]
   slice_rhs 1 2 => rw [Category.comp_id]
   coherence
 set_option linter.uppercaseLean3 false in
@@ -833,10 +835,10 @@ theorem id_whisker_left_bimod {X Y : Mon_ C} {M N : Bimod X Y} (f : M ⟶ N) :
   slice_rhs 4 4 => rw [← Iso.inv_hom_id_assoc (α_ X.X X.X N.X) (𝟙 X.X ⊗ N.actLeft)]
   slice_rhs 5 7 => rw [← Category.assoc, ← coequalizer.condition]
   slice_rhs 3 4 => rw [← MonoidalCategory.tensor_id, associator_inv_naturality]
-  slice_rhs 4 5 => rw [← comp_tensor_id, Mon_.one_mul]
+  slice_rhs 4 5 => rw [← comp_tensor_id, tensorHom_id, tensorHom_id, Mon_.one_mul]
   have : (λ_ (X.X ⊗ N.X)).inv ≫ (α_ (𝟙_ C) X.X N.X).inv ≫ ((λ_ X.X).hom ⊗ 𝟙 N.X) = 𝟙 _ := by
     pure_coherence
-  slice_rhs 2 4 => rw [this]
+  slice_rhs 2 4 => rw [← tensorHom_id, this]
   slice_rhs 1 2 => rw [Category.comp_id]
 set_option linter.uppercaseLean3 false in
 #align Bimod.id_whisker_left_Bimod Bimod.id_whisker_left_bimod
@@ -890,10 +892,10 @@ theorem whisker_right_id_bimod {X Y : Mon_ C} {M N : Bimod X Y} (f : M ⟶ N) :
   slice_rhs 3 4 => rw [tensor_id_comp_id_tensor, ← id_tensor_comp_tensor_id]
   slice_rhs 4 5 => rw [coequalizer.condition]
   slice_rhs 3 4 => rw [← MonoidalCategory.tensor_id, associator_naturality]
-  slice_rhs 4 5 => rw [← id_tensor_comp, Mon_.mul_one]
+  slice_rhs 4 5 => rw [← id_tensor_comp, id_tensorHom, id_tensorHom, Mon_.mul_one]
   have : (ρ_ (N.X ⊗ Y.X)).inv ≫ (α_ N.X Y.X (𝟙_ C)).hom ≫ (𝟙 N.X ⊗ (ρ_ Y.X).hom) = 𝟙 _ := by
     pure_coherence
-  slice_rhs 2 4 => rw [this]
+  slice_rhs 2 4 => rw [← id_tensorHom, this]
   slice_rhs 1 2 => rw [Category.comp_id]
 set_option linter.uppercaseLean3 false in
 #align Bimod.whisker_right_id_Bimod Bimod.whisker_right_id_bimod
chore: removing unneeded maxHeartbeats (#7761)

Due to recent changes in core we can reduce or remove many set_option maxHeartbeats statements.

I have tried to be careful to not leave anything too close to the line, so don't be surprised if some of these can still be reduced further.

This reduces us from 96 maxHeartbeats statements to 44. (There are 10 false positives in meta or testing code.)

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

Diff
@@ -972,7 +972,6 @@ theorem whisker_exchange_bimod {X Y Z : Mon_ C} {M N : Bimod X Y} {P Q : Bimod Y
 set_option linter.uppercaseLean3 false in
 #align Bimod.whisker_exchange_Bimod Bimod.whisker_exchange_bimod
 
-set_option maxHeartbeats 400000 in
 theorem pentagon_bimod {V W X Y Z : Mon_ C} (M : Bimod V W) (N : Bimod W X) (P : Bimod X Y)
     (Q : Bimod Y Z) :
     tensorHom (associatorBimod M N P).hom (𝟙 Q) ≫
chore: script to replace headers with #align_import statements (#5979)

Open in Gitpod

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

Diff
@@ -2,16 +2,13 @@
 Copyright (c) 2022 Scott Morrison. All rights reserved.
 Released under Apache 2.0 license as described in the file LICENSE.
 Authors: Scott Morrison, Oleksandr Manzyuk
-
-! This file was ported from Lean 3 source module category_theory.monoidal.Bimod
-! leanprover-community/mathlib commit 4698e35ca56a0d4fa53aa5639c3364e0a77f4eba
-! Please do not edit these lines, except to modify the commit id
-! if you have ported upstream changes.
 -/
 import Mathlib.CategoryTheory.Bicategory.Basic
 import Mathlib.CategoryTheory.Monoidal.Mon_
 import Mathlib.CategoryTheory.Limits.Preserves.Shapes.Equalizers
 
+#align_import category_theory.monoidal.Bimod from "leanprover-community/mathlib"@"4698e35ca56a0d4fa53aa5639c3364e0a77f4eba"
+
 /-!
 # The category of bimodule objects over a pair of monoid objects.
 -/
feat: port CategoryTheory.Monoidal.Bimod (#5490)

Dependencies 3 + 230

231 files ported (98.7%)
86117 lines ported (98.8%)
Show graph

The unported dependencies are