category_theory.monoidal.free.coherenceMathlib.CategoryTheory.Monoidal.Free.Coherence

This file has been ported!

Changes since the initial port

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

Changes in mathlib3

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(last sync)

Changes in mathlib3port

mathlib3
mathlib3port
Diff
@@ -76,7 +76,7 @@ local infixr:10 " ⟶ᵐ " => Hom
 /-- Auxiliary definition for `inclusion`. -/
 @[simp]
 def inclusionObj : NormalMonoidalObject C → F C
-  | normal_monoidal_object.unit => Unit
+  | normal_monoidal_object.unit => unit
   | normal_monoidal_object.tensor n a => tensor (inclusion_obj n) (of a)
 #align category_theory.free_monoidal_category.inclusion_obj CategoryTheory.FreeMonoidalCategory.inclusionObj
 -/
@@ -176,8 +176,8 @@ def normalize' : F C ⥤ N C ⥤ F C :=
 /-- The normalization functor for the free monoidal category over `C`. -/
 def fullNormalize : F C ⥤ N C
     where
-  obj X := ((normalize C).obj X).obj ⟨NormalMonoidalObject.Unit⟩
-  map X Y f := ((normalize C).map f).app ⟨NormalMonoidalObject.Unit⟩
+  obj X := ((normalize C).obj X).obj ⟨NormalMonoidalObject.unit⟩
+  map X Y f := ((normalize C).map f).app ⟨NormalMonoidalObject.unit⟩
 #align category_theory.free_monoidal_category.full_normalize CategoryTheory.FreeMonoidalCategory.fullNormalize
 -/
 
@@ -342,7 +342,7 @@ def normalizeIso : tensorFunc C ≅ normalize' C :=
 /-- The isomorphism between an object and its normal form is natural. -/
 def fullNormalizeIso : 𝟭 (F C) ≅ fullNormalize C ⋙ inclusion :=
   NatIso.ofComponents
-    (fun X => (λ_ X).symm ≪≫ ((normalizeIso C).app X).app ⟨NormalMonoidalObject.Unit⟩)
+    (fun X => (λ_ X).symm ≪≫ ((normalizeIso C).app X).app ⟨NormalMonoidalObject.unit⟩)
     (by
       intro X Y f
       dsimp
Diff
@@ -3,9 +3,9 @@ Copyright (c) 2021 Markus Himmel. All rights reserved.
 Released under Apache 2.0 license as described in the file LICENSE.
 Authors: Markus Himmel
 -/
-import Mathbin.CategoryTheory.Monoidal.Free.Basic
-import Mathbin.CategoryTheory.Groupoid
-import Mathbin.CategoryTheory.DiscreteCategory
+import CategoryTheory.Monoidal.Free.Basic
+import CategoryTheory.Groupoid
+import CategoryTheory.DiscreteCategory
 
 #align_import category_theory.monoidal.free.coherence from "leanprover-community/mathlib"@"33c67ae661dd8988516ff7f247b0be3018cdd952"
 
Diff
@@ -2,16 +2,13 @@
 Copyright (c) 2021 Markus Himmel. All rights reserved.
 Released under Apache 2.0 license as described in the file LICENSE.
 Authors: Markus Himmel
-
-! This file was ported from Lean 3 source module category_theory.monoidal.free.coherence
-! leanprover-community/mathlib commit 33c67ae661dd8988516ff7f247b0be3018cdd952
-! Please do not edit these lines, except to modify the commit id
-! if you have ported upstream changes.
 -/
 import Mathbin.CategoryTheory.Monoidal.Free.Basic
 import Mathbin.CategoryTheory.Groupoid
 import Mathbin.CategoryTheory.DiscreteCategory
 
+#align_import category_theory.monoidal.free.coherence from "leanprover-community/mathlib"@"33c67ae661dd8988516ff7f247b0be3018cdd952"
+
 /-!
 # The monoidal coherence theorem
 
Diff
@@ -69,13 +69,10 @@ inductive NormalMonoidalObject : Type u
 
 end
 
--- mathport name: exprF
 local notation "F" => FreeMonoidalCategory
 
--- mathport name: exprN
 local notation "N" => Discrete ∘ NormalMonoidalObject
 
--- mathport name: «expr ⟶ᵐ »
 local infixr:10 " ⟶ᵐ " => Hom
 
 #print CategoryTheory.FreeMonoidalCategory.inclusionObj /-
@@ -105,17 +102,21 @@ def normalizeObj : F C → NormalMonoidalObject C → N C
 #align category_theory.free_monoidal_category.normalize_obj CategoryTheory.FreeMonoidalCategory.normalizeObj
 -/
 
+#print CategoryTheory.FreeMonoidalCategory.normalizeObj_unitor /-
 @[simp]
 theorem normalizeObj_unitor (n : NormalMonoidalObject C) : normalizeObj (𝟙_ (F C)) n = ⟨n⟩ :=
   rfl
 #align category_theory.free_monoidal_category.normalize_obj_unitor CategoryTheory.FreeMonoidalCategory.normalizeObj_unitor
+-/
 
 /- ./././Mathport/Syntax/Translate/Expr.lean:177:8: unsupported: ambiguous notation -/
+#print CategoryTheory.FreeMonoidalCategory.normalizeObj_tensor /-
 @[simp]
 theorem normalizeObj_tensor (X Y : F C) (n : NormalMonoidalObject C) :
     normalizeObj (X ⊗ Y) n = normalizeObj Y (normalizeObj X n).as :=
   rfl
 #align category_theory.free_monoidal_category.normalize_obj_tensor CategoryTheory.FreeMonoidalCategory.normalizeObj_tensor
+-/
 
 section
 
@@ -197,15 +198,20 @@ def tensorFunc : F C ⥤ N C ⥤ F C
 -/
 
 /- ./././Mathport/Syntax/Translate/Expr.lean:177:8: unsupported: ambiguous notation -/
+#print CategoryTheory.FreeMonoidalCategory.tensorFunc_map_app /-
 theorem tensorFunc_map_app {X Y : F C} (f : X ⟶ Y) (n) : ((tensorFunc C).map f).app n = 𝟙 _ ⊗ f :=
   rfl
 #align category_theory.free_monoidal_category.tensor_func_map_app CategoryTheory.FreeMonoidalCategory.tensorFunc_map_app
+-/
 
 /- ./././Mathport/Syntax/Translate/Expr.lean:177:8: unsupported: ambiguous notation -/
+#print CategoryTheory.FreeMonoidalCategory.tensorFunc_obj_map /-
 theorem tensorFunc_obj_map (Z : F C) {n n' : N C} (f : n ⟶ n') :
     ((tensorFunc C).obj Z).map f = inclusion.map f ⊗ 𝟙 Z := by cases n; cases n'; tidy
 #align category_theory.free_monoidal_category.tensor_func_obj_map CategoryTheory.FreeMonoidalCategory.tensorFunc_obj_map
+-/
 
+#print CategoryTheory.FreeMonoidalCategory.normalizeIsoApp /-
 /-- Auxiliary definition for `normalize_iso`. Here we construct the isomorphism between
     `n ⊗ X` and `normalize X n`. -/
 @[simp]
@@ -216,40 +222,51 @@ def normalizeIsoApp :
   | tensor X Y, n =>
     (α_ _ _ _).symm ≪≫ tensorIso (normalize_iso_app X n) (Iso.refl _) ≪≫ normalize_iso_app _ _
 #align category_theory.free_monoidal_category.normalize_iso_app CategoryTheory.FreeMonoidalCategory.normalizeIsoApp
+-/
 
 /- ./././Mathport/Syntax/Translate/Expr.lean:177:8: unsupported: ambiguous notation -/
+#print CategoryTheory.FreeMonoidalCategory.normalizeIsoApp_tensor /-
 @[simp]
 theorem normalizeIsoApp_tensor (X Y : F C) (n : N C) :
     normalizeIsoApp C (X ⊗ Y) n =
       (α_ _ _ _).symm ≪≫ tensorIso (normalizeIsoApp C X n) (Iso.refl _) ≪≫ normalizeIsoApp _ _ _ :=
   rfl
 #align category_theory.free_monoidal_category.normalize_iso_app_tensor CategoryTheory.FreeMonoidalCategory.normalizeIsoApp_tensor
+-/
 
+#print CategoryTheory.FreeMonoidalCategory.normalizeIsoApp_unitor /-
 @[simp]
 theorem normalizeIsoApp_unitor (n : N C) : normalizeIsoApp C (𝟙_ (F C)) n = ρ_ _ :=
   rfl
 #align category_theory.free_monoidal_category.normalize_iso_app_unitor CategoryTheory.FreeMonoidalCategory.normalizeIsoApp_unitor
+-/
 
+#print CategoryTheory.FreeMonoidalCategory.normalizeIsoAux /-
 /-- Auxiliary definition for `normalize_iso`. -/
 @[simp]
 def normalizeIsoAux (X : F C) : (tensorFunc C).obj X ≅ (normalize' C).obj X :=
   NatIso.ofComponents (normalizeIsoApp C X) (by rintro ⟨X⟩ ⟨Y⟩; tidy)
 #align category_theory.free_monoidal_category.normalize_iso_aux CategoryTheory.FreeMonoidalCategory.normalizeIsoAux
+-/
 
 section
 
 variable {D : Type u} [Category.{u} D] {I : Type u} (f : I → D) (X : Discrete I)
 
+#print CategoryTheory.FreeMonoidalCategory.discrete_functor_obj_eq_as /-
 -- TODO: move to discrete_category.lean, decide whether this should be a global simp lemma
 @[simp]
 theorem discrete_functor_obj_eq_as : (Discrete.functor f).obj X = f X.as :=
   rfl
 #align category_theory.free_monoidal_category.discrete_functor_obj_eq_as CategoryTheory.FreeMonoidalCategory.discrete_functor_obj_eq_as
+-/
 
+#print CategoryTheory.FreeMonoidalCategory.discrete_functor_map_eq_id /-
 -- TODO: move to discrete_category.lean, decide whether this should be a global simp lemma
 @[simp]
 theorem discrete_functor_map_eq_id (g : X ⟶ X) : (Discrete.functor f).map g = 𝟙 _ := by tidy
 #align category_theory.free_monoidal_category.discrete_functor_map_eq_id CategoryTheory.FreeMonoidalCategory.discrete_functor_map_eq_id
+-/
 
 end
 
Diff
@@ -290,7 +290,7 @@ def normalizeIso : tensorFunc C ≅ normalize' C :=
           right_unitor_naturality]
         simp only [iso.cancel_iso_inv_left, category.assoc]
         congr 1
-        convert(category.comp_id _).symm
+        convert (category.comp_id _).symm
         convert discrete_functor_map_eq_id inclusion_obj _ _
         ext
         rfl
@@ -299,7 +299,7 @@ def normalizeIso : tensorFunc C ≅ normalize' C :=
           category.assoc, iso.hom_inv_id, iso.hom_inv_id_assoc, iso.inv_hom_id,
           iso.inv_hom_id_assoc]
         congr
-        convert(discrete_functor_map_eq_id inclusion_obj _ _).symm
+        convert (discrete_functor_map_eq_id inclusion_obj _ _).symm
         ext; rfl
       · dsimp at *
         rw [id_tensor_comp, category.assoc, f_ih_g ⟦f_g⟧, ← category.assoc, f_ih_f ⟦f_f⟧,
@@ -319,7 +319,7 @@ def normalizeIso : tensorFunc C ≅ normalize' C :=
         dsimp
         simp only [category.assoc, category.comp_id]
         congr 1
-        convert(normalize_iso_aux C f_Z).Hom.naturality ((normalize_map_aux f_f).app n)
+        convert (normalize_iso_aux C f_Z).Hom.naturality ((normalize_map_aux f_f).app n)
         exact (tensor_func_obj_map _ _ _).symm)
 #align category_theory.free_monoidal_category.normalize_iso CategoryTheory.FreeMonoidalCategory.normalizeIso
 -/
Diff
@@ -105,23 +105,11 @@ def normalizeObj : F C → NormalMonoidalObject C → N C
 #align category_theory.free_monoidal_category.normalize_obj CategoryTheory.FreeMonoidalCategory.normalizeObj
 -/
 
-/- warning: category_theory.free_monoidal_category.normalize_obj_unitor -> CategoryTheory.FreeMonoidalCategory.normalizeObj_unitor is a dubious translation:
-lean 3 declaration is
-  forall {C : Type.{u1}} (n : CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C), Eq.{succ u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.FreeMonoidalCategory.normalizeObj.{u1} C (CategoryTheory.MonoidalCategory.tensorUnit.{u1, u1} (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.CategoryTheory.monoidalCategory.{u1} C)) n) (CategoryTheory.Discrete.mk.{u1} (CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) n)
-but is expected to have type
-  forall {C : Type.{u1}} (n : CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C), Eq.{succ u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.FreeMonoidalCategory.normalizeObj.{u1} C (CategoryTheory.MonoidalCategory.tensorUnit.{u1, u1} (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.instMonoidalCategoryFreeMonoidalCategoryCategoryFreeMonoidalCategory.{u1} C)) n) (CategoryTheory.Discrete.mk.{u1} (CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) n)
-Case conversion may be inaccurate. Consider using '#align category_theory.free_monoidal_category.normalize_obj_unitor CategoryTheory.FreeMonoidalCategory.normalizeObj_unitorₓ'. -/
 @[simp]
 theorem normalizeObj_unitor (n : NormalMonoidalObject C) : normalizeObj (𝟙_ (F C)) n = ⟨n⟩ :=
   rfl
 #align category_theory.free_monoidal_category.normalize_obj_unitor CategoryTheory.FreeMonoidalCategory.normalizeObj_unitor
 
-/- warning: category_theory.free_monoidal_category.normalize_obj_tensor -> CategoryTheory.FreeMonoidalCategory.normalizeObj_tensor is a dubious translation:
-lean 3 declaration is
-  forall {C : Type.{u1}} (X : CategoryTheory.FreeMonoidalCategory.{u1} C) (Y : CategoryTheory.FreeMonoidalCategory.{u1} C) (n : CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C), Eq.{succ u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.FreeMonoidalCategory.normalizeObj.{u1} C (CategoryTheory.MonoidalCategory.tensorObj.{u1, u1} (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.CategoryTheory.monoidalCategory.{u1} C) X Y) n) (CategoryTheory.FreeMonoidalCategory.normalizeObj.{u1} C Y (CategoryTheory.Discrete.as.{u1} (CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.FreeMonoidalCategory.normalizeObj.{u1} C X n)))
-but is expected to have type
-  forall {C : Type.{u1}} (X : CategoryTheory.FreeMonoidalCategory.{u1} C) (Y : CategoryTheory.FreeMonoidalCategory.{u1} C) (n : CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C), Eq.{succ u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.FreeMonoidalCategory.normalizeObj.{u1} C (CategoryTheory.MonoidalCategory.tensorObj.{u1, u1} (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.instMonoidalCategoryFreeMonoidalCategoryCategoryFreeMonoidalCategory.{u1} C) X Y) n) (CategoryTheory.FreeMonoidalCategory.normalizeObj.{u1} C Y (CategoryTheory.Discrete.as.{u1} (CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.FreeMonoidalCategory.normalizeObj.{u1} C X n)))
-Case conversion may be inaccurate. Consider using '#align category_theory.free_monoidal_category.normalize_obj_tensor CategoryTheory.FreeMonoidalCategory.normalizeObj_tensorₓ'. -/
 /- ./././Mathport/Syntax/Translate/Expr.lean:177:8: unsupported: ambiguous notation -/
 @[simp]
 theorem normalizeObj_tensor (X Y : F C) (n : NormalMonoidalObject C) :
@@ -208,25 +196,16 @@ def tensorFunc : F C ⥤ N C ⥤ F C
 #align category_theory.free_monoidal_category.tensor_func CategoryTheory.FreeMonoidalCategory.tensorFunc
 -/
 
-/- warning: category_theory.free_monoidal_category.tensor_func_map_app -> CategoryTheory.FreeMonoidalCategory.tensorFunc_map_app is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align category_theory.free_monoidal_category.tensor_func_map_app CategoryTheory.FreeMonoidalCategory.tensorFunc_map_appₓ'. -/
 /- ./././Mathport/Syntax/Translate/Expr.lean:177:8: unsupported: ambiguous notation -/
 theorem tensorFunc_map_app {X Y : F C} (f : X ⟶ Y) (n) : ((tensorFunc C).map f).app n = 𝟙 _ ⊗ f :=
   rfl
 #align category_theory.free_monoidal_category.tensor_func_map_app CategoryTheory.FreeMonoidalCategory.tensorFunc_map_app
 
-/- warning: category_theory.free_monoidal_category.tensor_func_obj_map -> CategoryTheory.FreeMonoidalCategory.tensorFunc_obj_map is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align category_theory.free_monoidal_category.tensor_func_obj_map CategoryTheory.FreeMonoidalCategory.tensorFunc_obj_mapₓ'. -/
 /- ./././Mathport/Syntax/Translate/Expr.lean:177:8: unsupported: ambiguous notation -/
 theorem tensorFunc_obj_map (Z : F C) {n n' : N C} (f : n ⟶ n') :
     ((tensorFunc C).obj Z).map f = inclusion.map f ⊗ 𝟙 Z := by cases n; cases n'; tidy
 #align category_theory.free_monoidal_category.tensor_func_obj_map CategoryTheory.FreeMonoidalCategory.tensorFunc_obj_map
 
-/- warning: category_theory.free_monoidal_category.normalize_iso_app -> CategoryTheory.FreeMonoidalCategory.normalizeIsoApp is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align category_theory.free_monoidal_category.normalize_iso_app CategoryTheory.FreeMonoidalCategory.normalizeIsoAppₓ'. -/
 /-- Auxiliary definition for `normalize_iso`. Here we construct the isomorphism between
     `n ⊗ X` and `normalize X n`. -/
 @[simp]
@@ -238,9 +217,6 @@ def normalizeIsoApp :
     (α_ _ _ _).symm ≪≫ tensorIso (normalize_iso_app X n) (Iso.refl _) ≪≫ normalize_iso_app _ _
 #align category_theory.free_monoidal_category.normalize_iso_app CategoryTheory.FreeMonoidalCategory.normalizeIsoApp
 
-/- warning: category_theory.free_monoidal_category.normalize_iso_app_tensor -> CategoryTheory.FreeMonoidalCategory.normalizeIsoApp_tensor is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align category_theory.free_monoidal_category.normalize_iso_app_tensor CategoryTheory.FreeMonoidalCategory.normalizeIsoApp_tensorₓ'. -/
 /- ./././Mathport/Syntax/Translate/Expr.lean:177:8: unsupported: ambiguous notation -/
 @[simp]
 theorem normalizeIsoApp_tensor (X Y : F C) (n : N C) :
@@ -249,17 +225,11 @@ theorem normalizeIsoApp_tensor (X Y : F C) (n : N C) :
   rfl
 #align category_theory.free_monoidal_category.normalize_iso_app_tensor CategoryTheory.FreeMonoidalCategory.normalizeIsoApp_tensor
 
-/- warning: category_theory.free_monoidal_category.normalize_iso_app_unitor -> CategoryTheory.FreeMonoidalCategory.normalizeIsoApp_unitor is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align category_theory.free_monoidal_category.normalize_iso_app_unitor CategoryTheory.FreeMonoidalCategory.normalizeIsoApp_unitorₓ'. -/
 @[simp]
 theorem normalizeIsoApp_unitor (n : N C) : normalizeIsoApp C (𝟙_ (F C)) n = ρ_ _ :=
   rfl
 #align category_theory.free_monoidal_category.normalize_iso_app_unitor CategoryTheory.FreeMonoidalCategory.normalizeIsoApp_unitor
 
-/- warning: category_theory.free_monoidal_category.normalize_iso_aux -> CategoryTheory.FreeMonoidalCategory.normalizeIsoAux is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align category_theory.free_monoidal_category.normalize_iso_aux CategoryTheory.FreeMonoidalCategory.normalizeIsoAuxₓ'. -/
 /-- Auxiliary definition for `normalize_iso`. -/
 @[simp]
 def normalizeIsoAux (X : F C) : (tensorFunc C).obj X ≅ (normalize' C).obj X :=
@@ -270,24 +240,12 @@ section
 
 variable {D : Type u} [Category.{u} D] {I : Type u} (f : I → D) (X : Discrete I)
 
-/- warning: category_theory.free_monoidal_category.discrete_functor_obj_eq_as -> CategoryTheory.FreeMonoidalCategory.discrete_functor_obj_eq_as is a dubious translation:
-lean 3 declaration is
-  forall {D : Type.{u1}} [_inst_1 : CategoryTheory.Category.{u1, u1} D] {I : Type.{u1}} (f : I -> D) (X : CategoryTheory.Discrete.{u1} I), Eq.{succ u1} D (CategoryTheory.Functor.obj.{u1, u1, u1, u1} (CategoryTheory.Discrete.{u1} I) (CategoryTheory.discreteCategory.{u1} I) D _inst_1 (CategoryTheory.Discrete.functor.{u1, u1, u1} D _inst_1 I f) X) (f (CategoryTheory.Discrete.as.{u1} I X))
-but is expected to have type
-  forall {D : Type.{u1}} [_inst_1 : CategoryTheory.Category.{u1, u1} D] {I : Type.{u1}} (f : I -> D) (X : CategoryTheory.Discrete.{u1} I), Eq.{succ u1} D (Prefunctor.obj.{succ u1, succ u1, u1, u1} (CategoryTheory.Discrete.{u1} I) (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} (CategoryTheory.Discrete.{u1} I) (CategoryTheory.Category.toCategoryStruct.{u1, u1} (CategoryTheory.Discrete.{u1} I) (CategoryTheory.discreteCategory.{u1} I))) D (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} D (CategoryTheory.Category.toCategoryStruct.{u1, u1} D _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u1} (CategoryTheory.Discrete.{u1} I) (CategoryTheory.discreteCategory.{u1} I) D _inst_1 (CategoryTheory.Discrete.functor.{u1, u1, u1} D _inst_1 I f)) X) (f (CategoryTheory.Discrete.as.{u1} I X))
-Case conversion may be inaccurate. Consider using '#align category_theory.free_monoidal_category.discrete_functor_obj_eq_as CategoryTheory.FreeMonoidalCategory.discrete_functor_obj_eq_asₓ'. -/
 -- TODO: move to discrete_category.lean, decide whether this should be a global simp lemma
 @[simp]
 theorem discrete_functor_obj_eq_as : (Discrete.functor f).obj X = f X.as :=
   rfl
 #align category_theory.free_monoidal_category.discrete_functor_obj_eq_as CategoryTheory.FreeMonoidalCategory.discrete_functor_obj_eq_as
 
-/- warning: category_theory.free_monoidal_category.discrete_functor_map_eq_id -> CategoryTheory.FreeMonoidalCategory.discrete_functor_map_eq_id is a dubious translation:
-lean 3 declaration is
-  forall {D : Type.{u1}} [_inst_1 : CategoryTheory.Category.{u1, u1} D] {I : Type.{u1}} (f : I -> D) (X : CategoryTheory.Discrete.{u1} I) (g : Quiver.Hom.{succ u1, u1} (CategoryTheory.Discrete.{u1} I) (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} (CategoryTheory.Discrete.{u1} I) (CategoryTheory.Category.toCategoryStruct.{u1, u1} (CategoryTheory.Discrete.{u1} I) (CategoryTheory.discreteCategory.{u1} I))) X X), Eq.{succ u1} (Quiver.Hom.{succ u1, u1} D (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} D (CategoryTheory.Category.toCategoryStruct.{u1, u1} D _inst_1)) (CategoryTheory.Functor.obj.{u1, u1, u1, u1} (CategoryTheory.Discrete.{u1} I) (CategoryTheory.discreteCategory.{u1} I) D _inst_1 (CategoryTheory.Discrete.functor.{u1, u1, u1} D _inst_1 I f) X) (CategoryTheory.Functor.obj.{u1, u1, u1, u1} (CategoryTheory.Discrete.{u1} I) (CategoryTheory.discreteCategory.{u1} I) D _inst_1 (CategoryTheory.Discrete.functor.{u1, u1, u1} D _inst_1 I f) X)) (CategoryTheory.Functor.map.{u1, u1, u1, u1} (CategoryTheory.Discrete.{u1} I) (CategoryTheory.discreteCategory.{u1} I) D _inst_1 (CategoryTheory.Discrete.functor.{u1, u1, u1} D _inst_1 I f) X X g) (CategoryTheory.CategoryStruct.id.{u1, u1} D (CategoryTheory.Category.toCategoryStruct.{u1, u1} D _inst_1) (CategoryTheory.Functor.obj.{u1, u1, u1, u1} (CategoryTheory.Discrete.{u1} I) (CategoryTheory.discreteCategory.{u1} I) D _inst_1 (CategoryTheory.Discrete.functor.{u1, u1, u1} D _inst_1 I f) X))
-but is expected to have type
-  forall {D : Type.{u1}} [_inst_1 : CategoryTheory.Category.{u1, u1} D] {I : Type.{u1}} (f : I -> D) (X : CategoryTheory.Discrete.{u1} I) (g : Quiver.Hom.{succ u1, u1} (CategoryTheory.Discrete.{u1} I) (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} (CategoryTheory.Discrete.{u1} I) (CategoryTheory.Category.toCategoryStruct.{u1, u1} (CategoryTheory.Discrete.{u1} I) (CategoryTheory.discreteCategory.{u1} I))) X X), Eq.{succ u1} (Quiver.Hom.{succ u1, u1} D (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} D (CategoryTheory.Category.toCategoryStruct.{u1, u1} D _inst_1)) (Prefunctor.obj.{succ u1, succ u1, u1, u1} (CategoryTheory.Discrete.{u1} I) (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} (CategoryTheory.Discrete.{u1} I) (CategoryTheory.Category.toCategoryStruct.{u1, u1} (CategoryTheory.Discrete.{u1} I) (CategoryTheory.discreteCategory.{u1} I))) D (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} D (CategoryTheory.Category.toCategoryStruct.{u1, u1} D _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u1} (CategoryTheory.Discrete.{u1} I) (CategoryTheory.discreteCategory.{u1} I) D _inst_1 (CategoryTheory.Discrete.functor.{u1, u1, u1} D _inst_1 I f)) X) (Prefunctor.obj.{succ u1, succ u1, u1, u1} (CategoryTheory.Discrete.{u1} I) (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} (CategoryTheory.Discrete.{u1} I) (CategoryTheory.Category.toCategoryStruct.{u1, u1} (CategoryTheory.Discrete.{u1} I) (CategoryTheory.discreteCategory.{u1} I))) D (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} D (CategoryTheory.Category.toCategoryStruct.{u1, u1} D _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u1} (CategoryTheory.Discrete.{u1} I) (CategoryTheory.discreteCategory.{u1} I) D _inst_1 (CategoryTheory.Discrete.functor.{u1, u1, u1} D _inst_1 I f)) X)) (Prefunctor.map.{succ u1, succ u1, u1, u1} (CategoryTheory.Discrete.{u1} I) (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} (CategoryTheory.Discrete.{u1} I) (CategoryTheory.Category.toCategoryStruct.{u1, u1} (CategoryTheory.Discrete.{u1} I) (CategoryTheory.discreteCategory.{u1} I))) D (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} D (CategoryTheory.Category.toCategoryStruct.{u1, u1} D _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u1} (CategoryTheory.Discrete.{u1} I) (CategoryTheory.discreteCategory.{u1} I) D _inst_1 (CategoryTheory.Discrete.functor.{u1, u1, u1} D _inst_1 I f)) X X g) (CategoryTheory.CategoryStruct.id.{u1, u1} D (CategoryTheory.Category.toCategoryStruct.{u1, u1} D _inst_1) (Prefunctor.obj.{succ u1, succ u1, u1, u1} (CategoryTheory.Discrete.{u1} I) (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} (CategoryTheory.Discrete.{u1} I) (CategoryTheory.Category.toCategoryStruct.{u1, u1} (CategoryTheory.Discrete.{u1} I) (CategoryTheory.discreteCategory.{u1} I))) D (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} D (CategoryTheory.Category.toCategoryStruct.{u1, u1} D _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u1} (CategoryTheory.Discrete.{u1} I) (CategoryTheory.discreteCategory.{u1} I) D _inst_1 (CategoryTheory.Discrete.functor.{u1, u1, u1} D _inst_1 I f)) X))
-Case conversion may be inaccurate. Consider using '#align category_theory.free_monoidal_category.discrete_functor_map_eq_id CategoryTheory.FreeMonoidalCategory.discrete_functor_map_eq_idₓ'. -/
 -- TODO: move to discrete_category.lean, decide whether this should be a global simp lemma
 @[simp]
 theorem discrete_functor_map_eq_id (g : X ⟶ X) : (Discrete.functor f).map g = 𝟙 _ := by tidy
Diff
@@ -143,30 +143,12 @@ def normalizeMapAux :
     ∀ {X Y : F C},
       (X ⟶ᵐ Y) → ((Discrete.functor (normalizeObj X) : _ ⥤ N C) ⟶ Discrete.functor (normalizeObj Y))
   | _, _, id _ => 𝟙 _
-  | _, _, α_hom _ _ _ =>
-    ⟨fun X => 𝟙 _, by
-      rintro ⟨X⟩ ⟨Y⟩ f
-      simp⟩
-  | _, _, α_inv _ _ _ =>
-    ⟨fun X => 𝟙 _, by
-      rintro ⟨X⟩ ⟨Y⟩ f
-      simp⟩
-  | _, _, l_hom _ =>
-    ⟨fun X => 𝟙 _, by
-      rintro ⟨X⟩ ⟨Y⟩ f
-      simp⟩
-  | _, _, l_inv _ =>
-    ⟨fun X => 𝟙 _, by
-      rintro ⟨X⟩ ⟨Y⟩ f
-      simp⟩
-  | _, _, ρ_hom _ =>
-    ⟨fun ⟨X⟩ => ⟨⟨by simp⟩⟩, by
-      rintro ⟨X⟩ ⟨Y⟩ f
-      simp⟩
-  | _, _, ρ_inv _ =>
-    ⟨fun ⟨X⟩ => ⟨⟨by simp⟩⟩, by
-      rintro ⟨X⟩ ⟨Y⟩ f
-      simp⟩
+  | _, _, α_hom _ _ _ => ⟨fun X => 𝟙 _, by rintro ⟨X⟩ ⟨Y⟩ f; simp⟩
+  | _, _, α_inv _ _ _ => ⟨fun X => 𝟙 _, by rintro ⟨X⟩ ⟨Y⟩ f; simp⟩
+  | _, _, l_hom _ => ⟨fun X => 𝟙 _, by rintro ⟨X⟩ ⟨Y⟩ f; simp⟩
+  | _, _, l_inv _ => ⟨fun X => 𝟙 _, by rintro ⟨X⟩ ⟨Y⟩ f; simp⟩
+  | _, _, ρ_hom _ => ⟨fun ⟨X⟩ => ⟨⟨by simp⟩⟩, by rintro ⟨X⟩ ⟨Y⟩ f; simp⟩
+  | _, _, ρ_inv _ => ⟨fun ⟨X⟩ => ⟨⟨by simp⟩⟩, by rintro ⟨X⟩ ⟨Y⟩ f; simp⟩
   | X, Y, @comp _ U V W f g => normalize_map_aux f ≫ normalize_map_aux g
   | X, Y, @hom.tensor _ T U V W f g =>
     ⟨fun X =>
@@ -222,10 +204,7 @@ def fullNormalize : F C ⥤ N C
 def tensorFunc : F C ⥤ N C ⥤ F C
     where
   obj X := Discrete.functor fun n => inclusion.obj ⟨n⟩ ⊗ X
-  map X Y f :=
-    ⟨fun n => 𝟙 _ ⊗ f, by
-      rintro ⟨X⟩ ⟨Y⟩
-      tidy⟩
+  map X Y f := ⟨fun n => 𝟙 _ ⊗ f, by rintro ⟨X⟩ ⟨Y⟩; tidy⟩
 #align category_theory.free_monoidal_category.tensor_func CategoryTheory.FreeMonoidalCategory.tensorFunc
 -/
 
@@ -242,11 +221,7 @@ theorem tensorFunc_map_app {X Y : F C} (f : X ⟶ Y) (n) : ((tensorFunc C).map f
 Case conversion may be inaccurate. Consider using '#align category_theory.free_monoidal_category.tensor_func_obj_map CategoryTheory.FreeMonoidalCategory.tensorFunc_obj_mapₓ'. -/
 /- ./././Mathport/Syntax/Translate/Expr.lean:177:8: unsupported: ambiguous notation -/
 theorem tensorFunc_obj_map (Z : F C) {n n' : N C} (f : n ⟶ n') :
-    ((tensorFunc C).obj Z).map f = inclusion.map f ⊗ 𝟙 Z :=
-  by
-  cases n
-  cases n'
-  tidy
+    ((tensorFunc C).obj Z).map f = inclusion.map f ⊗ 𝟙 Z := by cases n; cases n'; tidy
 #align category_theory.free_monoidal_category.tensor_func_obj_map CategoryTheory.FreeMonoidalCategory.tensorFunc_obj_map
 
 /- warning: category_theory.free_monoidal_category.normalize_iso_app -> CategoryTheory.FreeMonoidalCategory.normalizeIsoApp is a dubious translation:
@@ -288,10 +263,7 @@ Case conversion may be inaccurate. Consider using '#align category_theory.free_m
 /-- Auxiliary definition for `normalize_iso`. -/
 @[simp]
 def normalizeIsoAux (X : F C) : (tensorFunc C).obj X ≅ (normalize' C).obj X :=
-  NatIso.ofComponents (normalizeIsoApp C X)
-    (by
-      rintro ⟨X⟩ ⟨Y⟩
-      tidy)
+  NatIso.ofComponents (normalizeIsoApp C X) (by rintro ⟨X⟩ ⟨Y⟩; tidy)
 #align category_theory.free_monoidal_category.normalize_iso_aux CategoryTheory.FreeMonoidalCategory.normalizeIsoAux
 
 section
@@ -340,26 +312,21 @@ def normalizeIso : tensorFunc C ≅ normalize' C :=
         simp only [id_tensor_associator_inv_naturality_assoc, ← pentagon_inv_assoc,
           tensor_hom_inv_id_assoc, tensor_id, category.id_comp, discrete.functor_map_id,
           comp_tensor_id, iso.cancel_iso_inv_left, category.assoc]
-        dsimp
-        simp only [category.comp_id]
+        dsimp; simp only [category.comp_id]
       · dsimp
         simp only [discrete.functor_map_id, comp_tensor_id, category.assoc, pentagon_inv_assoc, ←
           associator_inv_naturality_assoc, tensor_id, iso.cancel_iso_inv_left]
-        dsimp
-        simp only [category.comp_id]
+        dsimp; simp only [category.comp_id]
       · dsimp
         rw [triangle_assoc_comp_right_assoc]
         simp only [discrete.functor_map_id, category.assoc]
         cases n
-        dsimp
-        simp only [category.comp_id]
+        dsimp; simp only [category.comp_id]
       · dsimp
         simp only [triangle_assoc_comp_left_inv_assoc, inv_hom_id_tensor_assoc, tensor_id,
           category.id_comp, discrete.functor_map_id]
-        dsimp
-        simp only [category.comp_id]
-        cases n
-        simp
+        dsimp; simp only [category.comp_id]
+        cases n; simp
       · dsimp
         rw [← (iso.inv_comp_eq _).2 (right_unitor_tensor _ _), category.assoc, ←
           right_unitor_naturality]
@@ -375,8 +342,7 @@ def normalizeIso : tensorFunc C ≅ normalize' C :=
           iso.inv_hom_id_assoc]
         congr
         convert(discrete_functor_map_eq_id inclusion_obj _ _).symm
-        ext
-        rfl
+        ext; rfl
       · dsimp at *
         rw [id_tensor_comp, category.assoc, f_ih_g ⟦f_g⟧, ← category.assoc, f_ih_f ⟦f_f⟧,
           category.assoc, ← functor.map_comp]
Diff
@@ -230,10 +230,7 @@ def tensorFunc : F C ⥤ N C ⥤ F C
 -/
 
 /- warning: category_theory.free_monoidal_category.tensor_func_map_app -> CategoryTheory.FreeMonoidalCategory.tensorFunc_map_app is a dubious translation:
-lean 3 declaration is
-  forall (C : Type.{u1}) {X : CategoryTheory.FreeMonoidalCategory.{u1} C} {Y : CategoryTheory.FreeMonoidalCategory.{u1} C} (f : Quiver.Hom.{succ u1, u1} (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.Category.toCategoryStruct.{u1, u1} (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C))) X Y) (n : Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C), Eq.{succ u1} (Quiver.Hom.{succ u1, u1} (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.Category.toCategoryStruct.{u1, u1} (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C))) (CategoryTheory.Functor.obj.{u1, u1, u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.discreteCategory.{u1} (CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C)) (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C) (CategoryTheory.Functor.obj.{u1, u1, u1, u1} (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C) (CategoryTheory.Functor.{u1, u1, u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.discreteCategory.{u1} (CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C)) (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C)) (CategoryTheory.Functor.category.{u1, u1, u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.discreteCategory.{u1} (CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C)) (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C)) (CategoryTheory.FreeMonoidalCategory.tensorFunc.{u1} C) X) n) (CategoryTheory.Functor.obj.{u1, u1, u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.discreteCategory.{u1} (CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C)) (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C) (CategoryTheory.Functor.obj.{u1, u1, u1, u1} (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C) (CategoryTheory.Functor.{u1, u1, u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.discreteCategory.{u1} (CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C)) (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C)) (CategoryTheory.Functor.category.{u1, u1, u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.discreteCategory.{u1} (CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C)) (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C)) (CategoryTheory.FreeMonoidalCategory.tensorFunc.{u1} C) Y) n)) (CategoryTheory.NatTrans.app.{u1, u1, u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.discreteCategory.{u1} (CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C)) (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C) (CategoryTheory.Functor.obj.{u1, u1, u1, u1} (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C) (CategoryTheory.Functor.{u1, u1, u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.discreteCategory.{u1} (CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C)) (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C)) (CategoryTheory.Functor.category.{u1, u1, u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.discreteCategory.{u1} (CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C)) (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C)) (CategoryTheory.FreeMonoidalCategory.tensorFunc.{u1} C) X) (CategoryTheory.Functor.obj.{u1, u1, u1, u1} (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C) (CategoryTheory.Functor.{u1, u1, u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.discreteCategory.{u1} (CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C)) (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C)) (CategoryTheory.Functor.category.{u1, u1, u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.discreteCategory.{u1} (CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C)) (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C)) (CategoryTheory.FreeMonoidalCategory.tensorFunc.{u1} C) Y) (CategoryTheory.Functor.map.{u1, u1, u1, u1} (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C) (CategoryTheory.Functor.{u1, u1, u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.discreteCategory.{u1} (CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C)) (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C)) (CategoryTheory.Functor.category.{u1, u1, u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.discreteCategory.{u1} (CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C)) (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C)) (CategoryTheory.FreeMonoidalCategory.tensorFunc.{u1} C) X Y f) n) (CategoryTheory.MonoidalCategory.tensorHom.{u1, u1} (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.CategoryTheory.monoidalCategory.{u1} C) (CategoryTheory.Functor.obj.{u1, u1, u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.discreteCategory.{u1} (CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C)) (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.inclusion.{u1} C) (CategoryTheory.Discrete.mk.{u1} (CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.Discrete.as.{u1} (CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) n))) (CategoryTheory.Functor.obj.{u1, u1, u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.discreteCategory.{u1} (CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C)) (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.inclusion.{u1} C) (CategoryTheory.Discrete.mk.{u1} (CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.Discrete.as.{u1} (CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) n))) X Y (CategoryTheory.CategoryStruct.id.{u1, u1} (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.Category.toCategoryStruct.{u1, u1} (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C)) (CategoryTheory.Functor.obj.{u1, u1, u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.discreteCategory.{u1} (CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C)) (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.inclusion.{u1} C) (CategoryTheory.Discrete.mk.{u1} (CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.Discrete.as.{u1} (CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) n)))) f)
-but is expected to have type
-  forall (C : Type.{u1}) {X : CategoryTheory.FreeMonoidalCategory.{u1} C} {Y : CategoryTheory.FreeMonoidalCategory.{u1} C} (f : Quiver.Hom.{succ u1, u1} (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.Category.toCategoryStruct.{u1, u1} (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C))) X Y) (n : Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C), Eq.{succ u1} (Quiver.Hom.{succ u1, u1} (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.Category.toCategoryStruct.{u1, u1} (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C))) (Prefunctor.obj.{succ u1, succ u1, u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.Category.toCategoryStruct.{u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.Pi.instForAllCategoryCompType.{succ u1, succ u1, u1, u1} Type.{u1} CategoryTheory.Discrete.{u1} (fun (i : Type.{u1}) => CategoryTheory.discreteCategory.{u1} i) Type.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C))) (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.Category.toCategoryStruct.{u1, u1} (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C))) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.Pi.instForAllCategoryCompType.{succ u1, succ u1, u1, u1} Type.{u1} CategoryTheory.Discrete.{u1} (fun (i : Type.{u1}) => CategoryTheory.discreteCategory.{u1} i) Type.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C) (Prefunctor.obj.{succ u1, succ u1, u1, u1} (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.Category.toCategoryStruct.{u1, u1} (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C))) (CategoryTheory.Functor.{u1, u1, u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.Pi.instForAllCategoryCompType.{succ u1, succ u1, u1, u1} Type.{u1} CategoryTheory.Discrete.{u1} (fun (i : Type.{u1}) => CategoryTheory.discreteCategory.{u1} i) Type.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C)) (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} (CategoryTheory.Functor.{u1, u1, u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.Pi.instForAllCategoryCompType.{succ u1, succ u1, u1, u1} Type.{u1} CategoryTheory.Discrete.{u1} (fun (i : Type.{u1}) => CategoryTheory.discreteCategory.{u1} i) Type.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C)) (CategoryTheory.Category.toCategoryStruct.{u1, u1} (CategoryTheory.Functor.{u1, u1, u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.Pi.instForAllCategoryCompType.{succ u1, succ u1, u1, u1} Type.{u1} CategoryTheory.Discrete.{u1} (fun (i : Type.{u1}) => CategoryTheory.discreteCategory.{u1} i) Type.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C)) (CategoryTheory.Functor.category.{u1, u1, u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.Pi.instForAllCategoryCompType.{succ u1, succ u1, u1, u1} Type.{u1} CategoryTheory.Discrete.{u1} (fun (i : Type.{u1}) => CategoryTheory.discreteCategory.{u1} i) Type.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C)))) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u1} (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C) (CategoryTheory.Functor.{u1, u1, u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.Pi.instForAllCategoryCompType.{succ u1, succ u1, u1, u1} Type.{u1} CategoryTheory.Discrete.{u1} (fun (i : Type.{u1}) => CategoryTheory.discreteCategory.{u1} i) Type.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C)) (CategoryTheory.Functor.category.{u1, u1, u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.Pi.instForAllCategoryCompType.{succ u1, succ u1, u1, u1} Type.{u1} CategoryTheory.Discrete.{u1} (fun (i : Type.{u1}) => CategoryTheory.discreteCategory.{u1} i) Type.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C)) (CategoryTheory.FreeMonoidalCategory.tensorFunc.{u1} C)) X)) n) (Prefunctor.obj.{succ u1, succ u1, u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.Category.toCategoryStruct.{u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.Pi.instForAllCategoryCompType.{succ u1, succ u1, u1, u1} Type.{u1} CategoryTheory.Discrete.{u1} (fun (i : Type.{u1}) => CategoryTheory.discreteCategory.{u1} i) Type.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C))) (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.Category.toCategoryStruct.{u1, u1} (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C))) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.Pi.instForAllCategoryCompType.{succ u1, succ u1, u1, u1} Type.{u1} CategoryTheory.Discrete.{u1} (fun (i : Type.{u1}) => CategoryTheory.discreteCategory.{u1} i) Type.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C) (Prefunctor.obj.{succ u1, succ u1, u1, u1} (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.Category.toCategoryStruct.{u1, u1} (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C))) (CategoryTheory.Functor.{u1, u1, u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.Pi.instForAllCategoryCompType.{succ u1, succ u1, u1, u1} Type.{u1} CategoryTheory.Discrete.{u1} (fun (i : Type.{u1}) => CategoryTheory.discreteCategory.{u1} i) Type.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C)) (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} (CategoryTheory.Functor.{u1, u1, u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.Pi.instForAllCategoryCompType.{succ u1, succ u1, u1, u1} Type.{u1} CategoryTheory.Discrete.{u1} (fun (i : Type.{u1}) => CategoryTheory.discreteCategory.{u1} i) Type.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C)) (CategoryTheory.Category.toCategoryStruct.{u1, u1} (CategoryTheory.Functor.{u1, u1, u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.Pi.instForAllCategoryCompType.{succ u1, succ u1, u1, u1} Type.{u1} CategoryTheory.Discrete.{u1} (fun (i : Type.{u1}) => CategoryTheory.discreteCategory.{u1} i) Type.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C)) (CategoryTheory.Functor.category.{u1, u1, u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.Pi.instForAllCategoryCompType.{succ u1, succ u1, u1, u1} Type.{u1} CategoryTheory.Discrete.{u1} (fun (i : Type.{u1}) => CategoryTheory.discreteCategory.{u1} i) Type.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C)))) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u1} (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C) (CategoryTheory.Functor.{u1, u1, u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.Pi.instForAllCategoryCompType.{succ u1, succ u1, u1, u1} Type.{u1} CategoryTheory.Discrete.{u1} (fun (i : Type.{u1}) => CategoryTheory.discreteCategory.{u1} i) Type.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C)) (CategoryTheory.Functor.category.{u1, u1, u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.Pi.instForAllCategoryCompType.{succ u1, succ u1, u1, u1} Type.{u1} CategoryTheory.Discrete.{u1} (fun (i : Type.{u1}) => CategoryTheory.discreteCategory.{u1} i) Type.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C)) (CategoryTheory.FreeMonoidalCategory.tensorFunc.{u1} C)) Y)) n)) (CategoryTheory.NatTrans.app.{u1, u1, u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.Pi.instForAllCategoryCompType.{succ u1, succ u1, u1, u1} Type.{u1} CategoryTheory.Discrete.{u1} (fun (i : Type.{u1}) => CategoryTheory.discreteCategory.{u1} i) Type.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C) (Prefunctor.obj.{succ u1, succ u1, u1, u1} (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.Category.toCategoryStruct.{u1, u1} (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C))) (CategoryTheory.Functor.{u1, u1, u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.Pi.instForAllCategoryCompType.{succ u1, succ u1, u1, u1} Type.{u1} CategoryTheory.Discrete.{u1} (fun (i : Type.{u1}) => CategoryTheory.discreteCategory.{u1} i) Type.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C)) (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} (CategoryTheory.Functor.{u1, u1, u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.Pi.instForAllCategoryCompType.{succ u1, succ u1, u1, u1} Type.{u1} CategoryTheory.Discrete.{u1} (fun (i : Type.{u1}) => CategoryTheory.discreteCategory.{u1} i) Type.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C)) (CategoryTheory.Category.toCategoryStruct.{u1, u1} (CategoryTheory.Functor.{u1, u1, u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.Pi.instForAllCategoryCompType.{succ u1, succ u1, u1, u1} Type.{u1} CategoryTheory.Discrete.{u1} (fun (i : Type.{u1}) => CategoryTheory.discreteCategory.{u1} i) Type.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C)) (CategoryTheory.Functor.category.{u1, u1, u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.Pi.instForAllCategoryCompType.{succ u1, succ u1, u1, u1} Type.{u1} CategoryTheory.Discrete.{u1} (fun (i : Type.{u1}) => CategoryTheory.discreteCategory.{u1} i) Type.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C)))) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u1} (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C) (CategoryTheory.Functor.{u1, u1, u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.Pi.instForAllCategoryCompType.{succ u1, succ u1, u1, u1} Type.{u1} CategoryTheory.Discrete.{u1} (fun (i : Type.{u1}) => CategoryTheory.discreteCategory.{u1} i) Type.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C)) (CategoryTheory.Functor.category.{u1, u1, u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.Pi.instForAllCategoryCompType.{succ u1, succ u1, u1, u1} Type.{u1} CategoryTheory.Discrete.{u1} (fun (i : Type.{u1}) => CategoryTheory.discreteCategory.{u1} i) Type.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C)) (CategoryTheory.FreeMonoidalCategory.tensorFunc.{u1} C)) X) (Prefunctor.obj.{succ u1, succ u1, u1, u1} (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.Category.toCategoryStruct.{u1, u1} (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C))) (CategoryTheory.Functor.{u1, u1, u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.Pi.instForAllCategoryCompType.{succ u1, succ u1, u1, u1} Type.{u1} CategoryTheory.Discrete.{u1} (fun (i : Type.{u1}) => CategoryTheory.discreteCategory.{u1} i) Type.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C)) (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} (CategoryTheory.Functor.{u1, u1, u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.Pi.instForAllCategoryCompType.{succ u1, succ u1, u1, u1} Type.{u1} CategoryTheory.Discrete.{u1} (fun (i : Type.{u1}) => CategoryTheory.discreteCategory.{u1} i) Type.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C)) (CategoryTheory.Category.toCategoryStruct.{u1, u1} (CategoryTheory.Functor.{u1, u1, u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.Pi.instForAllCategoryCompType.{succ u1, succ u1, u1, u1} Type.{u1} CategoryTheory.Discrete.{u1} (fun (i : Type.{u1}) => CategoryTheory.discreteCategory.{u1} i) Type.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C)) (CategoryTheory.Functor.category.{u1, u1, u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.Pi.instForAllCategoryCompType.{succ u1, succ u1, u1, u1} Type.{u1} CategoryTheory.Discrete.{u1} (fun (i : Type.{u1}) => CategoryTheory.discreteCategory.{u1} i) Type.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C)))) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u1} (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C) (CategoryTheory.Functor.{u1, u1, u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.Pi.instForAllCategoryCompType.{succ u1, succ u1, u1, u1} Type.{u1} CategoryTheory.Discrete.{u1} (fun (i : Type.{u1}) => CategoryTheory.discreteCategory.{u1} i) Type.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C)) (CategoryTheory.Functor.category.{u1, u1, u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.Pi.instForAllCategoryCompType.{succ u1, succ u1, u1, u1} Type.{u1} CategoryTheory.Discrete.{u1} (fun (i : Type.{u1}) => CategoryTheory.discreteCategory.{u1} i) Type.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C)) (CategoryTheory.FreeMonoidalCategory.tensorFunc.{u1} C)) Y) (Prefunctor.map.{succ u1, succ u1, u1, u1} (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.Category.toCategoryStruct.{u1, u1} (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C))) (CategoryTheory.Functor.{u1, u1, u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.Pi.instForAllCategoryCompType.{succ u1, succ u1, u1, u1} Type.{u1} CategoryTheory.Discrete.{u1} (fun (i : Type.{u1}) => CategoryTheory.discreteCategory.{u1} i) Type.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C)) (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} (CategoryTheory.Functor.{u1, u1, u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.Pi.instForAllCategoryCompType.{succ u1, succ u1, u1, u1} Type.{u1} CategoryTheory.Discrete.{u1} (fun (i : Type.{u1}) => CategoryTheory.discreteCategory.{u1} i) Type.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C)) (CategoryTheory.Category.toCategoryStruct.{u1, u1} (CategoryTheory.Functor.{u1, u1, u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.Pi.instForAllCategoryCompType.{succ u1, succ u1, u1, u1} Type.{u1} CategoryTheory.Discrete.{u1} (fun (i : Type.{u1}) => CategoryTheory.discreteCategory.{u1} i) Type.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C)) (CategoryTheory.Functor.category.{u1, u1, u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.Pi.instForAllCategoryCompType.{succ u1, succ u1, u1, u1} Type.{u1} CategoryTheory.Discrete.{u1} (fun (i : Type.{u1}) => CategoryTheory.discreteCategory.{u1} i) Type.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C)))) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u1} (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C) (CategoryTheory.Functor.{u1, u1, u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.Pi.instForAllCategoryCompType.{succ u1, succ u1, u1, u1} Type.{u1} CategoryTheory.Discrete.{u1} (fun (i : Type.{u1}) => CategoryTheory.discreteCategory.{u1} i) Type.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C)) (CategoryTheory.Functor.category.{u1, u1, u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.Pi.instForAllCategoryCompType.{succ u1, succ u1, u1, u1} Type.{u1} CategoryTheory.Discrete.{u1} (fun (i : Type.{u1}) => CategoryTheory.discreteCategory.{u1} i) Type.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C)) (CategoryTheory.FreeMonoidalCategory.tensorFunc.{u1} C)) X Y f) n) (CategoryTheory.MonoidalCategory.tensorHom.{u1, u1} (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.instMonoidalCategoryFreeMonoidalCategoryCategoryFreeMonoidalCategory.{u1} C) (Prefunctor.obj.{succ u1, succ u1, u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.Category.toCategoryStruct.{u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.Pi.instForAllCategoryCompType.{succ u1, succ u1, u1, u1} Type.{u1} CategoryTheory.Discrete.{u1} (fun (i : Type.{u1}) => CategoryTheory.discreteCategory.{u1} i) Type.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C))) (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.Category.toCategoryStruct.{u1, u1} (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C))) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.Pi.instForAllCategoryCompType.{succ u1, succ u1, u1, u1} Type.{u1} CategoryTheory.Discrete.{u1} (fun (i : Type.{u1}) => CategoryTheory.discreteCategory.{u1} i) Type.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.inclusion.{u1} C)) (CategoryTheory.Discrete.mk.{u1} (CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.Discrete.as.{u1} (CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) n))) (Prefunctor.obj.{succ u1, succ u1, u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.Category.toCategoryStruct.{u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.Pi.instForAllCategoryCompType.{succ u1, succ u1, u1, u1} Type.{u1} CategoryTheory.Discrete.{u1} (fun (i : Type.{u1}) => CategoryTheory.discreteCategory.{u1} i) Type.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C))) (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.Category.toCategoryStruct.{u1, u1} (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C))) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.Pi.instForAllCategoryCompType.{succ u1, succ u1, u1, u1} Type.{u1} CategoryTheory.Discrete.{u1} (fun (i : Type.{u1}) => CategoryTheory.discreteCategory.{u1} i) Type.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.inclusion.{u1} C)) (CategoryTheory.Discrete.mk.{u1} (CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.Discrete.as.{u1} (CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) n))) X Y (CategoryTheory.CategoryStruct.id.{u1, u1} (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.Category.toCategoryStruct.{u1, u1} (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C)) (Prefunctor.obj.{succ u1, succ u1, u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.Category.toCategoryStruct.{u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.Pi.instForAllCategoryCompType.{succ u1, succ u1, u1, u1} Type.{u1} CategoryTheory.Discrete.{u1} (fun (i : Type.{u1}) => CategoryTheory.discreteCategory.{u1} i) Type.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C))) (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.Category.toCategoryStruct.{u1, u1} (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C))) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.Pi.instForAllCategoryCompType.{succ u1, succ u1, u1, u1} Type.{u1} CategoryTheory.Discrete.{u1} (fun (i : Type.{u1}) => CategoryTheory.discreteCategory.{u1} i) Type.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.inclusion.{u1} C)) (CategoryTheory.Discrete.mk.{u1} (CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.Discrete.as.{u1} (CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) n)))) f)
+<too large>
 Case conversion may be inaccurate. Consider using '#align category_theory.free_monoidal_category.tensor_func_map_app CategoryTheory.FreeMonoidalCategory.tensorFunc_map_appₓ'. -/
 /- ./././Mathport/Syntax/Translate/Expr.lean:177:8: unsupported: ambiguous notation -/
 theorem tensorFunc_map_app {X Y : F C} (f : X ⟶ Y) (n) : ((tensorFunc C).map f).app n = 𝟙 _ ⊗ f :=
@@ -241,10 +238,7 @@ theorem tensorFunc_map_app {X Y : F C} (f : X ⟶ Y) (n) : ((tensorFunc C).map f
 #align category_theory.free_monoidal_category.tensor_func_map_app CategoryTheory.FreeMonoidalCategory.tensorFunc_map_app
 
 /- warning: category_theory.free_monoidal_category.tensor_func_obj_map -> CategoryTheory.FreeMonoidalCategory.tensorFunc_obj_map is a dubious translation:
-lean 3 declaration is
-  forall (C : Type.{u1}) (Z : CategoryTheory.FreeMonoidalCategory.{u1} C) {n : Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C} {n' : Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C} (f : Quiver.Hom.{succ u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.Category.toCategoryStruct.{u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.discreteCategory.{u1} (CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C)))) n n'), Eq.{succ u1} (Quiver.Hom.{succ u1, u1} (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.Category.toCategoryStruct.{u1, u1} (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C))) (CategoryTheory.Functor.obj.{u1, u1, u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.discreteCategory.{u1} (CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C)) (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C) (CategoryTheory.Functor.obj.{u1, u1, u1, u1} (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C) (CategoryTheory.Functor.{u1, u1, u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.discreteCategory.{u1} (CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C)) (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C)) (CategoryTheory.Functor.category.{u1, u1, u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.discreteCategory.{u1} (CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C)) (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C)) (CategoryTheory.FreeMonoidalCategory.tensorFunc.{u1} C) Z) n) (CategoryTheory.Functor.obj.{u1, u1, u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.discreteCategory.{u1} (CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C)) (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C) (CategoryTheory.Functor.obj.{u1, u1, u1, u1} (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C) (CategoryTheory.Functor.{u1, u1, u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.discreteCategory.{u1} (CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C)) (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C)) (CategoryTheory.Functor.category.{u1, u1, u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.discreteCategory.{u1} (CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C)) (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C)) (CategoryTheory.FreeMonoidalCategory.tensorFunc.{u1} C) Z) n')) (CategoryTheory.Functor.map.{u1, u1, u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.discreteCategory.{u1} (CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C)) (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C) (CategoryTheory.Functor.obj.{u1, u1, u1, u1} (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C) (CategoryTheory.Functor.{u1, u1, u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.discreteCategory.{u1} (CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C)) (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C)) (CategoryTheory.Functor.category.{u1, u1, u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.discreteCategory.{u1} (CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C)) (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C)) (CategoryTheory.FreeMonoidalCategory.tensorFunc.{u1} C) Z) n n' f) (CategoryTheory.MonoidalCategory.tensorHom.{u1, u1} (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.CategoryTheory.monoidalCategory.{u1} C) (CategoryTheory.Functor.obj.{u1, u1, u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.discreteCategory.{u1} (CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C)) (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.inclusion.{u1} C) n) (CategoryTheory.Functor.obj.{u1, u1, u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.discreteCategory.{u1} (CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C)) (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.inclusion.{u1} C) n') Z Z (CategoryTheory.Functor.map.{u1, u1, u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.discreteCategory.{u1} (CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C)) (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.inclusion.{u1} C) n n' f) (CategoryTheory.CategoryStruct.id.{u1, u1} (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.Category.toCategoryStruct.{u1, u1} (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C)) Z))
-but is expected to have type
-  forall (C : Type.{u1}) (Z : CategoryTheory.FreeMonoidalCategory.{u1} C) {n : Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C} {n' : Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C} (f : Quiver.Hom.{succ u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.Category.toCategoryStruct.{u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.Pi.instForAllCategoryCompType.{succ u1, succ u1, u1, u1} Type.{u1} CategoryTheory.Discrete.{u1} (fun (i : Type.{u1}) => CategoryTheory.discreteCategory.{u1} i) Type.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C))) n n'), Eq.{succ u1} (Quiver.Hom.{succ u1, u1} (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.Category.toCategoryStruct.{u1, u1} (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C))) (Prefunctor.obj.{succ u1, succ u1, u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.Category.toCategoryStruct.{u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.Pi.instForAllCategoryCompType.{succ u1, succ u1, u1, u1} Type.{u1} CategoryTheory.Discrete.{u1} (fun (i : Type.{u1}) => CategoryTheory.discreteCategory.{u1} i) Type.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C))) (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.Category.toCategoryStruct.{u1, u1} (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C))) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.Pi.instForAllCategoryCompType.{succ u1, succ u1, u1, u1} Type.{u1} CategoryTheory.Discrete.{u1} (fun (i : Type.{u1}) => CategoryTheory.discreteCategory.{u1} i) Type.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C) (Prefunctor.obj.{succ u1, succ u1, u1, u1} (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.Category.toCategoryStruct.{u1, u1} (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C))) (CategoryTheory.Functor.{u1, u1, u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.Pi.instForAllCategoryCompType.{succ u1, succ u1, u1, u1} Type.{u1} CategoryTheory.Discrete.{u1} (fun (i : Type.{u1}) => CategoryTheory.discreteCategory.{u1} i) Type.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C)) (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} (CategoryTheory.Functor.{u1, u1, u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.Pi.instForAllCategoryCompType.{succ u1, succ u1, u1, u1} Type.{u1} CategoryTheory.Discrete.{u1} (fun (i : Type.{u1}) => CategoryTheory.discreteCategory.{u1} i) Type.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C)) (CategoryTheory.Category.toCategoryStruct.{u1, u1} (CategoryTheory.Functor.{u1, u1, u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.Pi.instForAllCategoryCompType.{succ u1, succ u1, u1, u1} Type.{u1} CategoryTheory.Discrete.{u1} (fun (i : Type.{u1}) => CategoryTheory.discreteCategory.{u1} i) Type.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C)) (CategoryTheory.Functor.category.{u1, u1, u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.Pi.instForAllCategoryCompType.{succ u1, succ u1, u1, u1} Type.{u1} CategoryTheory.Discrete.{u1} (fun (i : Type.{u1}) => CategoryTheory.discreteCategory.{u1} i) Type.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C)))) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u1} (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C) (CategoryTheory.Functor.{u1, u1, u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.Pi.instForAllCategoryCompType.{succ u1, succ u1, u1, u1} Type.{u1} CategoryTheory.Discrete.{u1} (fun (i : Type.{u1}) => CategoryTheory.discreteCategory.{u1} i) Type.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C)) (CategoryTheory.Functor.category.{u1, u1, u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.Pi.instForAllCategoryCompType.{succ u1, succ u1, u1, u1} Type.{u1} CategoryTheory.Discrete.{u1} (fun (i : Type.{u1}) => CategoryTheory.discreteCategory.{u1} i) Type.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C)) (CategoryTheory.FreeMonoidalCategory.tensorFunc.{u1} C)) Z)) n) (Prefunctor.obj.{succ u1, succ u1, u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.Category.toCategoryStruct.{u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.Pi.instForAllCategoryCompType.{succ u1, succ u1, u1, u1} Type.{u1} CategoryTheory.Discrete.{u1} (fun (i : Type.{u1}) => CategoryTheory.discreteCategory.{u1} i) Type.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C))) (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.Category.toCategoryStruct.{u1, u1} (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C))) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.Pi.instForAllCategoryCompType.{succ u1, succ u1, u1, u1} Type.{u1} CategoryTheory.Discrete.{u1} (fun (i : Type.{u1}) => CategoryTheory.discreteCategory.{u1} i) Type.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C) (Prefunctor.obj.{succ u1, succ u1, u1, u1} (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.Category.toCategoryStruct.{u1, u1} (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C))) (CategoryTheory.Functor.{u1, u1, u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.Pi.instForAllCategoryCompType.{succ u1, succ u1, u1, u1} Type.{u1} CategoryTheory.Discrete.{u1} (fun (i : Type.{u1}) => CategoryTheory.discreteCategory.{u1} i) Type.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C)) (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} (CategoryTheory.Functor.{u1, u1, u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.Pi.instForAllCategoryCompType.{succ u1, succ u1, u1, u1} Type.{u1} CategoryTheory.Discrete.{u1} (fun (i : Type.{u1}) => CategoryTheory.discreteCategory.{u1} i) Type.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C)) (CategoryTheory.Category.toCategoryStruct.{u1, u1} (CategoryTheory.Functor.{u1, u1, u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.Pi.instForAllCategoryCompType.{succ u1, succ u1, u1, u1} Type.{u1} CategoryTheory.Discrete.{u1} (fun (i : Type.{u1}) => CategoryTheory.discreteCategory.{u1} i) Type.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C)) (CategoryTheory.Functor.category.{u1, u1, u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.Pi.instForAllCategoryCompType.{succ u1, succ u1, u1, u1} Type.{u1} CategoryTheory.Discrete.{u1} (fun (i : Type.{u1}) => CategoryTheory.discreteCategory.{u1} i) Type.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C)))) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u1} (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C) (CategoryTheory.Functor.{u1, u1, u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.Pi.instForAllCategoryCompType.{succ u1, succ u1, u1, u1} Type.{u1} CategoryTheory.Discrete.{u1} (fun (i : Type.{u1}) => CategoryTheory.discreteCategory.{u1} i) Type.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C)) (CategoryTheory.Functor.category.{u1, u1, u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.Pi.instForAllCategoryCompType.{succ u1, succ u1, u1, u1} Type.{u1} CategoryTheory.Discrete.{u1} (fun (i : Type.{u1}) => CategoryTheory.discreteCategory.{u1} i) Type.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C)) (CategoryTheory.FreeMonoidalCategory.tensorFunc.{u1} C)) Z)) n')) (Prefunctor.map.{succ u1, succ u1, u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.Category.toCategoryStruct.{u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.Pi.instForAllCategoryCompType.{succ u1, succ u1, u1, u1} Type.{u1} CategoryTheory.Discrete.{u1} (fun (i : Type.{u1}) => CategoryTheory.discreteCategory.{u1} i) Type.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C))) (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.Category.toCategoryStruct.{u1, u1} (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C))) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.Pi.instForAllCategoryCompType.{succ u1, succ u1, u1, u1} Type.{u1} CategoryTheory.Discrete.{u1} (fun (i : Type.{u1}) => CategoryTheory.discreteCategory.{u1} i) Type.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C) (Prefunctor.obj.{succ u1, succ u1, u1, u1} (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.Category.toCategoryStruct.{u1, u1} (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C))) (CategoryTheory.Functor.{u1, u1, u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.Pi.instForAllCategoryCompType.{succ u1, succ u1, u1, u1} Type.{u1} CategoryTheory.Discrete.{u1} (fun (i : Type.{u1}) => CategoryTheory.discreteCategory.{u1} i) Type.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C)) (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} (CategoryTheory.Functor.{u1, u1, u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.Pi.instForAllCategoryCompType.{succ u1, succ u1, u1, u1} Type.{u1} CategoryTheory.Discrete.{u1} (fun (i : Type.{u1}) => CategoryTheory.discreteCategory.{u1} i) Type.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C)) (CategoryTheory.Category.toCategoryStruct.{u1, u1} (CategoryTheory.Functor.{u1, u1, u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.Pi.instForAllCategoryCompType.{succ u1, succ u1, u1, u1} Type.{u1} CategoryTheory.Discrete.{u1} (fun (i : Type.{u1}) => CategoryTheory.discreteCategory.{u1} i) Type.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C)) (CategoryTheory.Functor.category.{u1, u1, u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.Pi.instForAllCategoryCompType.{succ u1, succ u1, u1, u1} Type.{u1} CategoryTheory.Discrete.{u1} (fun (i : Type.{u1}) => CategoryTheory.discreteCategory.{u1} i) Type.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C)))) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u1} (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C) (CategoryTheory.Functor.{u1, u1, u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.Pi.instForAllCategoryCompType.{succ u1, succ u1, u1, u1} Type.{u1} CategoryTheory.Discrete.{u1} (fun (i : Type.{u1}) => CategoryTheory.discreteCategory.{u1} i) Type.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C)) (CategoryTheory.Functor.category.{u1, u1, u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.Pi.instForAllCategoryCompType.{succ u1, succ u1, u1, u1} Type.{u1} CategoryTheory.Discrete.{u1} (fun (i : Type.{u1}) => CategoryTheory.discreteCategory.{u1} i) Type.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C)) (CategoryTheory.FreeMonoidalCategory.tensorFunc.{u1} C)) Z)) n n' f) (CategoryTheory.MonoidalCategory.tensorHom.{u1, u1} (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.instMonoidalCategoryFreeMonoidalCategoryCategoryFreeMonoidalCategory.{u1} C) (Prefunctor.obj.{succ u1, succ u1, u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.Category.toCategoryStruct.{u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.Pi.instForAllCategoryCompType.{succ u1, succ u1, u1, u1} Type.{u1} CategoryTheory.Discrete.{u1} (fun (i : Type.{u1}) => CategoryTheory.discreteCategory.{u1} i) Type.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C))) (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.Category.toCategoryStruct.{u1, u1} (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C))) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.Pi.instForAllCategoryCompType.{succ u1, succ u1, u1, u1} Type.{u1} CategoryTheory.Discrete.{u1} (fun (i : Type.{u1}) => CategoryTheory.discreteCategory.{u1} i) Type.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.inclusion.{u1} C)) n) (Prefunctor.obj.{succ u1, succ u1, u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.Category.toCategoryStruct.{u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.Pi.instForAllCategoryCompType.{succ u1, succ u1, u1, u1} Type.{u1} CategoryTheory.Discrete.{u1} (fun (i : Type.{u1}) => CategoryTheory.discreteCategory.{u1} i) Type.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C))) (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.Category.toCategoryStruct.{u1, u1} (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C))) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.Pi.instForAllCategoryCompType.{succ u1, succ u1, u1, u1} Type.{u1} CategoryTheory.Discrete.{u1} (fun (i : Type.{u1}) => CategoryTheory.discreteCategory.{u1} i) Type.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.inclusion.{u1} C)) n') Z Z (Prefunctor.map.{succ u1, succ u1, u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.Category.toCategoryStruct.{u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.Pi.instForAllCategoryCompType.{succ u1, succ u1, u1, u1} Type.{u1} CategoryTheory.Discrete.{u1} (fun (i : Type.{u1}) => CategoryTheory.discreteCategory.{u1} i) Type.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C))) (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.Category.toCategoryStruct.{u1, u1} (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C))) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.Pi.instForAllCategoryCompType.{succ u1, succ u1, u1, u1} Type.{u1} CategoryTheory.Discrete.{u1} (fun (i : Type.{u1}) => CategoryTheory.discreteCategory.{u1} i) Type.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.inclusion.{u1} C)) n n' f) (CategoryTheory.CategoryStruct.id.{u1, u1} (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.Category.toCategoryStruct.{u1, u1} (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C)) Z))
+<too large>
 Case conversion may be inaccurate. Consider using '#align category_theory.free_monoidal_category.tensor_func_obj_map CategoryTheory.FreeMonoidalCategory.tensorFunc_obj_mapₓ'. -/
 /- ./././Mathport/Syntax/Translate/Expr.lean:177:8: unsupported: ambiguous notation -/
 theorem tensorFunc_obj_map (Z : F C) {n n' : N C} (f : n ⟶ n') :
@@ -256,10 +250,7 @@ theorem tensorFunc_obj_map (Z : F C) {n n' : N C} (f : n ⟶ n') :
 #align category_theory.free_monoidal_category.tensor_func_obj_map CategoryTheory.FreeMonoidalCategory.tensorFunc_obj_map
 
 /- warning: category_theory.free_monoidal_category.normalize_iso_app -> CategoryTheory.FreeMonoidalCategory.normalizeIsoApp is a dubious translation:
-lean 3 declaration is
-  forall (C : Type.{u1}) (X : CategoryTheory.FreeMonoidalCategory.{u1} C) (n : Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C), CategoryTheory.Iso.{u1, u1} (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C) (CategoryTheory.Functor.obj.{u1, u1, u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.discreteCategory.{u1} (CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C)) (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C) (CategoryTheory.Functor.obj.{u1, u1, u1, u1} (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C) (CategoryTheory.Functor.{u1, u1, u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.discreteCategory.{u1} (CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C)) (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C)) (CategoryTheory.Functor.category.{u1, u1, u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.discreteCategory.{u1} (CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C)) (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C)) (CategoryTheory.FreeMonoidalCategory.tensorFunc.{u1} C) X) n) (CategoryTheory.Functor.obj.{u1, u1, u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.discreteCategory.{u1} (CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C)) (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C) (CategoryTheory.Functor.obj.{u1, u1, u1, u1} (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C) (CategoryTheory.Functor.{u1, u1, u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.discreteCategory.{u1} (CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C)) (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C)) (CategoryTheory.Functor.category.{u1, u1, u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.discreteCategory.{u1} (CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C)) (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C)) (CategoryTheory.FreeMonoidalCategory.normalize'.{u1} C) X) n)
-but is expected to have type
-  forall (C : Type.{u1}) (X : CategoryTheory.FreeMonoidalCategory.{u1} C) (n : Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C), CategoryTheory.Iso.{u1, u1} (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C) (Prefunctor.obj.{succ u1, succ u1, u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.Category.toCategoryStruct.{u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.Pi.instForAllCategoryCompType.{succ u1, succ u1, u1, u1} Type.{u1} CategoryTheory.Discrete.{u1} (fun (i : Type.{u1}) => CategoryTheory.discreteCategory.{u1} i) Type.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C))) (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.Category.toCategoryStruct.{u1, u1} (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C))) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.Pi.instForAllCategoryCompType.{succ u1, succ u1, u1, u1} Type.{u1} CategoryTheory.Discrete.{u1} (fun (i : Type.{u1}) => CategoryTheory.discreteCategory.{u1} i) Type.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C) (Prefunctor.obj.{succ u1, succ u1, u1, u1} (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.Category.toCategoryStruct.{u1, u1} (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C))) (CategoryTheory.Functor.{u1, u1, u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.Pi.instForAllCategoryCompType.{succ u1, succ u1, u1, u1} Type.{u1} CategoryTheory.Discrete.{u1} (fun (i : Type.{u1}) => CategoryTheory.discreteCategory.{u1} i) Type.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C)) (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} (CategoryTheory.Functor.{u1, u1, u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.Pi.instForAllCategoryCompType.{succ u1, succ u1, u1, u1} Type.{u1} CategoryTheory.Discrete.{u1} (fun (i : Type.{u1}) => CategoryTheory.discreteCategory.{u1} i) Type.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C)) (CategoryTheory.Category.toCategoryStruct.{u1, u1} (CategoryTheory.Functor.{u1, u1, u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.Pi.instForAllCategoryCompType.{succ u1, succ u1, u1, u1} Type.{u1} CategoryTheory.Discrete.{u1} (fun (i : Type.{u1}) => CategoryTheory.discreteCategory.{u1} i) Type.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C)) (CategoryTheory.Functor.category.{u1, u1, u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.Pi.instForAllCategoryCompType.{succ u1, succ u1, u1, u1} Type.{u1} CategoryTheory.Discrete.{u1} (fun (i : Type.{u1}) => CategoryTheory.discreteCategory.{u1} i) Type.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C)))) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u1} (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C) (CategoryTheory.Functor.{u1, u1, u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.Pi.instForAllCategoryCompType.{succ u1, succ u1, u1, u1} Type.{u1} CategoryTheory.Discrete.{u1} (fun (i : Type.{u1}) => CategoryTheory.discreteCategory.{u1} i) Type.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C)) (CategoryTheory.Functor.category.{u1, u1, u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.Pi.instForAllCategoryCompType.{succ u1, succ u1, u1, u1} Type.{u1} CategoryTheory.Discrete.{u1} (fun (i : Type.{u1}) => CategoryTheory.discreteCategory.{u1} i) Type.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C)) (CategoryTheory.FreeMonoidalCategory.tensorFunc.{u1} C)) X)) n) (Prefunctor.obj.{succ u1, succ u1, u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.Category.toCategoryStruct.{u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.Pi.instForAllCategoryCompType.{succ u1, succ u1, u1, u1} Type.{u1} CategoryTheory.Discrete.{u1} (fun (i : Type.{u1}) => CategoryTheory.discreteCategory.{u1} i) Type.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C))) (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.Category.toCategoryStruct.{u1, u1} (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C))) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.Pi.instForAllCategoryCompType.{succ u1, succ u1, u1, u1} Type.{u1} CategoryTheory.Discrete.{u1} (fun (i : Type.{u1}) => CategoryTheory.discreteCategory.{u1} i) Type.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C) (Prefunctor.obj.{succ u1, succ u1, u1, u1} (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.Category.toCategoryStruct.{u1, u1} (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C))) (CategoryTheory.Functor.{u1, u1, u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.Pi.instForAllCategoryCompType.{succ u1, succ u1, u1, u1} Type.{u1} CategoryTheory.Discrete.{u1} (fun (i : Type.{u1}) => CategoryTheory.discreteCategory.{u1} i) Type.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C)) (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} (CategoryTheory.Functor.{u1, u1, u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.Pi.instForAllCategoryCompType.{succ u1, succ u1, u1, u1} Type.{u1} CategoryTheory.Discrete.{u1} (fun (i : Type.{u1}) => CategoryTheory.discreteCategory.{u1} i) Type.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C)) (CategoryTheory.Category.toCategoryStruct.{u1, u1} (CategoryTheory.Functor.{u1, u1, u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.Pi.instForAllCategoryCompType.{succ u1, succ u1, u1, u1} Type.{u1} CategoryTheory.Discrete.{u1} (fun (i : Type.{u1}) => CategoryTheory.discreteCategory.{u1} i) Type.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C)) (CategoryTheory.Functor.category.{u1, u1, u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.Pi.instForAllCategoryCompType.{succ u1, succ u1, u1, u1} Type.{u1} CategoryTheory.Discrete.{u1} (fun (i : Type.{u1}) => CategoryTheory.discreteCategory.{u1} i) Type.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C)))) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u1} (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C) (CategoryTheory.Functor.{u1, u1, u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.Pi.instForAllCategoryCompType.{succ u1, succ u1, u1, u1} Type.{u1} CategoryTheory.Discrete.{u1} (fun (i : Type.{u1}) => CategoryTheory.discreteCategory.{u1} i) Type.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C)) (CategoryTheory.Functor.category.{u1, u1, u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.Pi.instForAllCategoryCompType.{succ u1, succ u1, u1, u1} Type.{u1} CategoryTheory.Discrete.{u1} (fun (i : Type.{u1}) => CategoryTheory.discreteCategory.{u1} i) Type.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C)) (CategoryTheory.FreeMonoidalCategory.normalize'.{u1} C)) X)) n)
+<too large>
 Case conversion may be inaccurate. Consider using '#align category_theory.free_monoidal_category.normalize_iso_app CategoryTheory.FreeMonoidalCategory.normalizeIsoAppₓ'. -/
 /-- Auxiliary definition for `normalize_iso`. Here we construct the isomorphism between
     `n ⊗ X` and `normalize X n`. -/
@@ -273,10 +264,7 @@ def normalizeIsoApp :
 #align category_theory.free_monoidal_category.normalize_iso_app CategoryTheory.FreeMonoidalCategory.normalizeIsoApp
 
 /- warning: category_theory.free_monoidal_category.normalize_iso_app_tensor -> CategoryTheory.FreeMonoidalCategory.normalizeIsoApp_tensor is a dubious translation:
-lean 3 declaration is
-  forall (C : Type.{u1}) (X : CategoryTheory.FreeMonoidalCategory.{u1} C) (Y : CategoryTheory.FreeMonoidalCategory.{u1} C) (n : Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C), Eq.{succ u1} (CategoryTheory.Iso.{u1, u1} (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C) (CategoryTheory.Functor.obj.{u1, u1, u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.discreteCategory.{u1} (CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C)) (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C) (CategoryTheory.Functor.obj.{u1, u1, u1, u1} (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C) (CategoryTheory.Functor.{u1, u1, u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.discreteCategory.{u1} (CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C)) (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C)) (CategoryTheory.Functor.category.{u1, u1, u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.discreteCategory.{u1} (CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C)) (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C)) (CategoryTheory.FreeMonoidalCategory.tensorFunc.{u1} C) (CategoryTheory.MonoidalCategory.tensorObj.{u1, u1} (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.CategoryTheory.monoidalCategory.{u1} C) X Y)) n) (CategoryTheory.Functor.obj.{u1, u1, u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.discreteCategory.{u1} (CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C)) (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C) (CategoryTheory.Functor.obj.{u1, u1, u1, u1} (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C) (CategoryTheory.Functor.{u1, u1, u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.discreteCategory.{u1} (CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C)) (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C)) (CategoryTheory.Functor.category.{u1, u1, u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.discreteCategory.{u1} (CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C)) (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C)) (CategoryTheory.FreeMonoidalCategory.normalize'.{u1} C) (CategoryTheory.MonoidalCategory.tensorObj.{u1, u1} (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.CategoryTheory.monoidalCategory.{u1} C) X Y)) n)) (CategoryTheory.FreeMonoidalCategory.normalizeIsoApp.{u1} C (CategoryTheory.MonoidalCategory.tensorObj.{u1, u1} (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.CategoryTheory.monoidalCategory.{u1} C) X Y) n) (CategoryTheory.Iso.trans.{u1, u1} (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C) (CategoryTheory.Functor.obj.{u1, u1, u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.discreteCategory.{u1} (CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C)) (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C) (CategoryTheory.Functor.obj.{u1, u1, u1, u1} (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C) (CategoryTheory.Functor.{u1, u1, u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.discreteCategory.{u1} (CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C)) (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C)) (CategoryTheory.Functor.category.{u1, u1, u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.discreteCategory.{u1} (CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C)) (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C)) (CategoryTheory.FreeMonoidalCategory.tensorFunc.{u1} C) (CategoryTheory.MonoidalCategory.tensorObj.{u1, u1} (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.CategoryTheory.monoidalCategory.{u1} C) X Y)) n) (CategoryTheory.MonoidalCategory.tensorObj.{u1, u1} (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.CategoryTheory.monoidalCategory.{u1} C) (CategoryTheory.MonoidalCategory.tensorObj.{u1, u1} (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.CategoryTheory.monoidalCategory.{u1} C) (CategoryTheory.Functor.obj.{u1, u1, u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.discreteCategory.{u1} (CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C)) (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.inclusion.{u1} C) (CategoryTheory.Discrete.mk.{u1} (CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.Discrete.as.{u1} (CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) n))) X) Y) (CategoryTheory.Functor.obj.{u1, u1, u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.discreteCategory.{u1} (CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C)) (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C) (CategoryTheory.Functor.obj.{u1, u1, u1, u1} (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C) (CategoryTheory.Functor.{u1, u1, u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.discreteCategory.{u1} (CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C)) (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C)) (CategoryTheory.Functor.category.{u1, u1, u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.discreteCategory.{u1} (CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C)) (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C)) (CategoryTheory.FreeMonoidalCategory.normalize'.{u1} C) (CategoryTheory.MonoidalCategory.tensorObj.{u1, u1} (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.CategoryTheory.monoidalCategory.{u1} C) X Y)) n) (CategoryTheory.Iso.symm.{u1, u1} (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C) (CategoryTheory.MonoidalCategory.tensorObj.{u1, u1} (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.CategoryTheory.monoidalCategory.{u1} C) (CategoryTheory.MonoidalCategory.tensorObj.{u1, u1} (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.CategoryTheory.monoidalCategory.{u1} C) (CategoryTheory.Functor.obj.{u1, u1, u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.discreteCategory.{u1} (CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C)) (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.inclusion.{u1} C) (CategoryTheory.Discrete.mk.{u1} (CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.Discrete.as.{u1} (CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) n))) X) Y) (CategoryTheory.MonoidalCategory.tensorObj.{u1, u1} (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.CategoryTheory.monoidalCategory.{u1} C) (CategoryTheory.Functor.obj.{u1, u1, u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.discreteCategory.{u1} (CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C)) (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.inclusion.{u1} C) (CategoryTheory.Discrete.mk.{u1} (CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.Discrete.as.{u1} (CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) n))) (CategoryTheory.MonoidalCategory.tensorObj.{u1, u1} (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.CategoryTheory.monoidalCategory.{u1} C) X Y)) (CategoryTheory.MonoidalCategory.associator.{u1, u1} (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.CategoryTheory.monoidalCategory.{u1} C) (CategoryTheory.Functor.obj.{u1, u1, u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.discreteCategory.{u1} (CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C)) (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.inclusion.{u1} C) (CategoryTheory.Discrete.mk.{u1} (CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.Discrete.as.{u1} (CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) n))) X Y)) (CategoryTheory.Iso.trans.{u1, u1} (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C) (CategoryTheory.MonoidalCategory.tensorObj.{u1, u1} (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.CategoryTheory.monoidalCategory.{u1} C) (CategoryTheory.MonoidalCategory.tensorObj.{u1, u1} (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.CategoryTheory.monoidalCategory.{u1} C) (CategoryTheory.Functor.obj.{u1, u1, u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.discreteCategory.{u1} (CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C)) (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.inclusion.{u1} C) (CategoryTheory.Discrete.mk.{u1} (CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.Discrete.as.{u1} (CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) n))) X) Y) (CategoryTheory.MonoidalCategory.tensorObj.{u1, u1} (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.CategoryTheory.monoidalCategory.{u1} C) (CategoryTheory.Functor.obj.{u1, u1, u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.discreteCategory.{u1} (CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C)) (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C) (CategoryTheory.Functor.obj.{u1, u1, u1, u1} (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C) (CategoryTheory.Functor.{u1, u1, u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.discreteCategory.{u1} (CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C)) (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C)) (CategoryTheory.Functor.category.{u1, u1, u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.discreteCategory.{u1} (CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C)) (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C)) (CategoryTheory.FreeMonoidalCategory.normalize'.{u1} C) X) n) Y) (CategoryTheory.Functor.obj.{u1, u1, u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.discreteCategory.{u1} (CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C)) (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C) (CategoryTheory.Functor.obj.{u1, u1, u1, u1} (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C) (CategoryTheory.Functor.{u1, u1, u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.discreteCategory.{u1} (CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C)) (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C)) (CategoryTheory.Functor.category.{u1, u1, u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.discreteCategory.{u1} (CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C)) (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C)) (CategoryTheory.FreeMonoidalCategory.normalize'.{u1} C) (CategoryTheory.MonoidalCategory.tensorObj.{u1, u1} (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.CategoryTheory.monoidalCategory.{u1} C) X Y)) n) (CategoryTheory.tensorIso.{u1, u1} (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.MonoidalCategory.tensorObj.{u1, u1} (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.CategoryTheory.monoidalCategory.{u1} C) (CategoryTheory.Functor.obj.{u1, u1, u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.discreteCategory.{u1} (CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C)) (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.inclusion.{u1} C) (CategoryTheory.Discrete.mk.{u1} (CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.Discrete.as.{u1} (CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) n))) X) (CategoryTheory.Functor.obj.{u1, u1, u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.discreteCategory.{u1} (CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C)) (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C) (CategoryTheory.Functor.obj.{u1, u1, u1, u1} (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C) (CategoryTheory.Functor.{u1, u1, u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.discreteCategory.{u1} (CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C)) (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C)) (CategoryTheory.Functor.category.{u1, u1, u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.discreteCategory.{u1} (CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C)) (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C)) (CategoryTheory.FreeMonoidalCategory.normalize'.{u1} C) X) n) Y Y (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.CategoryTheory.monoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.normalizeIsoApp.{u1} C X n) (CategoryTheory.Iso.refl.{u1, u1} (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C) Y)) (CategoryTheory.FreeMonoidalCategory.normalizeIsoApp.{u1} C Y (CategoryTheory.Functor.obj.{u1, u1, u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.discreteCategory.{u1} (CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C)) (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.discreteCategory.{u1} (CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C)) (CategoryTheory.Functor.obj.{u1, u1, u1, u1} (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C) (CategoryTheory.Functor.{u1, u1, u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.discreteCategory.{u1} (CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C)) (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.discreteCategory.{u1} (CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C))) (CategoryTheory.Functor.category.{u1, u1, u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.discreteCategory.{u1} (CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C)) (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.discreteCategory.{u1} (CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C))) (CategoryTheory.FreeMonoidalCategory.normalize.{u1} C) X) n))))
-but is expected to have type
-  forall (C : Type.{u1}) (X : CategoryTheory.FreeMonoidalCategory.{u1} C) (Y : CategoryTheory.FreeMonoidalCategory.{u1} C) (n : Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C), Eq.{succ u1} (CategoryTheory.Iso.{u1, u1} (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C) (Prefunctor.obj.{succ u1, succ u1, u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.Category.toCategoryStruct.{u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.Pi.instForAllCategoryCompType.{succ u1, succ u1, u1, u1} Type.{u1} CategoryTheory.Discrete.{u1} (fun (i : Type.{u1}) => CategoryTheory.discreteCategory.{u1} i) Type.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C))) (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.Category.toCategoryStruct.{u1, u1} (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C))) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.Pi.instForAllCategoryCompType.{succ u1, succ u1, u1, u1} Type.{u1} CategoryTheory.Discrete.{u1} (fun (i : Type.{u1}) => CategoryTheory.discreteCategory.{u1} i) Type.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C) (Prefunctor.obj.{succ u1, succ u1, u1, u1} (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.Category.toCategoryStruct.{u1, u1} (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C))) (CategoryTheory.Functor.{u1, u1, u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.Pi.instForAllCategoryCompType.{succ u1, succ u1, u1, u1} Type.{u1} CategoryTheory.Discrete.{u1} (fun (i : Type.{u1}) => CategoryTheory.discreteCategory.{u1} i) Type.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C)) (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} (CategoryTheory.Functor.{u1, u1, u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.Pi.instForAllCategoryCompType.{succ u1, succ u1, u1, u1} Type.{u1} CategoryTheory.Discrete.{u1} (fun (i : Type.{u1}) => CategoryTheory.discreteCategory.{u1} i) Type.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C)) (CategoryTheory.Category.toCategoryStruct.{u1, u1} (CategoryTheory.Functor.{u1, u1, u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.Pi.instForAllCategoryCompType.{succ u1, succ u1, u1, u1} Type.{u1} CategoryTheory.Discrete.{u1} (fun (i : Type.{u1}) => CategoryTheory.discreteCategory.{u1} i) Type.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C)) (CategoryTheory.Functor.category.{u1, u1, u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.Pi.instForAllCategoryCompType.{succ u1, succ u1, u1, u1} Type.{u1} CategoryTheory.Discrete.{u1} (fun (i : Type.{u1}) => CategoryTheory.discreteCategory.{u1} i) Type.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C)))) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u1} (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C) (CategoryTheory.Functor.{u1, u1, u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.Pi.instForAllCategoryCompType.{succ u1, succ u1, u1, u1} Type.{u1} CategoryTheory.Discrete.{u1} (fun (i : Type.{u1}) => CategoryTheory.discreteCategory.{u1} i) Type.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C)) (CategoryTheory.Functor.category.{u1, u1, u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.Pi.instForAllCategoryCompType.{succ u1, succ u1, u1, u1} Type.{u1} CategoryTheory.Discrete.{u1} (fun (i : Type.{u1}) => CategoryTheory.discreteCategory.{u1} i) Type.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C)) (CategoryTheory.FreeMonoidalCategory.tensorFunc.{u1} C)) (CategoryTheory.MonoidalCategory.tensorObj.{u1, u1} (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.instMonoidalCategoryFreeMonoidalCategoryCategoryFreeMonoidalCategory.{u1} C) X Y))) n) (Prefunctor.obj.{succ u1, succ u1, u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.Category.toCategoryStruct.{u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.Pi.instForAllCategoryCompType.{succ u1, succ u1, u1, u1} Type.{u1} CategoryTheory.Discrete.{u1} (fun (i : Type.{u1}) => CategoryTheory.discreteCategory.{u1} i) Type.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C))) (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.Category.toCategoryStruct.{u1, u1} (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C))) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.Pi.instForAllCategoryCompType.{succ u1, succ u1, u1, u1} Type.{u1} CategoryTheory.Discrete.{u1} (fun (i : Type.{u1}) => CategoryTheory.discreteCategory.{u1} i) Type.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C) (Prefunctor.obj.{succ u1, succ u1, u1, u1} (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.Category.toCategoryStruct.{u1, u1} (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C))) (CategoryTheory.Functor.{u1, u1, u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.Pi.instForAllCategoryCompType.{succ u1, succ u1, u1, u1} Type.{u1} CategoryTheory.Discrete.{u1} (fun (i : Type.{u1}) => CategoryTheory.discreteCategory.{u1} i) Type.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C)) (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} (CategoryTheory.Functor.{u1, u1, u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.Pi.instForAllCategoryCompType.{succ u1, succ u1, u1, u1} Type.{u1} CategoryTheory.Discrete.{u1} (fun (i : Type.{u1}) => CategoryTheory.discreteCategory.{u1} i) Type.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C)) (CategoryTheory.Category.toCategoryStruct.{u1, u1} (CategoryTheory.Functor.{u1, u1, u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.Pi.instForAllCategoryCompType.{succ u1, succ u1, u1, u1} Type.{u1} CategoryTheory.Discrete.{u1} (fun (i : Type.{u1}) => CategoryTheory.discreteCategory.{u1} i) Type.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C)) (CategoryTheory.Functor.category.{u1, u1, u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.Pi.instForAllCategoryCompType.{succ u1, succ u1, u1, u1} Type.{u1} CategoryTheory.Discrete.{u1} (fun (i : Type.{u1}) => CategoryTheory.discreteCategory.{u1} i) Type.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C)))) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u1} (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C) (CategoryTheory.Functor.{u1, u1, u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.Pi.instForAllCategoryCompType.{succ u1, succ u1, u1, u1} Type.{u1} CategoryTheory.Discrete.{u1} (fun (i : Type.{u1}) => CategoryTheory.discreteCategory.{u1} i) Type.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C)) (CategoryTheory.Functor.category.{u1, u1, u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.Pi.instForAllCategoryCompType.{succ u1, succ u1, u1, u1} Type.{u1} CategoryTheory.Discrete.{u1} (fun (i : Type.{u1}) => CategoryTheory.discreteCategory.{u1} i) Type.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C)) (CategoryTheory.FreeMonoidalCategory.normalize'.{u1} C)) (CategoryTheory.MonoidalCategory.tensorObj.{u1, u1} (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.instMonoidalCategoryFreeMonoidalCategoryCategoryFreeMonoidalCategory.{u1} C) X Y))) n)) (CategoryTheory.FreeMonoidalCategory.normalizeIsoApp.{u1} C (CategoryTheory.MonoidalCategory.tensorObj.{u1, u1} (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.instMonoidalCategoryFreeMonoidalCategoryCategoryFreeMonoidalCategory.{u1} C) X Y) n) (CategoryTheory.Iso.trans.{u1, u1} (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C) (CategoryTheory.MonoidalCategory.tensorObj.{u1, u1} (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.instMonoidalCategoryFreeMonoidalCategoryCategoryFreeMonoidalCategory.{u1} C) (Prefunctor.obj.{succ u1, succ u1, u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.Category.toCategoryStruct.{u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.Pi.instForAllCategoryCompType.{succ u1, succ u1, u1, u1} Type.{u1} CategoryTheory.Discrete.{u1} (fun (i : Type.{u1}) => CategoryTheory.discreteCategory.{u1} i) Type.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C))) (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.Category.toCategoryStruct.{u1, u1} (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C))) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.Pi.instForAllCategoryCompType.{succ u1, succ u1, u1, u1} Type.{u1} CategoryTheory.Discrete.{u1} (fun (i : Type.{u1}) => CategoryTheory.discreteCategory.{u1} i) Type.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.inclusion.{u1} C)) (CategoryTheory.Discrete.mk.{u1} (CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.Discrete.as.{u1} (CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) n))) (CategoryTheory.MonoidalCategory.tensorObj.{u1, u1} (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.instMonoidalCategoryFreeMonoidalCategoryCategoryFreeMonoidalCategory.{u1} C) X Y)) (CategoryTheory.MonoidalCategory.tensorObj.{u1, u1} (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.instMonoidalCategoryFreeMonoidalCategoryCategoryFreeMonoidalCategory.{u1} C) (CategoryTheory.MonoidalCategory.tensorObj.{u1, u1} (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.instMonoidalCategoryFreeMonoidalCategoryCategoryFreeMonoidalCategory.{u1} C) (Prefunctor.obj.{succ u1, succ u1, u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.Category.toCategoryStruct.{u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.Pi.instForAllCategoryCompType.{succ u1, succ u1, u1, u1} Type.{u1} CategoryTheory.Discrete.{u1} (fun (i : Type.{u1}) => CategoryTheory.discreteCategory.{u1} i) Type.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C))) (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.Category.toCategoryStruct.{u1, u1} (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C))) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.Pi.instForAllCategoryCompType.{succ u1, succ u1, u1, u1} Type.{u1} CategoryTheory.Discrete.{u1} (fun (i : Type.{u1}) => CategoryTheory.discreteCategory.{u1} i) Type.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.inclusion.{u1} C)) (CategoryTheory.Discrete.mk.{u1} (CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.Discrete.as.{u1} (CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) n))) X) Y) (Prefunctor.obj.{succ u1, succ u1, u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.Category.toCategoryStruct.{u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.Pi.instForAllCategoryCompType.{succ u1, succ u1, u1, u1} Type.{u1} CategoryTheory.Discrete.{u1} (fun (i : Type.{u1}) => CategoryTheory.discreteCategory.{u1} i) Type.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C))) (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.Category.toCategoryStruct.{u1, u1} (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C))) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.Pi.instForAllCategoryCompType.{succ u1, succ u1, u1, u1} Type.{u1} CategoryTheory.Discrete.{u1} (fun (i : Type.{u1}) => CategoryTheory.discreteCategory.{u1} i) Type.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C) (Prefunctor.obj.{succ u1, succ u1, u1, u1} (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.Category.toCategoryStruct.{u1, u1} (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C))) (CategoryTheory.Functor.{u1, u1, u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.Pi.instForAllCategoryCompType.{succ u1, succ u1, u1, u1} Type.{u1} CategoryTheory.Discrete.{u1} (fun (i : Type.{u1}) => CategoryTheory.discreteCategory.{u1} i) Type.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C)) (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} (CategoryTheory.Functor.{u1, u1, u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.Pi.instForAllCategoryCompType.{succ u1, succ u1, u1, u1} Type.{u1} CategoryTheory.Discrete.{u1} (fun (i : Type.{u1}) => CategoryTheory.discreteCategory.{u1} i) Type.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C)) (CategoryTheory.Category.toCategoryStruct.{u1, u1} (CategoryTheory.Functor.{u1, u1, u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.Pi.instForAllCategoryCompType.{succ u1, succ u1, u1, u1} Type.{u1} CategoryTheory.Discrete.{u1} (fun (i : Type.{u1}) => CategoryTheory.discreteCategory.{u1} i) Type.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C)) (CategoryTheory.Functor.category.{u1, u1, u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.Pi.instForAllCategoryCompType.{succ u1, succ u1, u1, u1} Type.{u1} CategoryTheory.Discrete.{u1} (fun (i : Type.{u1}) => CategoryTheory.discreteCategory.{u1} i) Type.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C)))) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u1} (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C) (CategoryTheory.Functor.{u1, u1, u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.Pi.instForAllCategoryCompType.{succ u1, succ u1, u1, u1} Type.{u1} CategoryTheory.Discrete.{u1} (fun (i : Type.{u1}) => CategoryTheory.discreteCategory.{u1} i) Type.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C)) (CategoryTheory.Functor.category.{u1, u1, u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.Pi.instForAllCategoryCompType.{succ u1, succ u1, u1, u1} Type.{u1} CategoryTheory.Discrete.{u1} (fun (i : Type.{u1}) => CategoryTheory.discreteCategory.{u1} i) Type.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C)) (CategoryTheory.FreeMonoidalCategory.normalize'.{u1} C)) Y)) (CategoryTheory.FreeMonoidalCategory.normalizeObj.{u1} C X (CategoryTheory.Discrete.as.{u1} (CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) n))) (CategoryTheory.Iso.symm.{u1, u1} (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C) (CategoryTheory.MonoidalCategory.tensorObj.{u1, u1} (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.instMonoidalCategoryFreeMonoidalCategoryCategoryFreeMonoidalCategory.{u1} C) (CategoryTheory.MonoidalCategory.tensorObj.{u1, u1} (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.instMonoidalCategoryFreeMonoidalCategoryCategoryFreeMonoidalCategory.{u1} C) (Prefunctor.obj.{succ u1, succ u1, u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.Category.toCategoryStruct.{u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.Pi.instForAllCategoryCompType.{succ u1, succ u1, u1, u1} Type.{u1} CategoryTheory.Discrete.{u1} (fun (i : Type.{u1}) => CategoryTheory.discreteCategory.{u1} i) Type.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C))) (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.Category.toCategoryStruct.{u1, u1} (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C))) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.Pi.instForAllCategoryCompType.{succ u1, succ u1, u1, u1} Type.{u1} CategoryTheory.Discrete.{u1} (fun (i : Type.{u1}) => CategoryTheory.discreteCategory.{u1} i) Type.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.inclusion.{u1} C)) (CategoryTheory.Discrete.mk.{u1} (CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.Discrete.as.{u1} (CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) n))) X) Y) (CategoryTheory.MonoidalCategory.tensorObj.{u1, u1} (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.instMonoidalCategoryFreeMonoidalCategoryCategoryFreeMonoidalCategory.{u1} C) (Prefunctor.obj.{succ u1, succ u1, u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.Category.toCategoryStruct.{u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.Pi.instForAllCategoryCompType.{succ u1, succ u1, u1, u1} Type.{u1} CategoryTheory.Discrete.{u1} (fun (i : Type.{u1}) => CategoryTheory.discreteCategory.{u1} i) Type.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C))) (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.Category.toCategoryStruct.{u1, u1} (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C))) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.Pi.instForAllCategoryCompType.{succ u1, succ u1, u1, u1} Type.{u1} CategoryTheory.Discrete.{u1} (fun (i : Type.{u1}) => CategoryTheory.discreteCategory.{u1} i) Type.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.inclusion.{u1} C)) (CategoryTheory.Discrete.mk.{u1} (CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.Discrete.as.{u1} (CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) n))) (CategoryTheory.MonoidalCategory.tensorObj.{u1, u1} (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.instMonoidalCategoryFreeMonoidalCategoryCategoryFreeMonoidalCategory.{u1} C) X Y)) (CategoryTheory.MonoidalCategory.associator.{u1, u1} (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.instMonoidalCategoryFreeMonoidalCategoryCategoryFreeMonoidalCategory.{u1} C) (Prefunctor.obj.{succ u1, succ u1, u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.Category.toCategoryStruct.{u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.Pi.instForAllCategoryCompType.{succ u1, succ u1, u1, u1} Type.{u1} CategoryTheory.Discrete.{u1} (fun (i : Type.{u1}) => CategoryTheory.discreteCategory.{u1} i) Type.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C))) (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.Category.toCategoryStruct.{u1, u1} (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C))) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.Pi.instForAllCategoryCompType.{succ u1, succ u1, u1, u1} Type.{u1} CategoryTheory.Discrete.{u1} (fun (i : Type.{u1}) => CategoryTheory.discreteCategory.{u1} i) Type.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.inclusion.{u1} C)) (CategoryTheory.Discrete.mk.{u1} (CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.Discrete.as.{u1} (CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) n))) X Y)) (CategoryTheory.Iso.trans.{u1, u1} (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C) (CategoryTheory.MonoidalCategory.tensorObj.{u1, u1} (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.instMonoidalCategoryFreeMonoidalCategoryCategoryFreeMonoidalCategory.{u1} C) (CategoryTheory.MonoidalCategory.tensorObj.{u1, u1} (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.instMonoidalCategoryFreeMonoidalCategoryCategoryFreeMonoidalCategory.{u1} C) (Prefunctor.obj.{succ u1, succ u1, u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.Category.toCategoryStruct.{u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.Pi.instForAllCategoryCompType.{succ u1, succ u1, u1, u1} Type.{u1} CategoryTheory.Discrete.{u1} (fun (i : Type.{u1}) => CategoryTheory.discreteCategory.{u1} i) Type.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C))) (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.Category.toCategoryStruct.{u1, u1} (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C))) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.Pi.instForAllCategoryCompType.{succ u1, succ u1, u1, u1} Type.{u1} CategoryTheory.Discrete.{u1} (fun (i : Type.{u1}) => CategoryTheory.discreteCategory.{u1} i) Type.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.inclusion.{u1} C)) (CategoryTheory.Discrete.mk.{u1} (CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.Discrete.as.{u1} (CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) n))) X) Y) (CategoryTheory.MonoidalCategory.tensorObj.{u1, u1} (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.instMonoidalCategoryFreeMonoidalCategoryCategoryFreeMonoidalCategory.{u1} C) (Prefunctor.obj.{succ u1, succ u1, u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.Category.toCategoryStruct.{u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.Pi.instForAllCategoryCompType.{succ u1, succ u1, u1, u1} Type.{u1} CategoryTheory.Discrete.{u1} (fun (i : Type.{u1}) => CategoryTheory.discreteCategory.{u1} i) Type.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C))) (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.Category.toCategoryStruct.{u1, u1} (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C))) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.Pi.instForAllCategoryCompType.{succ u1, succ u1, u1, u1} Type.{u1} CategoryTheory.Discrete.{u1} (fun (i : Type.{u1}) => CategoryTheory.discreteCategory.{u1} i) Type.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C) (Prefunctor.obj.{succ u1, succ u1, u1, u1} (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.Category.toCategoryStruct.{u1, u1} (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C))) (CategoryTheory.Functor.{u1, u1, u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.Pi.instForAllCategoryCompType.{succ u1, succ u1, u1, u1} Type.{u1} CategoryTheory.Discrete.{u1} (fun (i : Type.{u1}) => CategoryTheory.discreteCategory.{u1} i) Type.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C)) (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} (CategoryTheory.Functor.{u1, u1, u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.Pi.instForAllCategoryCompType.{succ u1, succ u1, u1, u1} Type.{u1} CategoryTheory.Discrete.{u1} (fun (i : Type.{u1}) => CategoryTheory.discreteCategory.{u1} i) Type.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C)) (CategoryTheory.Category.toCategoryStruct.{u1, u1} (CategoryTheory.Functor.{u1, u1, u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.Pi.instForAllCategoryCompType.{succ u1, succ u1, u1, u1} Type.{u1} CategoryTheory.Discrete.{u1} (fun (i : Type.{u1}) => CategoryTheory.discreteCategory.{u1} i) Type.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C)) (CategoryTheory.Functor.category.{u1, u1, u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.Pi.instForAllCategoryCompType.{succ u1, succ u1, u1, u1} Type.{u1} CategoryTheory.Discrete.{u1} (fun (i : Type.{u1}) => CategoryTheory.discreteCategory.{u1} i) Type.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C)))) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u1} (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C) (CategoryTheory.Functor.{u1, u1, u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.Pi.instForAllCategoryCompType.{succ u1, succ u1, u1, u1} Type.{u1} CategoryTheory.Discrete.{u1} (fun (i : Type.{u1}) => CategoryTheory.discreteCategory.{u1} i) Type.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C)) (CategoryTheory.Functor.category.{u1, u1, u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.Pi.instForAllCategoryCompType.{succ u1, succ u1, u1, u1} Type.{u1} CategoryTheory.Discrete.{u1} (fun (i : Type.{u1}) => CategoryTheory.discreteCategory.{u1} i) Type.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C)) (CategoryTheory.FreeMonoidalCategory.normalize'.{u1} C)) X)) n) Y) (Prefunctor.obj.{succ u1, succ u1, u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.Category.toCategoryStruct.{u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.Pi.instForAllCategoryCompType.{succ u1, succ u1, u1, u1} Type.{u1} CategoryTheory.Discrete.{u1} (fun (i : Type.{u1}) => CategoryTheory.discreteCategory.{u1} i) Type.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C))) (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.Category.toCategoryStruct.{u1, u1} (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C))) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.Pi.instForAllCategoryCompType.{succ u1, succ u1, u1, u1} Type.{u1} CategoryTheory.Discrete.{u1} (fun (i : Type.{u1}) => CategoryTheory.discreteCategory.{u1} i) Type.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C) (Prefunctor.obj.{succ u1, succ u1, u1, u1} (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.Category.toCategoryStruct.{u1, u1} (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C))) (CategoryTheory.Functor.{u1, u1, u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.Pi.instForAllCategoryCompType.{succ u1, succ u1, u1, u1} Type.{u1} CategoryTheory.Discrete.{u1} (fun (i : Type.{u1}) => CategoryTheory.discreteCategory.{u1} i) Type.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C)) (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} (CategoryTheory.Functor.{u1, u1, u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.Pi.instForAllCategoryCompType.{succ u1, succ u1, u1, u1} Type.{u1} CategoryTheory.Discrete.{u1} (fun (i : Type.{u1}) => CategoryTheory.discreteCategory.{u1} i) Type.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C)) (CategoryTheory.Category.toCategoryStruct.{u1, u1} (CategoryTheory.Functor.{u1, u1, u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.Pi.instForAllCategoryCompType.{succ u1, succ u1, u1, u1} Type.{u1} CategoryTheory.Discrete.{u1} (fun (i : Type.{u1}) => CategoryTheory.discreteCategory.{u1} i) Type.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C)) (CategoryTheory.Functor.category.{u1, u1, u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.Pi.instForAllCategoryCompType.{succ u1, succ u1, u1, u1} Type.{u1} CategoryTheory.Discrete.{u1} (fun (i : Type.{u1}) => CategoryTheory.discreteCategory.{u1} i) Type.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C)))) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u1} (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C) (CategoryTheory.Functor.{u1, u1, u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.Pi.instForAllCategoryCompType.{succ u1, succ u1, u1, u1} Type.{u1} CategoryTheory.Discrete.{u1} (fun (i : Type.{u1}) => CategoryTheory.discreteCategory.{u1} i) Type.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C)) (CategoryTheory.Functor.category.{u1, u1, u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.Pi.instForAllCategoryCompType.{succ u1, succ u1, u1, u1} Type.{u1} CategoryTheory.Discrete.{u1} (fun (i : Type.{u1}) => CategoryTheory.discreteCategory.{u1} i) Type.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C)) (CategoryTheory.FreeMonoidalCategory.normalize'.{u1} C)) Y)) (CategoryTheory.FreeMonoidalCategory.normalizeObj.{u1} C X (CategoryTheory.Discrete.as.{u1} (CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) n))) (CategoryTheory.tensorIso.{u1, u1} (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.MonoidalCategory.tensorObj.{u1, u1} (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.instMonoidalCategoryFreeMonoidalCategoryCategoryFreeMonoidalCategory.{u1} C) (Prefunctor.obj.{succ u1, succ u1, u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.Category.toCategoryStruct.{u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.Pi.instForAllCategoryCompType.{succ u1, succ u1, u1, u1} Type.{u1} CategoryTheory.Discrete.{u1} (fun (i : Type.{u1}) => CategoryTheory.discreteCategory.{u1} i) Type.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C))) (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.Category.toCategoryStruct.{u1, u1} (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C))) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.Pi.instForAllCategoryCompType.{succ u1, succ u1, u1, u1} Type.{u1} CategoryTheory.Discrete.{u1} (fun (i : Type.{u1}) => CategoryTheory.discreteCategory.{u1} i) Type.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.inclusion.{u1} C)) (CategoryTheory.Discrete.mk.{u1} (CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.Discrete.as.{u1} (CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) n))) X) (Prefunctor.obj.{succ u1, succ u1, u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.Category.toCategoryStruct.{u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.Pi.instForAllCategoryCompType.{succ u1, succ u1, u1, u1} Type.{u1} CategoryTheory.Discrete.{u1} (fun (i : Type.{u1}) => CategoryTheory.discreteCategory.{u1} i) Type.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C))) (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.Category.toCategoryStruct.{u1, u1} (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C))) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.Pi.instForAllCategoryCompType.{succ u1, succ u1, u1, u1} Type.{u1} CategoryTheory.Discrete.{u1} (fun (i : Type.{u1}) => CategoryTheory.discreteCategory.{u1} i) Type.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C) (Prefunctor.obj.{succ u1, succ u1, u1, u1} (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.Category.toCategoryStruct.{u1, u1} (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C))) (CategoryTheory.Functor.{u1, u1, u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.Pi.instForAllCategoryCompType.{succ u1, succ u1, u1, u1} Type.{u1} CategoryTheory.Discrete.{u1} (fun (i : Type.{u1}) => CategoryTheory.discreteCategory.{u1} i) Type.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C)) (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} (CategoryTheory.Functor.{u1, u1, u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.Pi.instForAllCategoryCompType.{succ u1, succ u1, u1, u1} Type.{u1} CategoryTheory.Discrete.{u1} (fun (i : Type.{u1}) => CategoryTheory.discreteCategory.{u1} i) Type.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C)) (CategoryTheory.Category.toCategoryStruct.{u1, u1} (CategoryTheory.Functor.{u1, u1, u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.Pi.instForAllCategoryCompType.{succ u1, succ u1, u1, u1} Type.{u1} CategoryTheory.Discrete.{u1} (fun (i : Type.{u1}) => CategoryTheory.discreteCategory.{u1} i) Type.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C)) (CategoryTheory.Functor.category.{u1, u1, u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.Pi.instForAllCategoryCompType.{succ u1, succ u1, u1, u1} Type.{u1} CategoryTheory.Discrete.{u1} (fun (i : Type.{u1}) => CategoryTheory.discreteCategory.{u1} i) Type.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C)))) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u1} (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C) (CategoryTheory.Functor.{u1, u1, u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.Pi.instForAllCategoryCompType.{succ u1, succ u1, u1, u1} Type.{u1} CategoryTheory.Discrete.{u1} (fun (i : Type.{u1}) => CategoryTheory.discreteCategory.{u1} i) Type.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C)) (CategoryTheory.Functor.category.{u1, u1, u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.Pi.instForAllCategoryCompType.{succ u1, succ u1, u1, u1} Type.{u1} CategoryTheory.Discrete.{u1} (fun (i : Type.{u1}) => CategoryTheory.discreteCategory.{u1} i) Type.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C)) (CategoryTheory.FreeMonoidalCategory.normalize'.{u1} C)) X)) n) Y Y (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.instMonoidalCategoryFreeMonoidalCategoryCategoryFreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.normalizeIsoApp.{u1} C X n) (CategoryTheory.Iso.refl.{u1, u1} (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C) Y)) (CategoryTheory.FreeMonoidalCategory.normalizeIsoApp.{u1} C Y (CategoryTheory.FreeMonoidalCategory.normalizeObj.{u1} C X (CategoryTheory.Discrete.as.{u1} (CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) n)))))
+<too large>
 Case conversion may be inaccurate. Consider using '#align category_theory.free_monoidal_category.normalize_iso_app_tensor CategoryTheory.FreeMonoidalCategory.normalizeIsoApp_tensorₓ'. -/
 /- ./././Mathport/Syntax/Translate/Expr.lean:177:8: unsupported: ambiguous notation -/
 @[simp]
@@ -287,10 +275,7 @@ theorem normalizeIsoApp_tensor (X Y : F C) (n : N C) :
 #align category_theory.free_monoidal_category.normalize_iso_app_tensor CategoryTheory.FreeMonoidalCategory.normalizeIsoApp_tensor
 
 /- warning: category_theory.free_monoidal_category.normalize_iso_app_unitor -> CategoryTheory.FreeMonoidalCategory.normalizeIsoApp_unitor is a dubious translation:
-lean 3 declaration is
-  forall (C : Type.{u1}) (n : Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C), Eq.{succ u1} (CategoryTheory.Iso.{u1, u1} (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C) (CategoryTheory.Functor.obj.{u1, u1, u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.discreteCategory.{u1} (CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C)) (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C) (CategoryTheory.Functor.obj.{u1, u1, u1, u1} (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C) (CategoryTheory.Functor.{u1, u1, u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.discreteCategory.{u1} (CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C)) (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C)) (CategoryTheory.Functor.category.{u1, u1, u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.discreteCategory.{u1} (CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C)) (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C)) (CategoryTheory.FreeMonoidalCategory.tensorFunc.{u1} C) (CategoryTheory.MonoidalCategory.tensorUnit.{u1, u1} (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.CategoryTheory.monoidalCategory.{u1} C))) n) (CategoryTheory.Functor.obj.{u1, u1, u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.discreteCategory.{u1} (CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C)) (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C) (CategoryTheory.Functor.obj.{u1, u1, u1, u1} (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C) (CategoryTheory.Functor.{u1, u1, u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.discreteCategory.{u1} (CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C)) (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C)) (CategoryTheory.Functor.category.{u1, u1, u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.discreteCategory.{u1} (CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C)) (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C)) (CategoryTheory.FreeMonoidalCategory.normalize'.{u1} C) (CategoryTheory.MonoidalCategory.tensorUnit.{u1, u1} (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.CategoryTheory.monoidalCategory.{u1} C))) n)) (CategoryTheory.FreeMonoidalCategory.normalizeIsoApp.{u1} C (CategoryTheory.MonoidalCategory.tensorUnit.{u1, u1} (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.CategoryTheory.monoidalCategory.{u1} C)) n) (CategoryTheory.MonoidalCategory.rightUnitor.{u1, u1} (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.CategoryTheory.monoidalCategory.{u1} C) (CategoryTheory.Functor.obj.{u1, u1, u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.discreteCategory.{u1} (CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C)) (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.inclusion.{u1} C) (CategoryTheory.Discrete.mk.{u1} (CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.Discrete.as.{u1} (CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) n))))
-but is expected to have type
-  forall (C : Type.{u1}) (n : Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C), Eq.{succ u1} (CategoryTheory.Iso.{u1, u1} (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C) (Prefunctor.obj.{succ u1, succ u1, u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.Category.toCategoryStruct.{u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.Pi.instForAllCategoryCompType.{succ u1, succ u1, u1, u1} Type.{u1} CategoryTheory.Discrete.{u1} (fun (i : Type.{u1}) => CategoryTheory.discreteCategory.{u1} i) Type.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C))) (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.Category.toCategoryStruct.{u1, u1} (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C))) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.Pi.instForAllCategoryCompType.{succ u1, succ u1, u1, u1} Type.{u1} CategoryTheory.Discrete.{u1} (fun (i : Type.{u1}) => CategoryTheory.discreteCategory.{u1} i) Type.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C) (Prefunctor.obj.{succ u1, succ u1, u1, u1} (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.Category.toCategoryStruct.{u1, u1} (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C))) (CategoryTheory.Functor.{u1, u1, u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.Pi.instForAllCategoryCompType.{succ u1, succ u1, u1, u1} Type.{u1} CategoryTheory.Discrete.{u1} (fun (i : Type.{u1}) => CategoryTheory.discreteCategory.{u1} i) Type.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C)) (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} (CategoryTheory.Functor.{u1, u1, u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.Pi.instForAllCategoryCompType.{succ u1, succ u1, u1, u1} Type.{u1} CategoryTheory.Discrete.{u1} (fun (i : Type.{u1}) => CategoryTheory.discreteCategory.{u1} i) Type.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C)) (CategoryTheory.Category.toCategoryStruct.{u1, u1} (CategoryTheory.Functor.{u1, u1, u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.Pi.instForAllCategoryCompType.{succ u1, succ u1, u1, u1} Type.{u1} CategoryTheory.Discrete.{u1} (fun (i : Type.{u1}) => CategoryTheory.discreteCategory.{u1} i) Type.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C)) (CategoryTheory.Functor.category.{u1, u1, u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.Pi.instForAllCategoryCompType.{succ u1, succ u1, u1, u1} Type.{u1} CategoryTheory.Discrete.{u1} (fun (i : Type.{u1}) => CategoryTheory.discreteCategory.{u1} i) Type.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C)))) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u1} (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C) (CategoryTheory.Functor.{u1, u1, u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.Pi.instForAllCategoryCompType.{succ u1, succ u1, u1, u1} Type.{u1} CategoryTheory.Discrete.{u1} (fun (i : Type.{u1}) => CategoryTheory.discreteCategory.{u1} i) Type.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C)) (CategoryTheory.Functor.category.{u1, u1, u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.Pi.instForAllCategoryCompType.{succ u1, succ u1, u1, u1} Type.{u1} CategoryTheory.Discrete.{u1} (fun (i : Type.{u1}) => CategoryTheory.discreteCategory.{u1} i) Type.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C)) (CategoryTheory.FreeMonoidalCategory.tensorFunc.{u1} C)) (CategoryTheory.MonoidalCategory.tensorUnit.{u1, u1} (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.instMonoidalCategoryFreeMonoidalCategoryCategoryFreeMonoidalCategory.{u1} C)))) n) (Prefunctor.obj.{succ u1, succ u1, u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.Category.toCategoryStruct.{u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.Pi.instForAllCategoryCompType.{succ u1, succ u1, u1, u1} Type.{u1} CategoryTheory.Discrete.{u1} (fun (i : Type.{u1}) => CategoryTheory.discreteCategory.{u1} i) Type.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C))) (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.Category.toCategoryStruct.{u1, u1} (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C))) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.Pi.instForAllCategoryCompType.{succ u1, succ u1, u1, u1} Type.{u1} CategoryTheory.Discrete.{u1} (fun (i : Type.{u1}) => CategoryTheory.discreteCategory.{u1} i) Type.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C) (Prefunctor.obj.{succ u1, succ u1, u1, u1} (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.Category.toCategoryStruct.{u1, u1} (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C))) (CategoryTheory.Functor.{u1, u1, u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.Pi.instForAllCategoryCompType.{succ u1, succ u1, u1, u1} Type.{u1} CategoryTheory.Discrete.{u1} (fun (i : Type.{u1}) => CategoryTheory.discreteCategory.{u1} i) Type.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C)) (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} (CategoryTheory.Functor.{u1, u1, u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.Pi.instForAllCategoryCompType.{succ u1, succ u1, u1, u1} Type.{u1} CategoryTheory.Discrete.{u1} (fun (i : Type.{u1}) => CategoryTheory.discreteCategory.{u1} i) Type.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C)) (CategoryTheory.Category.toCategoryStruct.{u1, u1} (CategoryTheory.Functor.{u1, u1, u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.Pi.instForAllCategoryCompType.{succ u1, succ u1, u1, u1} Type.{u1} CategoryTheory.Discrete.{u1} (fun (i : Type.{u1}) => CategoryTheory.discreteCategory.{u1} i) Type.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C)) (CategoryTheory.Functor.category.{u1, u1, u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.Pi.instForAllCategoryCompType.{succ u1, succ u1, u1, u1} Type.{u1} CategoryTheory.Discrete.{u1} (fun (i : Type.{u1}) => CategoryTheory.discreteCategory.{u1} i) Type.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C)))) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u1} (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C) (CategoryTheory.Functor.{u1, u1, u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.Pi.instForAllCategoryCompType.{succ u1, succ u1, u1, u1} Type.{u1} CategoryTheory.Discrete.{u1} (fun (i : Type.{u1}) => CategoryTheory.discreteCategory.{u1} i) Type.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C)) (CategoryTheory.Functor.category.{u1, u1, u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.Pi.instForAllCategoryCompType.{succ u1, succ u1, u1, u1} Type.{u1} CategoryTheory.Discrete.{u1} (fun (i : Type.{u1}) => CategoryTheory.discreteCategory.{u1} i) Type.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C)) (CategoryTheory.FreeMonoidalCategory.normalize'.{u1} C)) (CategoryTheory.MonoidalCategory.tensorUnit.{u1, u1} (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.instMonoidalCategoryFreeMonoidalCategoryCategoryFreeMonoidalCategory.{u1} C)))) n)) (CategoryTheory.FreeMonoidalCategory.normalizeIsoApp.{u1} C (CategoryTheory.MonoidalCategory.tensorUnit.{u1, u1} (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.instMonoidalCategoryFreeMonoidalCategoryCategoryFreeMonoidalCategory.{u1} C)) n) (CategoryTheory.MonoidalCategory.rightUnitor.{u1, u1} (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.instMonoidalCategoryFreeMonoidalCategoryCategoryFreeMonoidalCategory.{u1} C) (Prefunctor.obj.{succ u1, succ u1, u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.Category.toCategoryStruct.{u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.Pi.instForAllCategoryCompType.{succ u1, succ u1, u1, u1} Type.{u1} CategoryTheory.Discrete.{u1} (fun (i : Type.{u1}) => CategoryTheory.discreteCategory.{u1} i) Type.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C))) (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.Category.toCategoryStruct.{u1, u1} (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C))) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.Pi.instForAllCategoryCompType.{succ u1, succ u1, u1, u1} Type.{u1} CategoryTheory.Discrete.{u1} (fun (i : Type.{u1}) => CategoryTheory.discreteCategory.{u1} i) Type.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.inclusion.{u1} C)) (CategoryTheory.Discrete.mk.{u1} (CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.Discrete.as.{u1} (CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) n))))
+<too large>
 Case conversion may be inaccurate. Consider using '#align category_theory.free_monoidal_category.normalize_iso_app_unitor CategoryTheory.FreeMonoidalCategory.normalizeIsoApp_unitorₓ'. -/
 @[simp]
 theorem normalizeIsoApp_unitor (n : N C) : normalizeIsoApp C (𝟙_ (F C)) n = ρ_ _ :=
@@ -298,10 +283,7 @@ theorem normalizeIsoApp_unitor (n : N C) : normalizeIsoApp C (𝟙_ (F C)) n = 
 #align category_theory.free_monoidal_category.normalize_iso_app_unitor CategoryTheory.FreeMonoidalCategory.normalizeIsoApp_unitor
 
 /- warning: category_theory.free_monoidal_category.normalize_iso_aux -> CategoryTheory.FreeMonoidalCategory.normalizeIsoAux is a dubious translation:
-lean 3 declaration is
-  forall (C : Type.{u1}) (X : CategoryTheory.FreeMonoidalCategory.{u1} C), CategoryTheory.Iso.{u1, u1} (CategoryTheory.Functor.{u1, u1, u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.discreteCategory.{u1} (CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C)) (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C)) (CategoryTheory.Functor.category.{u1, u1, u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.discreteCategory.{u1} (CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C)) (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C)) (CategoryTheory.Functor.obj.{u1, u1, u1, u1} (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C) (CategoryTheory.Functor.{u1, u1, u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.discreteCategory.{u1} (CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C)) (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C)) (CategoryTheory.Functor.category.{u1, u1, u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.discreteCategory.{u1} (CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C)) (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C)) (CategoryTheory.FreeMonoidalCategory.tensorFunc.{u1} C) X) (CategoryTheory.Functor.obj.{u1, u1, u1, u1} (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C) (CategoryTheory.Functor.{u1, u1, u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.discreteCategory.{u1} (CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C)) (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C)) (CategoryTheory.Functor.category.{u1, u1, u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.discreteCategory.{u1} (CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C)) (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C)) (CategoryTheory.FreeMonoidalCategory.normalize'.{u1} C) X)
-but is expected to have type
-  forall (C : Type.{u1}) (X : CategoryTheory.FreeMonoidalCategory.{u1} C), CategoryTheory.Iso.{u1, u1} (CategoryTheory.Functor.{u1, u1, u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.Pi.instForAllCategoryCompType.{succ u1, succ u1, u1, u1} Type.{u1} CategoryTheory.Discrete.{u1} (fun (i : Type.{u1}) => CategoryTheory.discreteCategory.{u1} i) Type.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C)) (CategoryTheory.Functor.category.{u1, u1, u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.Pi.instForAllCategoryCompType.{succ u1, succ u1, u1, u1} Type.{u1} CategoryTheory.Discrete.{u1} (fun (i : Type.{u1}) => CategoryTheory.discreteCategory.{u1} i) Type.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C)) (Prefunctor.obj.{succ u1, succ u1, u1, u1} (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.Category.toCategoryStruct.{u1, u1} (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C))) (CategoryTheory.Functor.{u1, u1, u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.Pi.instForAllCategoryCompType.{succ u1, succ u1, u1, u1} Type.{u1} CategoryTheory.Discrete.{u1} (fun (i : Type.{u1}) => CategoryTheory.discreteCategory.{u1} i) Type.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C)) (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} (CategoryTheory.Functor.{u1, u1, u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.Pi.instForAllCategoryCompType.{succ u1, succ u1, u1, u1} Type.{u1} CategoryTheory.Discrete.{u1} (fun (i : Type.{u1}) => CategoryTheory.discreteCategory.{u1} i) Type.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C)) (CategoryTheory.Category.toCategoryStruct.{u1, u1} (CategoryTheory.Functor.{u1, u1, u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.Pi.instForAllCategoryCompType.{succ u1, succ u1, u1, u1} Type.{u1} CategoryTheory.Discrete.{u1} (fun (i : Type.{u1}) => CategoryTheory.discreteCategory.{u1} i) Type.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C)) (CategoryTheory.Functor.category.{u1, u1, u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.Pi.instForAllCategoryCompType.{succ u1, succ u1, u1, u1} Type.{u1} CategoryTheory.Discrete.{u1} (fun (i : Type.{u1}) => CategoryTheory.discreteCategory.{u1} i) Type.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C)))) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u1} (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C) (CategoryTheory.Functor.{u1, u1, u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.Pi.instForAllCategoryCompType.{succ u1, succ u1, u1, u1} Type.{u1} CategoryTheory.Discrete.{u1} (fun (i : Type.{u1}) => CategoryTheory.discreteCategory.{u1} i) Type.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C)) (CategoryTheory.Functor.category.{u1, u1, u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.Pi.instForAllCategoryCompType.{succ u1, succ u1, u1, u1} Type.{u1} CategoryTheory.Discrete.{u1} (fun (i : Type.{u1}) => CategoryTheory.discreteCategory.{u1} i) Type.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C)) (CategoryTheory.FreeMonoidalCategory.tensorFunc.{u1} C)) X) (Prefunctor.obj.{succ u1, succ u1, u1, u1} (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.Category.toCategoryStruct.{u1, u1} (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C))) (CategoryTheory.Functor.{u1, u1, u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.Pi.instForAllCategoryCompType.{succ u1, succ u1, u1, u1} Type.{u1} CategoryTheory.Discrete.{u1} (fun (i : Type.{u1}) => CategoryTheory.discreteCategory.{u1} i) Type.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C)) (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} (CategoryTheory.Functor.{u1, u1, u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.Pi.instForAllCategoryCompType.{succ u1, succ u1, u1, u1} Type.{u1} CategoryTheory.Discrete.{u1} (fun (i : Type.{u1}) => CategoryTheory.discreteCategory.{u1} i) Type.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C)) (CategoryTheory.Category.toCategoryStruct.{u1, u1} (CategoryTheory.Functor.{u1, u1, u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.Pi.instForAllCategoryCompType.{succ u1, succ u1, u1, u1} Type.{u1} CategoryTheory.Discrete.{u1} (fun (i : Type.{u1}) => CategoryTheory.discreteCategory.{u1} i) Type.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C)) (CategoryTheory.Functor.category.{u1, u1, u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.Pi.instForAllCategoryCompType.{succ u1, succ u1, u1, u1} Type.{u1} CategoryTheory.Discrete.{u1} (fun (i : Type.{u1}) => CategoryTheory.discreteCategory.{u1} i) Type.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C)))) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u1} (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C) (CategoryTheory.Functor.{u1, u1, u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.Pi.instForAllCategoryCompType.{succ u1, succ u1, u1, u1} Type.{u1} CategoryTheory.Discrete.{u1} (fun (i : Type.{u1}) => CategoryTheory.discreteCategory.{u1} i) Type.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C)) (CategoryTheory.Functor.category.{u1, u1, u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.Pi.instForAllCategoryCompType.{succ u1, succ u1, u1, u1} Type.{u1} CategoryTheory.Discrete.{u1} (fun (i : Type.{u1}) => CategoryTheory.discreteCategory.{u1} i) Type.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C)) (CategoryTheory.FreeMonoidalCategory.normalize'.{u1} C)) X)
+<too large>
 Case conversion may be inaccurate. Consider using '#align category_theory.free_monoidal_category.normalize_iso_aux CategoryTheory.FreeMonoidalCategory.normalizeIsoAuxₓ'. -/
 /-- Auxiliary definition for `normalize_iso`. -/
 @[simp]
Diff
@@ -4,7 +4,7 @@ Released under Apache 2.0 license as described in the file LICENSE.
 Authors: Markus Himmel
 
 ! This file was ported from Lean 3 source module category_theory.monoidal.free.coherence
-! leanprover-community/mathlib commit f187f1074fa1857c94589cc653c786cadc4c35ff
+! leanprover-community/mathlib commit 33c67ae661dd8988516ff7f247b0be3018cdd952
 ! Please do not edit these lines, except to modify the commit id
 ! if you have ported upstream changes.
 -/
@@ -15,6 +15,9 @@ import Mathbin.CategoryTheory.DiscreteCategory
 /-!
 # The monoidal coherence theorem
 
+> THIS FILE IS SYNCHRONIZED WITH MATHLIB4.
+> Any changes to this file require a corresponding PR to mathlib4.
+
 In this file, we prove the monoidal coherence theorem, stated in the following form: the free
 monoidal category over any type `C` is thin.
 
Diff
@@ -54,6 +54,7 @@ section
 
 variable (C)
 
+#print CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject /-
 /-- We say an object in the free monoidal category is in normal form if it is of the form
     `(((𝟙_ C) ⊗ X₁) ⊗ X₂) ⊗ ⋯`. -/
 @[nolint has_nonempty_instance]
@@ -61,6 +62,7 @@ inductive NormalMonoidalObject : Type u
   | Unit : normal_monoidal_object
   | tensor : normal_monoidal_object → C → normal_monoidal_object
 #align category_theory.free_monoidal_category.normal_monoidal_object CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject
+-/
 
 end
 
@@ -73,19 +75,24 @@ local notation "N" => Discrete ∘ NormalMonoidalObject
 -- mathport name: «expr ⟶ᵐ »
 local infixr:10 " ⟶ᵐ " => Hom
 
+#print CategoryTheory.FreeMonoidalCategory.inclusionObj /-
 /-- Auxiliary definition for `inclusion`. -/
 @[simp]
 def inclusionObj : NormalMonoidalObject C → F C
   | normal_monoidal_object.unit => Unit
   | normal_monoidal_object.tensor n a => tensor (inclusion_obj n) (of a)
 #align category_theory.free_monoidal_category.inclusion_obj CategoryTheory.FreeMonoidalCategory.inclusionObj
+-/
 
+#print CategoryTheory.FreeMonoidalCategory.inclusion /-
 /-- The discrete subcategory of objects in normal form includes into the free monoidal category. -/
 @[simp]
 def inclusion : N C ⥤ F C :=
   Discrete.functor inclusionObj
 #align category_theory.free_monoidal_category.inclusion CategoryTheory.FreeMonoidalCategory.inclusion
+-/
 
+#print CategoryTheory.FreeMonoidalCategory.normalizeObj /-
 /-- Auxiliary definition for `normalize`. -/
 @[simp]
 def normalizeObj : F C → NormalMonoidalObject C → N C
@@ -93,12 +100,25 @@ def normalizeObj : F C → NormalMonoidalObject C → N C
   | of X, n => ⟨NormalMonoidalObject.tensor n X⟩
   | tensor X Y, n => normalize_obj Y (normalize_obj X n).as
 #align category_theory.free_monoidal_category.normalize_obj CategoryTheory.FreeMonoidalCategory.normalizeObj
+-/
 
+/- warning: category_theory.free_monoidal_category.normalize_obj_unitor -> CategoryTheory.FreeMonoidalCategory.normalizeObj_unitor is a dubious translation:
+lean 3 declaration is
+  forall {C : Type.{u1}} (n : CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C), Eq.{succ u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.FreeMonoidalCategory.normalizeObj.{u1} C (CategoryTheory.MonoidalCategory.tensorUnit.{u1, u1} (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.CategoryTheory.monoidalCategory.{u1} C)) n) (CategoryTheory.Discrete.mk.{u1} (CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) n)
+but is expected to have type
+  forall {C : Type.{u1}} (n : CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C), Eq.{succ u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.FreeMonoidalCategory.normalizeObj.{u1} C (CategoryTheory.MonoidalCategory.tensorUnit.{u1, u1} (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.instMonoidalCategoryFreeMonoidalCategoryCategoryFreeMonoidalCategory.{u1} C)) n) (CategoryTheory.Discrete.mk.{u1} (CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) n)
+Case conversion may be inaccurate. Consider using '#align category_theory.free_monoidal_category.normalize_obj_unitor CategoryTheory.FreeMonoidalCategory.normalizeObj_unitorₓ'. -/
 @[simp]
 theorem normalizeObj_unitor (n : NormalMonoidalObject C) : normalizeObj (𝟙_ (F C)) n = ⟨n⟩ :=
   rfl
 #align category_theory.free_monoidal_category.normalize_obj_unitor CategoryTheory.FreeMonoidalCategory.normalizeObj_unitor
 
+/- warning: category_theory.free_monoidal_category.normalize_obj_tensor -> CategoryTheory.FreeMonoidalCategory.normalizeObj_tensor is a dubious translation:
+lean 3 declaration is
+  forall {C : Type.{u1}} (X : CategoryTheory.FreeMonoidalCategory.{u1} C) (Y : CategoryTheory.FreeMonoidalCategory.{u1} C) (n : CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C), Eq.{succ u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.FreeMonoidalCategory.normalizeObj.{u1} C (CategoryTheory.MonoidalCategory.tensorObj.{u1, u1} (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.CategoryTheory.monoidalCategory.{u1} C) X Y) n) (CategoryTheory.FreeMonoidalCategory.normalizeObj.{u1} C Y (CategoryTheory.Discrete.as.{u1} (CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.FreeMonoidalCategory.normalizeObj.{u1} C X n)))
+but is expected to have type
+  forall {C : Type.{u1}} (X : CategoryTheory.FreeMonoidalCategory.{u1} C) (Y : CategoryTheory.FreeMonoidalCategory.{u1} C) (n : CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C), Eq.{succ u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.FreeMonoidalCategory.normalizeObj.{u1} C (CategoryTheory.MonoidalCategory.tensorObj.{u1, u1} (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.instMonoidalCategoryFreeMonoidalCategoryCategoryFreeMonoidalCategory.{u1} C) X Y) n) (CategoryTheory.FreeMonoidalCategory.normalizeObj.{u1} C Y (CategoryTheory.Discrete.as.{u1} (CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.FreeMonoidalCategory.normalizeObj.{u1} C X n)))
+Case conversion may be inaccurate. Consider using '#align category_theory.free_monoidal_category.normalize_obj_tensor CategoryTheory.FreeMonoidalCategory.normalizeObj_tensorₓ'. -/
 /- ./././Mathport/Syntax/Translate/Expr.lean:177:8: unsupported: ambiguous notation -/
 @[simp]
 theorem normalizeObj_tensor (X Y : F C) (n : NormalMonoidalObject C) :
@@ -112,6 +132,7 @@ open Hom
 
 attribute [local tidy] tactic.discrete_cases
 
+#print CategoryTheory.FreeMonoidalCategory.normalizeMapAux /-
 /-- Auxiliary definition for `normalize`. Here we prove that objects that are related by
     associators and unitors map to the same normal form. -/
 @[simp]
@@ -150,6 +171,7 @@ def normalizeMapAux :
         (Discrete.functor (normalizeObj W) : _ ⥤ N C).map ((normalize_map_aux f).app X),
       by tidy⟩
 #align category_theory.free_monoidal_category.normalize_map_aux CategoryTheory.FreeMonoidalCategory.normalizeMapAux
+-/
 
 end
 
@@ -157,6 +179,7 @@ section
 
 variable (C)
 
+#print CategoryTheory.FreeMonoidalCategory.normalize /-
 /-- Our normalization procedure works by first defining a functor `F C ⥤ (N C ⥤ N C)` (which turns
     out to be very easy), and then obtain a functor `F C ⥤ N C` by plugging in the normal object
     `𝟙_ C`. -/
@@ -166,7 +189,9 @@ def normalize : F C ⥤ N C ⥤ N C
   obj X := Discrete.functor (normalizeObj X)
   map X Y := Quotient.lift normalizeMapAux (by tidy)
 #align category_theory.free_monoidal_category.normalize CategoryTheory.FreeMonoidalCategory.normalize
+-/
 
+#print CategoryTheory.FreeMonoidalCategory.normalize' /-
 /-- A variant of the normalization functor where we consider the result as an object in the free
     monoidal category (rather than an object of the discrete subcategory of objects in normal
     form). -/
@@ -174,16 +199,20 @@ def normalize : F C ⥤ N C ⥤ N C
 def normalize' : F C ⥤ N C ⥤ F C :=
   normalize C ⋙ (whiskeringRight _ _ _).obj inclusion
 #align category_theory.free_monoidal_category.normalize' CategoryTheory.FreeMonoidalCategory.normalize'
+-/
 
+#print CategoryTheory.FreeMonoidalCategory.fullNormalize /-
 /-- The normalization functor for the free monoidal category over `C`. -/
 def fullNormalize : F C ⥤ N C
     where
-  obj X := ((normalize C).obj X).obj ⟨NormalMonoidalObject.unit⟩
-  map X Y f := ((normalize C).map f).app ⟨NormalMonoidalObject.unit⟩
+  obj X := ((normalize C).obj X).obj ⟨NormalMonoidalObject.Unit⟩
+  map X Y f := ((normalize C).map f).app ⟨NormalMonoidalObject.Unit⟩
 #align category_theory.free_monoidal_category.full_normalize CategoryTheory.FreeMonoidalCategory.fullNormalize
+-/
 
 /- ./././Mathport/Syntax/Translate/Expr.lean:177:8: unsupported: ambiguous notation -/
 /- ./././Mathport/Syntax/Translate/Expr.lean:177:8: unsupported: ambiguous notation -/
+#print CategoryTheory.FreeMonoidalCategory.tensorFunc /-
 /-- Given an object `X` of the free monoidal category and an object `n` in normal form, taking
     the tensor product `n ⊗ X` in the free monoidal category is functorial in both `X` and `n`. -/
 @[simp]
@@ -195,12 +224,25 @@ def tensorFunc : F C ⥤ N C ⥤ F C
       rintro ⟨X⟩ ⟨Y⟩
       tidy⟩
 #align category_theory.free_monoidal_category.tensor_func CategoryTheory.FreeMonoidalCategory.tensorFunc
+-/
 
+/- warning: category_theory.free_monoidal_category.tensor_func_map_app -> CategoryTheory.FreeMonoidalCategory.tensorFunc_map_app is a dubious translation:
+lean 3 declaration is
+  forall (C : Type.{u1}) {X : CategoryTheory.FreeMonoidalCategory.{u1} C} {Y : CategoryTheory.FreeMonoidalCategory.{u1} C} (f : Quiver.Hom.{succ u1, u1} (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.Category.toCategoryStruct.{u1, u1} (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C))) X Y) (n : Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C), Eq.{succ u1} (Quiver.Hom.{succ u1, u1} (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.Category.toCategoryStruct.{u1, u1} (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C))) (CategoryTheory.Functor.obj.{u1, u1, u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.discreteCategory.{u1} (CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C)) (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C) (CategoryTheory.Functor.obj.{u1, u1, u1, u1} (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C) (CategoryTheory.Functor.{u1, u1, u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.discreteCategory.{u1} (CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C)) (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C)) (CategoryTheory.Functor.category.{u1, u1, u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.discreteCategory.{u1} (CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C)) (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C)) (CategoryTheory.FreeMonoidalCategory.tensorFunc.{u1} C) X) n) (CategoryTheory.Functor.obj.{u1, u1, u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.discreteCategory.{u1} (CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C)) (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C) (CategoryTheory.Functor.obj.{u1, u1, u1, u1} (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C) (CategoryTheory.Functor.{u1, u1, u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.discreteCategory.{u1} (CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C)) (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C)) (CategoryTheory.Functor.category.{u1, u1, u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.discreteCategory.{u1} (CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C)) (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C)) (CategoryTheory.FreeMonoidalCategory.tensorFunc.{u1} C) Y) n)) (CategoryTheory.NatTrans.app.{u1, u1, u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.discreteCategory.{u1} (CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C)) (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C) (CategoryTheory.Functor.obj.{u1, u1, u1, u1} (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C) (CategoryTheory.Functor.{u1, u1, u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.discreteCategory.{u1} (CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C)) (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C)) (CategoryTheory.Functor.category.{u1, u1, u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.discreteCategory.{u1} (CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C)) (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C)) (CategoryTheory.FreeMonoidalCategory.tensorFunc.{u1} C) X) (CategoryTheory.Functor.obj.{u1, u1, u1, u1} (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C) (CategoryTheory.Functor.{u1, u1, u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.discreteCategory.{u1} (CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C)) (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C)) (CategoryTheory.Functor.category.{u1, u1, u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.discreteCategory.{u1} (CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C)) (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C)) (CategoryTheory.FreeMonoidalCategory.tensorFunc.{u1} C) Y) (CategoryTheory.Functor.map.{u1, u1, u1, u1} (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C) (CategoryTheory.Functor.{u1, u1, u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.discreteCategory.{u1} (CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C)) (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C)) (CategoryTheory.Functor.category.{u1, u1, u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.discreteCategory.{u1} (CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C)) (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C)) (CategoryTheory.FreeMonoidalCategory.tensorFunc.{u1} C) X Y f) n) (CategoryTheory.MonoidalCategory.tensorHom.{u1, u1} (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.CategoryTheory.monoidalCategory.{u1} C) (CategoryTheory.Functor.obj.{u1, u1, u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.discreteCategory.{u1} (CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C)) (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.inclusion.{u1} C) (CategoryTheory.Discrete.mk.{u1} (CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.Discrete.as.{u1} (CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) n))) (CategoryTheory.Functor.obj.{u1, u1, u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.discreteCategory.{u1} (CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C)) (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.inclusion.{u1} C) (CategoryTheory.Discrete.mk.{u1} (CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.Discrete.as.{u1} (CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) n))) X Y (CategoryTheory.CategoryStruct.id.{u1, u1} (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.Category.toCategoryStruct.{u1, u1} (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C)) (CategoryTheory.Functor.obj.{u1, u1, u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.discreteCategory.{u1} (CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C)) (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.inclusion.{u1} C) (CategoryTheory.Discrete.mk.{u1} (CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.Discrete.as.{u1} (CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) n)))) f)
+but is expected to have type
+  forall (C : Type.{u1}) {X : CategoryTheory.FreeMonoidalCategory.{u1} C} {Y : CategoryTheory.FreeMonoidalCategory.{u1} C} (f : Quiver.Hom.{succ u1, u1} (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.Category.toCategoryStruct.{u1, u1} (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C))) X Y) (n : Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C), Eq.{succ u1} (Quiver.Hom.{succ u1, u1} (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.Category.toCategoryStruct.{u1, u1} (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C))) (Prefunctor.obj.{succ u1, succ u1, u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.Category.toCategoryStruct.{u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.Pi.instForAllCategoryCompType.{succ u1, succ u1, u1, u1} Type.{u1} CategoryTheory.Discrete.{u1} (fun (i : Type.{u1}) => CategoryTheory.discreteCategory.{u1} i) Type.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C))) (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.Category.toCategoryStruct.{u1, u1} (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C))) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.Pi.instForAllCategoryCompType.{succ u1, succ u1, u1, u1} Type.{u1} CategoryTheory.Discrete.{u1} (fun (i : Type.{u1}) => CategoryTheory.discreteCategory.{u1} i) Type.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C) (Prefunctor.obj.{succ u1, succ u1, u1, u1} (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.Category.toCategoryStruct.{u1, u1} (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C))) (CategoryTheory.Functor.{u1, u1, u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.Pi.instForAllCategoryCompType.{succ u1, succ u1, u1, u1} Type.{u1} CategoryTheory.Discrete.{u1} (fun (i : Type.{u1}) => CategoryTheory.discreteCategory.{u1} i) Type.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C)) (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} (CategoryTheory.Functor.{u1, u1, u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.Pi.instForAllCategoryCompType.{succ u1, succ u1, u1, u1} Type.{u1} CategoryTheory.Discrete.{u1} (fun (i : Type.{u1}) => CategoryTheory.discreteCategory.{u1} i) Type.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C)) (CategoryTheory.Category.toCategoryStruct.{u1, u1} (CategoryTheory.Functor.{u1, u1, u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.Pi.instForAllCategoryCompType.{succ u1, succ u1, u1, u1} Type.{u1} CategoryTheory.Discrete.{u1} (fun (i : Type.{u1}) => CategoryTheory.discreteCategory.{u1} i) Type.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C)) (CategoryTheory.Functor.category.{u1, u1, u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.Pi.instForAllCategoryCompType.{succ u1, succ u1, u1, u1} Type.{u1} CategoryTheory.Discrete.{u1} (fun (i : Type.{u1}) => CategoryTheory.discreteCategory.{u1} i) Type.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C)))) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u1} (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C) (CategoryTheory.Functor.{u1, u1, u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.Pi.instForAllCategoryCompType.{succ u1, succ u1, u1, u1} Type.{u1} CategoryTheory.Discrete.{u1} (fun (i : Type.{u1}) => CategoryTheory.discreteCategory.{u1} i) Type.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C)) (CategoryTheory.Functor.category.{u1, u1, u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.Pi.instForAllCategoryCompType.{succ u1, succ u1, u1, u1} Type.{u1} CategoryTheory.Discrete.{u1} (fun (i : Type.{u1}) => CategoryTheory.discreteCategory.{u1} i) Type.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C)) (CategoryTheory.FreeMonoidalCategory.tensorFunc.{u1} C)) X)) n) (Prefunctor.obj.{succ u1, succ u1, u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.Category.toCategoryStruct.{u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.Pi.instForAllCategoryCompType.{succ u1, succ u1, u1, u1} Type.{u1} CategoryTheory.Discrete.{u1} (fun (i : Type.{u1}) => CategoryTheory.discreteCategory.{u1} i) Type.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C))) (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.Category.toCategoryStruct.{u1, u1} (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C))) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.Pi.instForAllCategoryCompType.{succ u1, succ u1, u1, u1} Type.{u1} CategoryTheory.Discrete.{u1} (fun (i : Type.{u1}) => CategoryTheory.discreteCategory.{u1} i) Type.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C) (Prefunctor.obj.{succ u1, succ u1, u1, u1} (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.Category.toCategoryStruct.{u1, u1} (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C))) (CategoryTheory.Functor.{u1, u1, u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.Pi.instForAllCategoryCompType.{succ u1, succ u1, u1, u1} Type.{u1} CategoryTheory.Discrete.{u1} (fun (i : Type.{u1}) => CategoryTheory.discreteCategory.{u1} i) Type.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C)) (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} (CategoryTheory.Functor.{u1, u1, u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.Pi.instForAllCategoryCompType.{succ u1, succ u1, u1, u1} Type.{u1} CategoryTheory.Discrete.{u1} (fun (i : Type.{u1}) => CategoryTheory.discreteCategory.{u1} i) Type.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C)) (CategoryTheory.Category.toCategoryStruct.{u1, u1} (CategoryTheory.Functor.{u1, u1, u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.Pi.instForAllCategoryCompType.{succ u1, succ u1, u1, u1} Type.{u1} CategoryTheory.Discrete.{u1} (fun (i : Type.{u1}) => CategoryTheory.discreteCategory.{u1} i) Type.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C)) (CategoryTheory.Functor.category.{u1, u1, u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.Pi.instForAllCategoryCompType.{succ u1, succ u1, u1, u1} Type.{u1} CategoryTheory.Discrete.{u1} (fun (i : Type.{u1}) => CategoryTheory.discreteCategory.{u1} i) Type.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C)))) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u1} (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C) (CategoryTheory.Functor.{u1, u1, u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.Pi.instForAllCategoryCompType.{succ u1, succ u1, u1, u1} Type.{u1} CategoryTheory.Discrete.{u1} (fun (i : Type.{u1}) => CategoryTheory.discreteCategory.{u1} i) Type.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C)) (CategoryTheory.Functor.category.{u1, u1, u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.Pi.instForAllCategoryCompType.{succ u1, succ u1, u1, u1} Type.{u1} CategoryTheory.Discrete.{u1} (fun (i : Type.{u1}) => CategoryTheory.discreteCategory.{u1} i) Type.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C)) (CategoryTheory.FreeMonoidalCategory.tensorFunc.{u1} C)) Y)) n)) (CategoryTheory.NatTrans.app.{u1, u1, u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.Pi.instForAllCategoryCompType.{succ u1, succ u1, u1, u1} Type.{u1} CategoryTheory.Discrete.{u1} (fun (i : Type.{u1}) => CategoryTheory.discreteCategory.{u1} i) Type.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C) (Prefunctor.obj.{succ u1, succ u1, u1, u1} (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.Category.toCategoryStruct.{u1, u1} (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C))) (CategoryTheory.Functor.{u1, u1, u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.Pi.instForAllCategoryCompType.{succ u1, succ u1, u1, u1} Type.{u1} CategoryTheory.Discrete.{u1} (fun (i : Type.{u1}) => CategoryTheory.discreteCategory.{u1} i) Type.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C)) (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} (CategoryTheory.Functor.{u1, u1, u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.Pi.instForAllCategoryCompType.{succ u1, succ u1, u1, u1} Type.{u1} CategoryTheory.Discrete.{u1} (fun (i : Type.{u1}) => CategoryTheory.discreteCategory.{u1} i) Type.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C)) (CategoryTheory.Category.toCategoryStruct.{u1, u1} (CategoryTheory.Functor.{u1, u1, u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.Pi.instForAllCategoryCompType.{succ u1, succ u1, u1, u1} Type.{u1} CategoryTheory.Discrete.{u1} (fun (i : Type.{u1}) => CategoryTheory.discreteCategory.{u1} i) Type.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C)) (CategoryTheory.Functor.category.{u1, u1, u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.Pi.instForAllCategoryCompType.{succ u1, succ u1, u1, u1} Type.{u1} CategoryTheory.Discrete.{u1} (fun (i : Type.{u1}) => CategoryTheory.discreteCategory.{u1} i) Type.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C)))) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u1} (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C) (CategoryTheory.Functor.{u1, u1, u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.Pi.instForAllCategoryCompType.{succ u1, succ u1, u1, u1} Type.{u1} CategoryTheory.Discrete.{u1} (fun (i : Type.{u1}) => CategoryTheory.discreteCategory.{u1} i) Type.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C)) (CategoryTheory.Functor.category.{u1, u1, u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.Pi.instForAllCategoryCompType.{succ u1, succ u1, u1, u1} Type.{u1} CategoryTheory.Discrete.{u1} (fun (i : Type.{u1}) => CategoryTheory.discreteCategory.{u1} i) Type.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C)) (CategoryTheory.FreeMonoidalCategory.tensorFunc.{u1} C)) X) (Prefunctor.obj.{succ u1, succ u1, u1, u1} (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.Category.toCategoryStruct.{u1, u1} (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C))) (CategoryTheory.Functor.{u1, u1, u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.Pi.instForAllCategoryCompType.{succ u1, succ u1, u1, u1} Type.{u1} CategoryTheory.Discrete.{u1} (fun (i : Type.{u1}) => CategoryTheory.discreteCategory.{u1} i) Type.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C)) (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} (CategoryTheory.Functor.{u1, u1, u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.Pi.instForAllCategoryCompType.{succ u1, succ u1, u1, u1} Type.{u1} CategoryTheory.Discrete.{u1} (fun (i : Type.{u1}) => CategoryTheory.discreteCategory.{u1} i) Type.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C)) (CategoryTheory.Category.toCategoryStruct.{u1, u1} (CategoryTheory.Functor.{u1, u1, u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.Pi.instForAllCategoryCompType.{succ u1, succ u1, u1, u1} Type.{u1} CategoryTheory.Discrete.{u1} (fun (i : Type.{u1}) => CategoryTheory.discreteCategory.{u1} i) Type.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C)) (CategoryTheory.Functor.category.{u1, u1, u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.Pi.instForAllCategoryCompType.{succ u1, succ u1, u1, u1} Type.{u1} CategoryTheory.Discrete.{u1} (fun (i : Type.{u1}) => CategoryTheory.discreteCategory.{u1} i) Type.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C)))) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u1} (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C) (CategoryTheory.Functor.{u1, u1, u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.Pi.instForAllCategoryCompType.{succ u1, succ u1, u1, u1} Type.{u1} CategoryTheory.Discrete.{u1} (fun (i : Type.{u1}) => CategoryTheory.discreteCategory.{u1} i) Type.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C)) (CategoryTheory.Functor.category.{u1, u1, u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.Pi.instForAllCategoryCompType.{succ u1, succ u1, u1, u1} Type.{u1} CategoryTheory.Discrete.{u1} (fun (i : Type.{u1}) => CategoryTheory.discreteCategory.{u1} i) Type.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C)) (CategoryTheory.FreeMonoidalCategory.tensorFunc.{u1} C)) Y) (Prefunctor.map.{succ u1, succ u1, u1, u1} (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.Category.toCategoryStruct.{u1, u1} (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C))) (CategoryTheory.Functor.{u1, u1, u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.Pi.instForAllCategoryCompType.{succ u1, succ u1, u1, u1} Type.{u1} CategoryTheory.Discrete.{u1} (fun (i : Type.{u1}) => CategoryTheory.discreteCategory.{u1} i) Type.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C)) (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} (CategoryTheory.Functor.{u1, u1, u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.Pi.instForAllCategoryCompType.{succ u1, succ u1, u1, u1} Type.{u1} CategoryTheory.Discrete.{u1} (fun (i : Type.{u1}) => CategoryTheory.discreteCategory.{u1} i) Type.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C)) (CategoryTheory.Category.toCategoryStruct.{u1, u1} (CategoryTheory.Functor.{u1, u1, u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.Pi.instForAllCategoryCompType.{succ u1, succ u1, u1, u1} Type.{u1} CategoryTheory.Discrete.{u1} (fun (i : Type.{u1}) => CategoryTheory.discreteCategory.{u1} i) Type.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C)) (CategoryTheory.Functor.category.{u1, u1, u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.Pi.instForAllCategoryCompType.{succ u1, succ u1, u1, u1} Type.{u1} CategoryTheory.Discrete.{u1} (fun (i : Type.{u1}) => CategoryTheory.discreteCategory.{u1} i) Type.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C)))) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u1} (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C) (CategoryTheory.Functor.{u1, u1, u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.Pi.instForAllCategoryCompType.{succ u1, succ u1, u1, u1} Type.{u1} CategoryTheory.Discrete.{u1} (fun (i : Type.{u1}) => CategoryTheory.discreteCategory.{u1} i) Type.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C)) (CategoryTheory.Functor.category.{u1, u1, u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.Pi.instForAllCategoryCompType.{succ u1, succ u1, u1, u1} Type.{u1} CategoryTheory.Discrete.{u1} (fun (i : Type.{u1}) => CategoryTheory.discreteCategory.{u1} i) Type.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C)) (CategoryTheory.FreeMonoidalCategory.tensorFunc.{u1} C)) X Y f) n) (CategoryTheory.MonoidalCategory.tensorHom.{u1, u1} (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.instMonoidalCategoryFreeMonoidalCategoryCategoryFreeMonoidalCategory.{u1} C) (Prefunctor.obj.{succ u1, succ u1, u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.Category.toCategoryStruct.{u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.Pi.instForAllCategoryCompType.{succ u1, succ u1, u1, u1} Type.{u1} CategoryTheory.Discrete.{u1} (fun (i : Type.{u1}) => CategoryTheory.discreteCategory.{u1} i) Type.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C))) (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.Category.toCategoryStruct.{u1, u1} (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C))) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.Pi.instForAllCategoryCompType.{succ u1, succ u1, u1, u1} Type.{u1} CategoryTheory.Discrete.{u1} (fun (i : Type.{u1}) => CategoryTheory.discreteCategory.{u1} i) Type.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.inclusion.{u1} C)) (CategoryTheory.Discrete.mk.{u1} (CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.Discrete.as.{u1} (CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) n))) (Prefunctor.obj.{succ u1, succ u1, u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.Category.toCategoryStruct.{u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.Pi.instForAllCategoryCompType.{succ u1, succ u1, u1, u1} Type.{u1} CategoryTheory.Discrete.{u1} (fun (i : Type.{u1}) => CategoryTheory.discreteCategory.{u1} i) Type.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C))) (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.Category.toCategoryStruct.{u1, u1} (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C))) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.Pi.instForAllCategoryCompType.{succ u1, succ u1, u1, u1} Type.{u1} CategoryTheory.Discrete.{u1} (fun (i : Type.{u1}) => CategoryTheory.discreteCategory.{u1} i) Type.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.inclusion.{u1} C)) (CategoryTheory.Discrete.mk.{u1} (CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.Discrete.as.{u1} (CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) n))) X Y (CategoryTheory.CategoryStruct.id.{u1, u1} (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.Category.toCategoryStruct.{u1, u1} (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C)) (Prefunctor.obj.{succ u1, succ u1, u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.Category.toCategoryStruct.{u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.Pi.instForAllCategoryCompType.{succ u1, succ u1, u1, u1} Type.{u1} CategoryTheory.Discrete.{u1} (fun (i : Type.{u1}) => CategoryTheory.discreteCategory.{u1} i) Type.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C))) (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.Category.toCategoryStruct.{u1, u1} (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C))) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.Pi.instForAllCategoryCompType.{succ u1, succ u1, u1, u1} Type.{u1} CategoryTheory.Discrete.{u1} (fun (i : Type.{u1}) => CategoryTheory.discreteCategory.{u1} i) Type.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.inclusion.{u1} C)) (CategoryTheory.Discrete.mk.{u1} (CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.Discrete.as.{u1} (CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) n)))) f)
+Case conversion may be inaccurate. Consider using '#align category_theory.free_monoidal_category.tensor_func_map_app CategoryTheory.FreeMonoidalCategory.tensorFunc_map_appₓ'. -/
 /- ./././Mathport/Syntax/Translate/Expr.lean:177:8: unsupported: ambiguous notation -/
 theorem tensorFunc_map_app {X Y : F C} (f : X ⟶ Y) (n) : ((tensorFunc C).map f).app n = 𝟙 _ ⊗ f :=
   rfl
 #align category_theory.free_monoidal_category.tensor_func_map_app CategoryTheory.FreeMonoidalCategory.tensorFunc_map_app
 
+/- warning: category_theory.free_monoidal_category.tensor_func_obj_map -> CategoryTheory.FreeMonoidalCategory.tensorFunc_obj_map is a dubious translation:
+lean 3 declaration is
+  forall (C : Type.{u1}) (Z : CategoryTheory.FreeMonoidalCategory.{u1} C) {n : Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C} {n' : Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C} (f : Quiver.Hom.{succ u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.Category.toCategoryStruct.{u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.discreteCategory.{u1} (CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C)))) n n'), Eq.{succ u1} (Quiver.Hom.{succ u1, u1} (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.Category.toCategoryStruct.{u1, u1} (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C))) (CategoryTheory.Functor.obj.{u1, u1, u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.discreteCategory.{u1} (CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C)) (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C) (CategoryTheory.Functor.obj.{u1, u1, u1, u1} (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C) (CategoryTheory.Functor.{u1, u1, u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.discreteCategory.{u1} (CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C)) (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C)) (CategoryTheory.Functor.category.{u1, u1, u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.discreteCategory.{u1} (CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C)) (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C)) (CategoryTheory.FreeMonoidalCategory.tensorFunc.{u1} C) Z) n) (CategoryTheory.Functor.obj.{u1, u1, u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.discreteCategory.{u1} (CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C)) (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C) (CategoryTheory.Functor.obj.{u1, u1, u1, u1} (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C) (CategoryTheory.Functor.{u1, u1, u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.discreteCategory.{u1} (CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C)) (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C)) (CategoryTheory.Functor.category.{u1, u1, u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.discreteCategory.{u1} (CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C)) (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C)) (CategoryTheory.FreeMonoidalCategory.tensorFunc.{u1} C) Z) n')) (CategoryTheory.Functor.map.{u1, u1, u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.discreteCategory.{u1} (CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C)) (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C) (CategoryTheory.Functor.obj.{u1, u1, u1, u1} (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C) (CategoryTheory.Functor.{u1, u1, u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.discreteCategory.{u1} (CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C)) (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C)) (CategoryTheory.Functor.category.{u1, u1, u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.discreteCategory.{u1} (CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C)) (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C)) (CategoryTheory.FreeMonoidalCategory.tensorFunc.{u1} C) Z) n n' f) (CategoryTheory.MonoidalCategory.tensorHom.{u1, u1} (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.CategoryTheory.monoidalCategory.{u1} C) (CategoryTheory.Functor.obj.{u1, u1, u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.discreteCategory.{u1} (CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C)) (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.inclusion.{u1} C) n) (CategoryTheory.Functor.obj.{u1, u1, u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.discreteCategory.{u1} (CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C)) (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.inclusion.{u1} C) n') Z Z (CategoryTheory.Functor.map.{u1, u1, u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.discreteCategory.{u1} (CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C)) (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.inclusion.{u1} C) n n' f) (CategoryTheory.CategoryStruct.id.{u1, u1} (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.Category.toCategoryStruct.{u1, u1} (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C)) Z))
+but is expected to have type
+  forall (C : Type.{u1}) (Z : CategoryTheory.FreeMonoidalCategory.{u1} C) {n : Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C} {n' : Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C} (f : Quiver.Hom.{succ u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.Category.toCategoryStruct.{u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.Pi.instForAllCategoryCompType.{succ u1, succ u1, u1, u1} Type.{u1} CategoryTheory.Discrete.{u1} (fun (i : Type.{u1}) => CategoryTheory.discreteCategory.{u1} i) Type.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C))) n n'), Eq.{succ u1} (Quiver.Hom.{succ u1, u1} (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.Category.toCategoryStruct.{u1, u1} (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C))) (Prefunctor.obj.{succ u1, succ u1, u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.Category.toCategoryStruct.{u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.Pi.instForAllCategoryCompType.{succ u1, succ u1, u1, u1} Type.{u1} CategoryTheory.Discrete.{u1} (fun (i : Type.{u1}) => CategoryTheory.discreteCategory.{u1} i) Type.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C))) (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.Category.toCategoryStruct.{u1, u1} (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C))) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.Pi.instForAllCategoryCompType.{succ u1, succ u1, u1, u1} Type.{u1} CategoryTheory.Discrete.{u1} (fun (i : Type.{u1}) => CategoryTheory.discreteCategory.{u1} i) Type.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C) (Prefunctor.obj.{succ u1, succ u1, u1, u1} (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.Category.toCategoryStruct.{u1, u1} (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C))) (CategoryTheory.Functor.{u1, u1, u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.Pi.instForAllCategoryCompType.{succ u1, succ u1, u1, u1} Type.{u1} CategoryTheory.Discrete.{u1} (fun (i : Type.{u1}) => CategoryTheory.discreteCategory.{u1} i) Type.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C)) (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} (CategoryTheory.Functor.{u1, u1, u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.Pi.instForAllCategoryCompType.{succ u1, succ u1, u1, u1} Type.{u1} CategoryTheory.Discrete.{u1} (fun (i : Type.{u1}) => CategoryTheory.discreteCategory.{u1} i) Type.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C)) (CategoryTheory.Category.toCategoryStruct.{u1, u1} (CategoryTheory.Functor.{u1, u1, u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.Pi.instForAllCategoryCompType.{succ u1, succ u1, u1, u1} Type.{u1} CategoryTheory.Discrete.{u1} (fun (i : Type.{u1}) => CategoryTheory.discreteCategory.{u1} i) Type.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C)) (CategoryTheory.Functor.category.{u1, u1, u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.Pi.instForAllCategoryCompType.{succ u1, succ u1, u1, u1} Type.{u1} CategoryTheory.Discrete.{u1} (fun (i : Type.{u1}) => CategoryTheory.discreteCategory.{u1} i) Type.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C)))) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u1} (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C) (CategoryTheory.Functor.{u1, u1, u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.Pi.instForAllCategoryCompType.{succ u1, succ u1, u1, u1} Type.{u1} CategoryTheory.Discrete.{u1} (fun (i : Type.{u1}) => CategoryTheory.discreteCategory.{u1} i) Type.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C)) (CategoryTheory.Functor.category.{u1, u1, u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.Pi.instForAllCategoryCompType.{succ u1, succ u1, u1, u1} Type.{u1} CategoryTheory.Discrete.{u1} (fun (i : Type.{u1}) => CategoryTheory.discreteCategory.{u1} i) Type.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C)) (CategoryTheory.FreeMonoidalCategory.tensorFunc.{u1} C)) Z)) n) (Prefunctor.obj.{succ u1, succ u1, u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.Category.toCategoryStruct.{u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.Pi.instForAllCategoryCompType.{succ u1, succ u1, u1, u1} Type.{u1} CategoryTheory.Discrete.{u1} (fun (i : Type.{u1}) => CategoryTheory.discreteCategory.{u1} i) Type.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C))) (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.Category.toCategoryStruct.{u1, u1} (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C))) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.Pi.instForAllCategoryCompType.{succ u1, succ u1, u1, u1} Type.{u1} CategoryTheory.Discrete.{u1} (fun (i : Type.{u1}) => CategoryTheory.discreteCategory.{u1} i) Type.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C) (Prefunctor.obj.{succ u1, succ u1, u1, u1} (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.Category.toCategoryStruct.{u1, u1} (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C))) (CategoryTheory.Functor.{u1, u1, u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.Pi.instForAllCategoryCompType.{succ u1, succ u1, u1, u1} Type.{u1} CategoryTheory.Discrete.{u1} (fun (i : Type.{u1}) => CategoryTheory.discreteCategory.{u1} i) Type.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C)) (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} (CategoryTheory.Functor.{u1, u1, u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.Pi.instForAllCategoryCompType.{succ u1, succ u1, u1, u1} Type.{u1} CategoryTheory.Discrete.{u1} (fun (i : Type.{u1}) => CategoryTheory.discreteCategory.{u1} i) Type.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C)) (CategoryTheory.Category.toCategoryStruct.{u1, u1} (CategoryTheory.Functor.{u1, u1, u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.Pi.instForAllCategoryCompType.{succ u1, succ u1, u1, u1} Type.{u1} CategoryTheory.Discrete.{u1} (fun (i : Type.{u1}) => CategoryTheory.discreteCategory.{u1} i) Type.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C)) (CategoryTheory.Functor.category.{u1, u1, u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.Pi.instForAllCategoryCompType.{succ u1, succ u1, u1, u1} Type.{u1} CategoryTheory.Discrete.{u1} (fun (i : Type.{u1}) => CategoryTheory.discreteCategory.{u1} i) Type.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C)))) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u1} (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C) (CategoryTheory.Functor.{u1, u1, u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.Pi.instForAllCategoryCompType.{succ u1, succ u1, u1, u1} Type.{u1} CategoryTheory.Discrete.{u1} (fun (i : Type.{u1}) => CategoryTheory.discreteCategory.{u1} i) Type.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C)) (CategoryTheory.Functor.category.{u1, u1, u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.Pi.instForAllCategoryCompType.{succ u1, succ u1, u1, u1} Type.{u1} CategoryTheory.Discrete.{u1} (fun (i : Type.{u1}) => CategoryTheory.discreteCategory.{u1} i) Type.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C)) (CategoryTheory.FreeMonoidalCategory.tensorFunc.{u1} C)) Z)) n')) (Prefunctor.map.{succ u1, succ u1, u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.Category.toCategoryStruct.{u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.Pi.instForAllCategoryCompType.{succ u1, succ u1, u1, u1} Type.{u1} CategoryTheory.Discrete.{u1} (fun (i : Type.{u1}) => CategoryTheory.discreteCategory.{u1} i) Type.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C))) (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.Category.toCategoryStruct.{u1, u1} (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C))) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.Pi.instForAllCategoryCompType.{succ u1, succ u1, u1, u1} Type.{u1} CategoryTheory.Discrete.{u1} (fun (i : Type.{u1}) => CategoryTheory.discreteCategory.{u1} i) Type.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C) (Prefunctor.obj.{succ u1, succ u1, u1, u1} (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.Category.toCategoryStruct.{u1, u1} (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C))) (CategoryTheory.Functor.{u1, u1, u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.Pi.instForAllCategoryCompType.{succ u1, succ u1, u1, u1} Type.{u1} CategoryTheory.Discrete.{u1} (fun (i : Type.{u1}) => CategoryTheory.discreteCategory.{u1} i) Type.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C)) (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} (CategoryTheory.Functor.{u1, u1, u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.Pi.instForAllCategoryCompType.{succ u1, succ u1, u1, u1} Type.{u1} CategoryTheory.Discrete.{u1} (fun (i : Type.{u1}) => CategoryTheory.discreteCategory.{u1} i) Type.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C)) (CategoryTheory.Category.toCategoryStruct.{u1, u1} (CategoryTheory.Functor.{u1, u1, u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.Pi.instForAllCategoryCompType.{succ u1, succ u1, u1, u1} Type.{u1} CategoryTheory.Discrete.{u1} (fun (i : Type.{u1}) => CategoryTheory.discreteCategory.{u1} i) Type.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C)) (CategoryTheory.Functor.category.{u1, u1, u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.Pi.instForAllCategoryCompType.{succ u1, succ u1, u1, u1} Type.{u1} CategoryTheory.Discrete.{u1} (fun (i : Type.{u1}) => CategoryTheory.discreteCategory.{u1} i) Type.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C)))) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u1} (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C) (CategoryTheory.Functor.{u1, u1, u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.Pi.instForAllCategoryCompType.{succ u1, succ u1, u1, u1} Type.{u1} CategoryTheory.Discrete.{u1} (fun (i : Type.{u1}) => CategoryTheory.discreteCategory.{u1} i) Type.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C)) (CategoryTheory.Functor.category.{u1, u1, u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.Pi.instForAllCategoryCompType.{succ u1, succ u1, u1, u1} Type.{u1} CategoryTheory.Discrete.{u1} (fun (i : Type.{u1}) => CategoryTheory.discreteCategory.{u1} i) Type.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C)) (CategoryTheory.FreeMonoidalCategory.tensorFunc.{u1} C)) Z)) n n' f) (CategoryTheory.MonoidalCategory.tensorHom.{u1, u1} (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.instMonoidalCategoryFreeMonoidalCategoryCategoryFreeMonoidalCategory.{u1} C) (Prefunctor.obj.{succ u1, succ u1, u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.Category.toCategoryStruct.{u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.Pi.instForAllCategoryCompType.{succ u1, succ u1, u1, u1} Type.{u1} CategoryTheory.Discrete.{u1} (fun (i : Type.{u1}) => CategoryTheory.discreteCategory.{u1} i) Type.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C))) (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.Category.toCategoryStruct.{u1, u1} (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C))) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.Pi.instForAllCategoryCompType.{succ u1, succ u1, u1, u1} Type.{u1} CategoryTheory.Discrete.{u1} (fun (i : Type.{u1}) => CategoryTheory.discreteCategory.{u1} i) Type.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.inclusion.{u1} C)) n) (Prefunctor.obj.{succ u1, succ u1, u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.Category.toCategoryStruct.{u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.Pi.instForAllCategoryCompType.{succ u1, succ u1, u1, u1} Type.{u1} CategoryTheory.Discrete.{u1} (fun (i : Type.{u1}) => CategoryTheory.discreteCategory.{u1} i) Type.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C))) (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.Category.toCategoryStruct.{u1, u1} (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C))) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.Pi.instForAllCategoryCompType.{succ u1, succ u1, u1, u1} Type.{u1} CategoryTheory.Discrete.{u1} (fun (i : Type.{u1}) => CategoryTheory.discreteCategory.{u1} i) Type.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.inclusion.{u1} C)) n') Z Z (Prefunctor.map.{succ u1, succ u1, u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.Category.toCategoryStruct.{u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.Pi.instForAllCategoryCompType.{succ u1, succ u1, u1, u1} Type.{u1} CategoryTheory.Discrete.{u1} (fun (i : Type.{u1}) => CategoryTheory.discreteCategory.{u1} i) Type.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C))) (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.Category.toCategoryStruct.{u1, u1} (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C))) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.Pi.instForAllCategoryCompType.{succ u1, succ u1, u1, u1} Type.{u1} CategoryTheory.Discrete.{u1} (fun (i : Type.{u1}) => CategoryTheory.discreteCategory.{u1} i) Type.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.inclusion.{u1} C)) n n' f) (CategoryTheory.CategoryStruct.id.{u1, u1} (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.Category.toCategoryStruct.{u1, u1} (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C)) Z))
+Case conversion may be inaccurate. Consider using '#align category_theory.free_monoidal_category.tensor_func_obj_map CategoryTheory.FreeMonoidalCategory.tensorFunc_obj_mapₓ'. -/
 /- ./././Mathport/Syntax/Translate/Expr.lean:177:8: unsupported: ambiguous notation -/
 theorem tensorFunc_obj_map (Z : F C) {n n' : N C} (f : n ⟶ n') :
     ((tensorFunc C).obj Z).map f = inclusion.map f ⊗ 𝟙 Z :=
@@ -210,6 +252,12 @@ theorem tensorFunc_obj_map (Z : F C) {n n' : N C} (f : n ⟶ n') :
   tidy
 #align category_theory.free_monoidal_category.tensor_func_obj_map CategoryTheory.FreeMonoidalCategory.tensorFunc_obj_map
 
+/- warning: category_theory.free_monoidal_category.normalize_iso_app -> CategoryTheory.FreeMonoidalCategory.normalizeIsoApp is a dubious translation:
+lean 3 declaration is
+  forall (C : Type.{u1}) (X : CategoryTheory.FreeMonoidalCategory.{u1} C) (n : Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C), CategoryTheory.Iso.{u1, u1} (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C) (CategoryTheory.Functor.obj.{u1, u1, u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.discreteCategory.{u1} (CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C)) (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C) (CategoryTheory.Functor.obj.{u1, u1, u1, u1} (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C) (CategoryTheory.Functor.{u1, u1, u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.discreteCategory.{u1} (CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C)) (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C)) (CategoryTheory.Functor.category.{u1, u1, u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.discreteCategory.{u1} (CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C)) (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C)) (CategoryTheory.FreeMonoidalCategory.tensorFunc.{u1} C) X) n) (CategoryTheory.Functor.obj.{u1, u1, u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.discreteCategory.{u1} (CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C)) (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C) (CategoryTheory.Functor.obj.{u1, u1, u1, u1} (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C) (CategoryTheory.Functor.{u1, u1, u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.discreteCategory.{u1} (CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C)) (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C)) (CategoryTheory.Functor.category.{u1, u1, u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.discreteCategory.{u1} (CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C)) (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C)) (CategoryTheory.FreeMonoidalCategory.normalize'.{u1} C) X) n)
+but is expected to have type
+  forall (C : Type.{u1}) (X : CategoryTheory.FreeMonoidalCategory.{u1} C) (n : Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C), CategoryTheory.Iso.{u1, u1} (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C) (Prefunctor.obj.{succ u1, succ u1, u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.Category.toCategoryStruct.{u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.Pi.instForAllCategoryCompType.{succ u1, succ u1, u1, u1} Type.{u1} CategoryTheory.Discrete.{u1} (fun (i : Type.{u1}) => CategoryTheory.discreteCategory.{u1} i) Type.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C))) (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.Category.toCategoryStruct.{u1, u1} (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C))) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.Pi.instForAllCategoryCompType.{succ u1, succ u1, u1, u1} Type.{u1} CategoryTheory.Discrete.{u1} (fun (i : Type.{u1}) => CategoryTheory.discreteCategory.{u1} i) Type.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C) (Prefunctor.obj.{succ u1, succ u1, u1, u1} (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.Category.toCategoryStruct.{u1, u1} (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C))) (CategoryTheory.Functor.{u1, u1, u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.Pi.instForAllCategoryCompType.{succ u1, succ u1, u1, u1} Type.{u1} CategoryTheory.Discrete.{u1} (fun (i : Type.{u1}) => CategoryTheory.discreteCategory.{u1} i) Type.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C)) (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} (CategoryTheory.Functor.{u1, u1, u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.Pi.instForAllCategoryCompType.{succ u1, succ u1, u1, u1} Type.{u1} CategoryTheory.Discrete.{u1} (fun (i : Type.{u1}) => CategoryTheory.discreteCategory.{u1} i) Type.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C)) (CategoryTheory.Category.toCategoryStruct.{u1, u1} (CategoryTheory.Functor.{u1, u1, u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.Pi.instForAllCategoryCompType.{succ u1, succ u1, u1, u1} Type.{u1} CategoryTheory.Discrete.{u1} (fun (i : Type.{u1}) => CategoryTheory.discreteCategory.{u1} i) Type.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C)) (CategoryTheory.Functor.category.{u1, u1, u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.Pi.instForAllCategoryCompType.{succ u1, succ u1, u1, u1} Type.{u1} CategoryTheory.Discrete.{u1} (fun (i : Type.{u1}) => CategoryTheory.discreteCategory.{u1} i) Type.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C)))) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u1} (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C) (CategoryTheory.Functor.{u1, u1, u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.Pi.instForAllCategoryCompType.{succ u1, succ u1, u1, u1} Type.{u1} CategoryTheory.Discrete.{u1} (fun (i : Type.{u1}) => CategoryTheory.discreteCategory.{u1} i) Type.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C)) (CategoryTheory.Functor.category.{u1, u1, u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.Pi.instForAllCategoryCompType.{succ u1, succ u1, u1, u1} Type.{u1} CategoryTheory.Discrete.{u1} (fun (i : Type.{u1}) => CategoryTheory.discreteCategory.{u1} i) Type.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C)) (CategoryTheory.FreeMonoidalCategory.tensorFunc.{u1} C)) X)) n) (Prefunctor.obj.{succ u1, succ u1, u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.Category.toCategoryStruct.{u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.Pi.instForAllCategoryCompType.{succ u1, succ u1, u1, u1} Type.{u1} CategoryTheory.Discrete.{u1} (fun (i : Type.{u1}) => CategoryTheory.discreteCategory.{u1} i) Type.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C))) (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.Category.toCategoryStruct.{u1, u1} (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C))) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.Pi.instForAllCategoryCompType.{succ u1, succ u1, u1, u1} Type.{u1} CategoryTheory.Discrete.{u1} (fun (i : Type.{u1}) => CategoryTheory.discreteCategory.{u1} i) Type.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C) (Prefunctor.obj.{succ u1, succ u1, u1, u1} (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.Category.toCategoryStruct.{u1, u1} (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C))) (CategoryTheory.Functor.{u1, u1, u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.Pi.instForAllCategoryCompType.{succ u1, succ u1, u1, u1} Type.{u1} CategoryTheory.Discrete.{u1} (fun (i : Type.{u1}) => CategoryTheory.discreteCategory.{u1} i) Type.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C)) (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} (CategoryTheory.Functor.{u1, u1, u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.Pi.instForAllCategoryCompType.{succ u1, succ u1, u1, u1} Type.{u1} CategoryTheory.Discrete.{u1} (fun (i : Type.{u1}) => CategoryTheory.discreteCategory.{u1} i) Type.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C)) (CategoryTheory.Category.toCategoryStruct.{u1, u1} (CategoryTheory.Functor.{u1, u1, u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.Pi.instForAllCategoryCompType.{succ u1, succ u1, u1, u1} Type.{u1} CategoryTheory.Discrete.{u1} (fun (i : Type.{u1}) => CategoryTheory.discreteCategory.{u1} i) Type.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C)) (CategoryTheory.Functor.category.{u1, u1, u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.Pi.instForAllCategoryCompType.{succ u1, succ u1, u1, u1} Type.{u1} CategoryTheory.Discrete.{u1} (fun (i : Type.{u1}) => CategoryTheory.discreteCategory.{u1} i) Type.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C)))) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u1} (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C) (CategoryTheory.Functor.{u1, u1, u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.Pi.instForAllCategoryCompType.{succ u1, succ u1, u1, u1} Type.{u1} CategoryTheory.Discrete.{u1} (fun (i : Type.{u1}) => CategoryTheory.discreteCategory.{u1} i) Type.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C)) (CategoryTheory.Functor.category.{u1, u1, u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.Pi.instForAllCategoryCompType.{succ u1, succ u1, u1, u1} Type.{u1} CategoryTheory.Discrete.{u1} (fun (i : Type.{u1}) => CategoryTheory.discreteCategory.{u1} i) Type.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C)) (CategoryTheory.FreeMonoidalCategory.normalize'.{u1} C)) X)) n)
+Case conversion may be inaccurate. Consider using '#align category_theory.free_monoidal_category.normalize_iso_app CategoryTheory.FreeMonoidalCategory.normalizeIsoAppₓ'. -/
 /-- Auxiliary definition for `normalize_iso`. Here we construct the isomorphism between
     `n ⊗ X` and `normalize X n`. -/
 @[simp]
@@ -221,6 +269,12 @@ def normalizeIsoApp :
     (α_ _ _ _).symm ≪≫ tensorIso (normalize_iso_app X n) (Iso.refl _) ≪≫ normalize_iso_app _ _
 #align category_theory.free_monoidal_category.normalize_iso_app CategoryTheory.FreeMonoidalCategory.normalizeIsoApp
 
+/- warning: category_theory.free_monoidal_category.normalize_iso_app_tensor -> CategoryTheory.FreeMonoidalCategory.normalizeIsoApp_tensor is a dubious translation:
+lean 3 declaration is
+  forall (C : Type.{u1}) (X : CategoryTheory.FreeMonoidalCategory.{u1} C) (Y : CategoryTheory.FreeMonoidalCategory.{u1} C) (n : Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C), Eq.{succ u1} (CategoryTheory.Iso.{u1, u1} (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C) (CategoryTheory.Functor.obj.{u1, u1, u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.discreteCategory.{u1} (CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C)) (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C) (CategoryTheory.Functor.obj.{u1, u1, u1, u1} (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C) (CategoryTheory.Functor.{u1, u1, u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.discreteCategory.{u1} (CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C)) (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C)) (CategoryTheory.Functor.category.{u1, u1, u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.discreteCategory.{u1} (CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C)) (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C)) (CategoryTheory.FreeMonoidalCategory.tensorFunc.{u1} C) (CategoryTheory.MonoidalCategory.tensorObj.{u1, u1} (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.CategoryTheory.monoidalCategory.{u1} C) X Y)) n) (CategoryTheory.Functor.obj.{u1, u1, u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.discreteCategory.{u1} (CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C)) (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C) (CategoryTheory.Functor.obj.{u1, u1, u1, u1} (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C) (CategoryTheory.Functor.{u1, u1, u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.discreteCategory.{u1} (CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C)) (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C)) (CategoryTheory.Functor.category.{u1, u1, u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.discreteCategory.{u1} (CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C)) (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C)) (CategoryTheory.FreeMonoidalCategory.normalize'.{u1} C) (CategoryTheory.MonoidalCategory.tensorObj.{u1, u1} (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.CategoryTheory.monoidalCategory.{u1} C) X Y)) n)) (CategoryTheory.FreeMonoidalCategory.normalizeIsoApp.{u1} C (CategoryTheory.MonoidalCategory.tensorObj.{u1, u1} (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.CategoryTheory.monoidalCategory.{u1} C) X Y) n) (CategoryTheory.Iso.trans.{u1, u1} (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C) (CategoryTheory.Functor.obj.{u1, u1, u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.discreteCategory.{u1} (CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C)) (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C) (CategoryTheory.Functor.obj.{u1, u1, u1, u1} (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C) (CategoryTheory.Functor.{u1, u1, u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.discreteCategory.{u1} (CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C)) (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C)) (CategoryTheory.Functor.category.{u1, u1, u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.discreteCategory.{u1} (CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C)) (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C)) (CategoryTheory.FreeMonoidalCategory.tensorFunc.{u1} C) (CategoryTheory.MonoidalCategory.tensorObj.{u1, u1} (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.CategoryTheory.monoidalCategory.{u1} C) X Y)) n) (CategoryTheory.MonoidalCategory.tensorObj.{u1, u1} (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.CategoryTheory.monoidalCategory.{u1} C) (CategoryTheory.MonoidalCategory.tensorObj.{u1, u1} (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.CategoryTheory.monoidalCategory.{u1} C) (CategoryTheory.Functor.obj.{u1, u1, u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.discreteCategory.{u1} (CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C)) (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.inclusion.{u1} C) (CategoryTheory.Discrete.mk.{u1} (CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.Discrete.as.{u1} (CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) n))) X) Y) (CategoryTheory.Functor.obj.{u1, u1, u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.discreteCategory.{u1} (CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C)) (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C) (CategoryTheory.Functor.obj.{u1, u1, u1, u1} (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C) (CategoryTheory.Functor.{u1, u1, u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.discreteCategory.{u1} (CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C)) (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C)) (CategoryTheory.Functor.category.{u1, u1, u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.discreteCategory.{u1} (CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C)) (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C)) (CategoryTheory.FreeMonoidalCategory.normalize'.{u1} C) (CategoryTheory.MonoidalCategory.tensorObj.{u1, u1} (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.CategoryTheory.monoidalCategory.{u1} C) X Y)) n) (CategoryTheory.Iso.symm.{u1, u1} (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C) (CategoryTheory.MonoidalCategory.tensorObj.{u1, u1} (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.CategoryTheory.monoidalCategory.{u1} C) (CategoryTheory.MonoidalCategory.tensorObj.{u1, u1} (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.CategoryTheory.monoidalCategory.{u1} C) (CategoryTheory.Functor.obj.{u1, u1, u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.discreteCategory.{u1} (CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C)) (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.inclusion.{u1} C) (CategoryTheory.Discrete.mk.{u1} (CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.Discrete.as.{u1} (CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) n))) X) Y) (CategoryTheory.MonoidalCategory.tensorObj.{u1, u1} (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.CategoryTheory.monoidalCategory.{u1} C) (CategoryTheory.Functor.obj.{u1, u1, u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.discreteCategory.{u1} (CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C)) (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.inclusion.{u1} C) (CategoryTheory.Discrete.mk.{u1} (CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.Discrete.as.{u1} (CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) n))) (CategoryTheory.MonoidalCategory.tensorObj.{u1, u1} (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.CategoryTheory.monoidalCategory.{u1} C) X Y)) (CategoryTheory.MonoidalCategory.associator.{u1, u1} (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.CategoryTheory.monoidalCategory.{u1} C) (CategoryTheory.Functor.obj.{u1, u1, u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.discreteCategory.{u1} (CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C)) (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.inclusion.{u1} C) (CategoryTheory.Discrete.mk.{u1} (CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.Discrete.as.{u1} (CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) n))) X Y)) (CategoryTheory.Iso.trans.{u1, u1} (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C) (CategoryTheory.MonoidalCategory.tensorObj.{u1, u1} (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.CategoryTheory.monoidalCategory.{u1} C) (CategoryTheory.MonoidalCategory.tensorObj.{u1, u1} (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.CategoryTheory.monoidalCategory.{u1} C) (CategoryTheory.Functor.obj.{u1, u1, u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.discreteCategory.{u1} (CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C)) (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.inclusion.{u1} C) (CategoryTheory.Discrete.mk.{u1} (CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.Discrete.as.{u1} (CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) n))) X) Y) (CategoryTheory.MonoidalCategory.tensorObj.{u1, u1} (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.CategoryTheory.monoidalCategory.{u1} C) (CategoryTheory.Functor.obj.{u1, u1, u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.discreteCategory.{u1} (CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C)) (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C) (CategoryTheory.Functor.obj.{u1, u1, u1, u1} (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C) (CategoryTheory.Functor.{u1, u1, u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.discreteCategory.{u1} (CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C)) (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C)) (CategoryTheory.Functor.category.{u1, u1, u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.discreteCategory.{u1} (CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C)) (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C)) (CategoryTheory.FreeMonoidalCategory.normalize'.{u1} C) X) n) Y) (CategoryTheory.Functor.obj.{u1, u1, u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.discreteCategory.{u1} (CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C)) (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C) (CategoryTheory.Functor.obj.{u1, u1, u1, u1} (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C) (CategoryTheory.Functor.{u1, u1, u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.discreteCategory.{u1} (CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C)) (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C)) (CategoryTheory.Functor.category.{u1, u1, u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.discreteCategory.{u1} (CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C)) (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C)) (CategoryTheory.FreeMonoidalCategory.normalize'.{u1} C) (CategoryTheory.MonoidalCategory.tensorObj.{u1, u1} (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.CategoryTheory.monoidalCategory.{u1} C) X Y)) n) (CategoryTheory.tensorIso.{u1, u1} (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.MonoidalCategory.tensorObj.{u1, u1} (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.CategoryTheory.monoidalCategory.{u1} C) (CategoryTheory.Functor.obj.{u1, u1, u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.discreteCategory.{u1} (CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C)) (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.inclusion.{u1} C) (CategoryTheory.Discrete.mk.{u1} (CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.Discrete.as.{u1} (CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) n))) X) (CategoryTheory.Functor.obj.{u1, u1, u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.discreteCategory.{u1} (CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C)) (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C) (CategoryTheory.Functor.obj.{u1, u1, u1, u1} (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C) (CategoryTheory.Functor.{u1, u1, u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.discreteCategory.{u1} (CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C)) (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C)) (CategoryTheory.Functor.category.{u1, u1, u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.discreteCategory.{u1} (CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C)) (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C)) (CategoryTheory.FreeMonoidalCategory.normalize'.{u1} C) X) n) Y Y (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.CategoryTheory.monoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.normalizeIsoApp.{u1} C X n) (CategoryTheory.Iso.refl.{u1, u1} (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C) Y)) (CategoryTheory.FreeMonoidalCategory.normalizeIsoApp.{u1} C Y (CategoryTheory.Functor.obj.{u1, u1, u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.discreteCategory.{u1} (CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C)) (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.discreteCategory.{u1} (CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C)) (CategoryTheory.Functor.obj.{u1, u1, u1, u1} (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C) (CategoryTheory.Functor.{u1, u1, u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.discreteCategory.{u1} (CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C)) (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.discreteCategory.{u1} (CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C))) (CategoryTheory.Functor.category.{u1, u1, u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.discreteCategory.{u1} (CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C)) (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.discreteCategory.{u1} (CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C))) (CategoryTheory.FreeMonoidalCategory.normalize.{u1} C) X) n))))
+but is expected to have type
+  forall (C : Type.{u1}) (X : CategoryTheory.FreeMonoidalCategory.{u1} C) (Y : CategoryTheory.FreeMonoidalCategory.{u1} C) (n : Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C), Eq.{succ u1} (CategoryTheory.Iso.{u1, u1} (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C) (Prefunctor.obj.{succ u1, succ u1, u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.Category.toCategoryStruct.{u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.Pi.instForAllCategoryCompType.{succ u1, succ u1, u1, u1} Type.{u1} CategoryTheory.Discrete.{u1} (fun (i : Type.{u1}) => CategoryTheory.discreteCategory.{u1} i) Type.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C))) (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.Category.toCategoryStruct.{u1, u1} (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C))) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.Pi.instForAllCategoryCompType.{succ u1, succ u1, u1, u1} Type.{u1} CategoryTheory.Discrete.{u1} (fun (i : Type.{u1}) => CategoryTheory.discreteCategory.{u1} i) Type.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C) (Prefunctor.obj.{succ u1, succ u1, u1, u1} (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.Category.toCategoryStruct.{u1, u1} (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C))) (CategoryTheory.Functor.{u1, u1, u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.Pi.instForAllCategoryCompType.{succ u1, succ u1, u1, u1} Type.{u1} CategoryTheory.Discrete.{u1} (fun (i : Type.{u1}) => CategoryTheory.discreteCategory.{u1} i) Type.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C)) (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} (CategoryTheory.Functor.{u1, u1, u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.Pi.instForAllCategoryCompType.{succ u1, succ u1, u1, u1} Type.{u1} CategoryTheory.Discrete.{u1} (fun (i : Type.{u1}) => CategoryTheory.discreteCategory.{u1} i) Type.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C)) (CategoryTheory.Category.toCategoryStruct.{u1, u1} (CategoryTheory.Functor.{u1, u1, u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.Pi.instForAllCategoryCompType.{succ u1, succ u1, u1, u1} Type.{u1} CategoryTheory.Discrete.{u1} (fun (i : Type.{u1}) => CategoryTheory.discreteCategory.{u1} i) Type.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C)) (CategoryTheory.Functor.category.{u1, u1, u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.Pi.instForAllCategoryCompType.{succ u1, succ u1, u1, u1} Type.{u1} CategoryTheory.Discrete.{u1} (fun (i : Type.{u1}) => CategoryTheory.discreteCategory.{u1} i) Type.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C)))) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u1} (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C) (CategoryTheory.Functor.{u1, u1, u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.Pi.instForAllCategoryCompType.{succ u1, succ u1, u1, u1} Type.{u1} CategoryTheory.Discrete.{u1} (fun (i : Type.{u1}) => CategoryTheory.discreteCategory.{u1} i) Type.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C)) (CategoryTheory.Functor.category.{u1, u1, u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.Pi.instForAllCategoryCompType.{succ u1, succ u1, u1, u1} Type.{u1} CategoryTheory.Discrete.{u1} (fun (i : Type.{u1}) => CategoryTheory.discreteCategory.{u1} i) Type.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C)) (CategoryTheory.FreeMonoidalCategory.tensorFunc.{u1} C)) (CategoryTheory.MonoidalCategory.tensorObj.{u1, u1} (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.instMonoidalCategoryFreeMonoidalCategoryCategoryFreeMonoidalCategory.{u1} C) X Y))) n) (Prefunctor.obj.{succ u1, succ u1, u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.Category.toCategoryStruct.{u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.Pi.instForAllCategoryCompType.{succ u1, succ u1, u1, u1} Type.{u1} CategoryTheory.Discrete.{u1} (fun (i : Type.{u1}) => CategoryTheory.discreteCategory.{u1} i) Type.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C))) (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.Category.toCategoryStruct.{u1, u1} (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C))) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.Pi.instForAllCategoryCompType.{succ u1, succ u1, u1, u1} Type.{u1} CategoryTheory.Discrete.{u1} (fun (i : Type.{u1}) => CategoryTheory.discreteCategory.{u1} i) Type.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C) (Prefunctor.obj.{succ u1, succ u1, u1, u1} (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.Category.toCategoryStruct.{u1, u1} (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C))) (CategoryTheory.Functor.{u1, u1, u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.Pi.instForAllCategoryCompType.{succ u1, succ u1, u1, u1} Type.{u1} CategoryTheory.Discrete.{u1} (fun (i : Type.{u1}) => CategoryTheory.discreteCategory.{u1} i) Type.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C)) (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} (CategoryTheory.Functor.{u1, u1, u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.Pi.instForAllCategoryCompType.{succ u1, succ u1, u1, u1} Type.{u1} CategoryTheory.Discrete.{u1} (fun (i : Type.{u1}) => CategoryTheory.discreteCategory.{u1} i) Type.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C)) (CategoryTheory.Category.toCategoryStruct.{u1, u1} (CategoryTheory.Functor.{u1, u1, u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.Pi.instForAllCategoryCompType.{succ u1, succ u1, u1, u1} Type.{u1} CategoryTheory.Discrete.{u1} (fun (i : Type.{u1}) => CategoryTheory.discreteCategory.{u1} i) Type.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C)) (CategoryTheory.Functor.category.{u1, u1, u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.Pi.instForAllCategoryCompType.{succ u1, succ u1, u1, u1} Type.{u1} CategoryTheory.Discrete.{u1} (fun (i : Type.{u1}) => CategoryTheory.discreteCategory.{u1} i) Type.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C)))) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u1} (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C) (CategoryTheory.Functor.{u1, u1, u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.Pi.instForAllCategoryCompType.{succ u1, succ u1, u1, u1} Type.{u1} CategoryTheory.Discrete.{u1} (fun (i : Type.{u1}) => CategoryTheory.discreteCategory.{u1} i) Type.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C)) (CategoryTheory.Functor.category.{u1, u1, u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.Pi.instForAllCategoryCompType.{succ u1, succ u1, u1, u1} Type.{u1} CategoryTheory.Discrete.{u1} (fun (i : Type.{u1}) => CategoryTheory.discreteCategory.{u1} i) Type.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C)) (CategoryTheory.FreeMonoidalCategory.normalize'.{u1} C)) (CategoryTheory.MonoidalCategory.tensorObj.{u1, u1} (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.instMonoidalCategoryFreeMonoidalCategoryCategoryFreeMonoidalCategory.{u1} C) X Y))) n)) (CategoryTheory.FreeMonoidalCategory.normalizeIsoApp.{u1} C (CategoryTheory.MonoidalCategory.tensorObj.{u1, u1} (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.instMonoidalCategoryFreeMonoidalCategoryCategoryFreeMonoidalCategory.{u1} C) X Y) n) (CategoryTheory.Iso.trans.{u1, u1} (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C) (CategoryTheory.MonoidalCategory.tensorObj.{u1, u1} (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.instMonoidalCategoryFreeMonoidalCategoryCategoryFreeMonoidalCategory.{u1} C) (Prefunctor.obj.{succ u1, succ u1, u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.Category.toCategoryStruct.{u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.Pi.instForAllCategoryCompType.{succ u1, succ u1, u1, u1} Type.{u1} CategoryTheory.Discrete.{u1} (fun (i : Type.{u1}) => CategoryTheory.discreteCategory.{u1} i) Type.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C))) (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.Category.toCategoryStruct.{u1, u1} (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C))) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.Pi.instForAllCategoryCompType.{succ u1, succ u1, u1, u1} Type.{u1} CategoryTheory.Discrete.{u1} (fun (i : Type.{u1}) => CategoryTheory.discreteCategory.{u1} i) Type.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.inclusion.{u1} C)) (CategoryTheory.Discrete.mk.{u1} (CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.Discrete.as.{u1} (CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) n))) (CategoryTheory.MonoidalCategory.tensorObj.{u1, u1} (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.instMonoidalCategoryFreeMonoidalCategoryCategoryFreeMonoidalCategory.{u1} C) X Y)) (CategoryTheory.MonoidalCategory.tensorObj.{u1, u1} (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.instMonoidalCategoryFreeMonoidalCategoryCategoryFreeMonoidalCategory.{u1} C) (CategoryTheory.MonoidalCategory.tensorObj.{u1, u1} (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.instMonoidalCategoryFreeMonoidalCategoryCategoryFreeMonoidalCategory.{u1} C) (Prefunctor.obj.{succ u1, succ u1, u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.Category.toCategoryStruct.{u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.Pi.instForAllCategoryCompType.{succ u1, succ u1, u1, u1} Type.{u1} CategoryTheory.Discrete.{u1} (fun (i : Type.{u1}) => CategoryTheory.discreteCategory.{u1} i) Type.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C))) (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.Category.toCategoryStruct.{u1, u1} (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C))) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.Pi.instForAllCategoryCompType.{succ u1, succ u1, u1, u1} Type.{u1} CategoryTheory.Discrete.{u1} (fun (i : Type.{u1}) => CategoryTheory.discreteCategory.{u1} i) Type.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.inclusion.{u1} C)) (CategoryTheory.Discrete.mk.{u1} (CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.Discrete.as.{u1} (CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) n))) X) Y) (Prefunctor.obj.{succ u1, succ u1, u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.Category.toCategoryStruct.{u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.Pi.instForAllCategoryCompType.{succ u1, succ u1, u1, u1} Type.{u1} CategoryTheory.Discrete.{u1} (fun (i : Type.{u1}) => CategoryTheory.discreteCategory.{u1} i) Type.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C))) (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.Category.toCategoryStruct.{u1, u1} (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C))) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.Pi.instForAllCategoryCompType.{succ u1, succ u1, u1, u1} Type.{u1} CategoryTheory.Discrete.{u1} (fun (i : Type.{u1}) => CategoryTheory.discreteCategory.{u1} i) Type.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C) (Prefunctor.obj.{succ u1, succ u1, u1, u1} (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.Category.toCategoryStruct.{u1, u1} (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C))) (CategoryTheory.Functor.{u1, u1, u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.Pi.instForAllCategoryCompType.{succ u1, succ u1, u1, u1} Type.{u1} CategoryTheory.Discrete.{u1} (fun (i : Type.{u1}) => CategoryTheory.discreteCategory.{u1} i) Type.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C)) (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} (CategoryTheory.Functor.{u1, u1, u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.Pi.instForAllCategoryCompType.{succ u1, succ u1, u1, u1} Type.{u1} CategoryTheory.Discrete.{u1} (fun (i : Type.{u1}) => CategoryTheory.discreteCategory.{u1} i) Type.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C)) (CategoryTheory.Category.toCategoryStruct.{u1, u1} (CategoryTheory.Functor.{u1, u1, u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.Pi.instForAllCategoryCompType.{succ u1, succ u1, u1, u1} Type.{u1} CategoryTheory.Discrete.{u1} (fun (i : Type.{u1}) => CategoryTheory.discreteCategory.{u1} i) Type.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C)) (CategoryTheory.Functor.category.{u1, u1, u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.Pi.instForAllCategoryCompType.{succ u1, succ u1, u1, u1} Type.{u1} CategoryTheory.Discrete.{u1} (fun (i : Type.{u1}) => CategoryTheory.discreteCategory.{u1} i) Type.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C)))) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u1} (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C) (CategoryTheory.Functor.{u1, u1, u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.Pi.instForAllCategoryCompType.{succ u1, succ u1, u1, u1} Type.{u1} CategoryTheory.Discrete.{u1} (fun (i : Type.{u1}) => CategoryTheory.discreteCategory.{u1} i) Type.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C)) (CategoryTheory.Functor.category.{u1, u1, u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.Pi.instForAllCategoryCompType.{succ u1, succ u1, u1, u1} Type.{u1} CategoryTheory.Discrete.{u1} (fun (i : Type.{u1}) => CategoryTheory.discreteCategory.{u1} i) Type.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C)) (CategoryTheory.FreeMonoidalCategory.normalize'.{u1} C)) Y)) (CategoryTheory.FreeMonoidalCategory.normalizeObj.{u1} C X (CategoryTheory.Discrete.as.{u1} (CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) n))) (CategoryTheory.Iso.symm.{u1, u1} (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C) (CategoryTheory.MonoidalCategory.tensorObj.{u1, u1} (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.instMonoidalCategoryFreeMonoidalCategoryCategoryFreeMonoidalCategory.{u1} C) (CategoryTheory.MonoidalCategory.tensorObj.{u1, u1} (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.instMonoidalCategoryFreeMonoidalCategoryCategoryFreeMonoidalCategory.{u1} C) (Prefunctor.obj.{succ u1, succ u1, u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.Category.toCategoryStruct.{u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.Pi.instForAllCategoryCompType.{succ u1, succ u1, u1, u1} Type.{u1} CategoryTheory.Discrete.{u1} (fun (i : Type.{u1}) => CategoryTheory.discreteCategory.{u1} i) Type.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C))) (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.Category.toCategoryStruct.{u1, u1} (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C))) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.Pi.instForAllCategoryCompType.{succ u1, succ u1, u1, u1} Type.{u1} CategoryTheory.Discrete.{u1} (fun (i : Type.{u1}) => CategoryTheory.discreteCategory.{u1} i) Type.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.inclusion.{u1} C)) (CategoryTheory.Discrete.mk.{u1} (CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.Discrete.as.{u1} (CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) n))) X) Y) (CategoryTheory.MonoidalCategory.tensorObj.{u1, u1} (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.instMonoidalCategoryFreeMonoidalCategoryCategoryFreeMonoidalCategory.{u1} C) (Prefunctor.obj.{succ u1, succ u1, u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.Category.toCategoryStruct.{u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.Pi.instForAllCategoryCompType.{succ u1, succ u1, u1, u1} Type.{u1} CategoryTheory.Discrete.{u1} (fun (i : Type.{u1}) => CategoryTheory.discreteCategory.{u1} i) Type.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C))) (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.Category.toCategoryStruct.{u1, u1} (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C))) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.Pi.instForAllCategoryCompType.{succ u1, succ u1, u1, u1} Type.{u1} CategoryTheory.Discrete.{u1} (fun (i : Type.{u1}) => CategoryTheory.discreteCategory.{u1} i) Type.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.inclusion.{u1} C)) (CategoryTheory.Discrete.mk.{u1} (CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.Discrete.as.{u1} (CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) n))) (CategoryTheory.MonoidalCategory.tensorObj.{u1, u1} (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.instMonoidalCategoryFreeMonoidalCategoryCategoryFreeMonoidalCategory.{u1} C) X Y)) (CategoryTheory.MonoidalCategory.associator.{u1, u1} (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.instMonoidalCategoryFreeMonoidalCategoryCategoryFreeMonoidalCategory.{u1} C) (Prefunctor.obj.{succ u1, succ u1, u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.Category.toCategoryStruct.{u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.Pi.instForAllCategoryCompType.{succ u1, succ u1, u1, u1} Type.{u1} CategoryTheory.Discrete.{u1} (fun (i : Type.{u1}) => CategoryTheory.discreteCategory.{u1} i) Type.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C))) (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.Category.toCategoryStruct.{u1, u1} (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C))) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.Pi.instForAllCategoryCompType.{succ u1, succ u1, u1, u1} Type.{u1} CategoryTheory.Discrete.{u1} (fun (i : Type.{u1}) => CategoryTheory.discreteCategory.{u1} i) Type.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.inclusion.{u1} C)) (CategoryTheory.Discrete.mk.{u1} (CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.Discrete.as.{u1} (CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) n))) X Y)) (CategoryTheory.Iso.trans.{u1, u1} (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C) (CategoryTheory.MonoidalCategory.tensorObj.{u1, u1} (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.instMonoidalCategoryFreeMonoidalCategoryCategoryFreeMonoidalCategory.{u1} C) (CategoryTheory.MonoidalCategory.tensorObj.{u1, u1} (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.instMonoidalCategoryFreeMonoidalCategoryCategoryFreeMonoidalCategory.{u1} C) (Prefunctor.obj.{succ u1, succ u1, u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.Category.toCategoryStruct.{u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.Pi.instForAllCategoryCompType.{succ u1, succ u1, u1, u1} Type.{u1} CategoryTheory.Discrete.{u1} (fun (i : Type.{u1}) => CategoryTheory.discreteCategory.{u1} i) Type.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C))) (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.Category.toCategoryStruct.{u1, u1} (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C))) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.Pi.instForAllCategoryCompType.{succ u1, succ u1, u1, u1} Type.{u1} CategoryTheory.Discrete.{u1} (fun (i : Type.{u1}) => CategoryTheory.discreteCategory.{u1} i) Type.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.inclusion.{u1} C)) (CategoryTheory.Discrete.mk.{u1} (CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.Discrete.as.{u1} (CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) n))) X) Y) (CategoryTheory.MonoidalCategory.tensorObj.{u1, u1} (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.instMonoidalCategoryFreeMonoidalCategoryCategoryFreeMonoidalCategory.{u1} C) (Prefunctor.obj.{succ u1, succ u1, u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.Category.toCategoryStruct.{u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.Pi.instForAllCategoryCompType.{succ u1, succ u1, u1, u1} Type.{u1} CategoryTheory.Discrete.{u1} (fun (i : Type.{u1}) => CategoryTheory.discreteCategory.{u1} i) Type.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C))) (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.Category.toCategoryStruct.{u1, u1} (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C))) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.Pi.instForAllCategoryCompType.{succ u1, succ u1, u1, u1} Type.{u1} CategoryTheory.Discrete.{u1} (fun (i : Type.{u1}) => CategoryTheory.discreteCategory.{u1} i) Type.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C) (Prefunctor.obj.{succ u1, succ u1, u1, u1} (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.Category.toCategoryStruct.{u1, u1} (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C))) (CategoryTheory.Functor.{u1, u1, u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.Pi.instForAllCategoryCompType.{succ u1, succ u1, u1, u1} Type.{u1} CategoryTheory.Discrete.{u1} (fun (i : Type.{u1}) => CategoryTheory.discreteCategory.{u1} i) Type.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C)) (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} (CategoryTheory.Functor.{u1, u1, u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.Pi.instForAllCategoryCompType.{succ u1, succ u1, u1, u1} Type.{u1} CategoryTheory.Discrete.{u1} (fun (i : Type.{u1}) => CategoryTheory.discreteCategory.{u1} i) Type.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C)) (CategoryTheory.Category.toCategoryStruct.{u1, u1} (CategoryTheory.Functor.{u1, u1, u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.Pi.instForAllCategoryCompType.{succ u1, succ u1, u1, u1} Type.{u1} CategoryTheory.Discrete.{u1} (fun (i : Type.{u1}) => CategoryTheory.discreteCategory.{u1} i) Type.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C)) (CategoryTheory.Functor.category.{u1, u1, u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.Pi.instForAllCategoryCompType.{succ u1, succ u1, u1, u1} Type.{u1} CategoryTheory.Discrete.{u1} (fun (i : Type.{u1}) => CategoryTheory.discreteCategory.{u1} i) Type.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C)))) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u1} (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C) (CategoryTheory.Functor.{u1, u1, u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.Pi.instForAllCategoryCompType.{succ u1, succ u1, u1, u1} Type.{u1} CategoryTheory.Discrete.{u1} (fun (i : Type.{u1}) => CategoryTheory.discreteCategory.{u1} i) Type.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C)) (CategoryTheory.Functor.category.{u1, u1, u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.Pi.instForAllCategoryCompType.{succ u1, succ u1, u1, u1} Type.{u1} CategoryTheory.Discrete.{u1} (fun (i : Type.{u1}) => CategoryTheory.discreteCategory.{u1} i) Type.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C)) (CategoryTheory.FreeMonoidalCategory.normalize'.{u1} C)) X)) n) Y) (Prefunctor.obj.{succ u1, succ u1, u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.Category.toCategoryStruct.{u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.Pi.instForAllCategoryCompType.{succ u1, succ u1, u1, u1} Type.{u1} CategoryTheory.Discrete.{u1} (fun (i : Type.{u1}) => CategoryTheory.discreteCategory.{u1} i) Type.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C))) (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.Category.toCategoryStruct.{u1, u1} (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C))) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.Pi.instForAllCategoryCompType.{succ u1, succ u1, u1, u1} Type.{u1} CategoryTheory.Discrete.{u1} (fun (i : Type.{u1}) => CategoryTheory.discreteCategory.{u1} i) Type.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C) (Prefunctor.obj.{succ u1, succ u1, u1, u1} (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.Category.toCategoryStruct.{u1, u1} (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C))) (CategoryTheory.Functor.{u1, u1, u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.Pi.instForAllCategoryCompType.{succ u1, succ u1, u1, u1} Type.{u1} CategoryTheory.Discrete.{u1} (fun (i : Type.{u1}) => CategoryTheory.discreteCategory.{u1} i) Type.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C)) (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} (CategoryTheory.Functor.{u1, u1, u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.Pi.instForAllCategoryCompType.{succ u1, succ u1, u1, u1} Type.{u1} CategoryTheory.Discrete.{u1} (fun (i : Type.{u1}) => CategoryTheory.discreteCategory.{u1} i) Type.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C)) (CategoryTheory.Category.toCategoryStruct.{u1, u1} (CategoryTheory.Functor.{u1, u1, u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.Pi.instForAllCategoryCompType.{succ u1, succ u1, u1, u1} Type.{u1} CategoryTheory.Discrete.{u1} (fun (i : Type.{u1}) => CategoryTheory.discreteCategory.{u1} i) Type.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C)) (CategoryTheory.Functor.category.{u1, u1, u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.Pi.instForAllCategoryCompType.{succ u1, succ u1, u1, u1} Type.{u1} CategoryTheory.Discrete.{u1} (fun (i : Type.{u1}) => CategoryTheory.discreteCategory.{u1} i) Type.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C)))) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u1} (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C) (CategoryTheory.Functor.{u1, u1, u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.Pi.instForAllCategoryCompType.{succ u1, succ u1, u1, u1} Type.{u1} CategoryTheory.Discrete.{u1} (fun (i : Type.{u1}) => CategoryTheory.discreteCategory.{u1} i) Type.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C)) (CategoryTheory.Functor.category.{u1, u1, u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.Pi.instForAllCategoryCompType.{succ u1, succ u1, u1, u1} Type.{u1} CategoryTheory.Discrete.{u1} (fun (i : Type.{u1}) => CategoryTheory.discreteCategory.{u1} i) Type.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C)) (CategoryTheory.FreeMonoidalCategory.normalize'.{u1} C)) Y)) (CategoryTheory.FreeMonoidalCategory.normalizeObj.{u1} C X (CategoryTheory.Discrete.as.{u1} (CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) n))) (CategoryTheory.tensorIso.{u1, u1} (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.MonoidalCategory.tensorObj.{u1, u1} (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.instMonoidalCategoryFreeMonoidalCategoryCategoryFreeMonoidalCategory.{u1} C) (Prefunctor.obj.{succ u1, succ u1, u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.Category.toCategoryStruct.{u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.Pi.instForAllCategoryCompType.{succ u1, succ u1, u1, u1} Type.{u1} CategoryTheory.Discrete.{u1} (fun (i : Type.{u1}) => CategoryTheory.discreteCategory.{u1} i) Type.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C))) (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.Category.toCategoryStruct.{u1, u1} (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C))) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.Pi.instForAllCategoryCompType.{succ u1, succ u1, u1, u1} Type.{u1} CategoryTheory.Discrete.{u1} (fun (i : Type.{u1}) => CategoryTheory.discreteCategory.{u1} i) Type.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.inclusion.{u1} C)) (CategoryTheory.Discrete.mk.{u1} (CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.Discrete.as.{u1} (CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) n))) X) (Prefunctor.obj.{succ u1, succ u1, u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.Category.toCategoryStruct.{u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.Pi.instForAllCategoryCompType.{succ u1, succ u1, u1, u1} Type.{u1} CategoryTheory.Discrete.{u1} (fun (i : Type.{u1}) => CategoryTheory.discreteCategory.{u1} i) Type.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C))) (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.Category.toCategoryStruct.{u1, u1} (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C))) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.Pi.instForAllCategoryCompType.{succ u1, succ u1, u1, u1} Type.{u1} CategoryTheory.Discrete.{u1} (fun (i : Type.{u1}) => CategoryTheory.discreteCategory.{u1} i) Type.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C) (Prefunctor.obj.{succ u1, succ u1, u1, u1} (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.Category.toCategoryStruct.{u1, u1} (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C))) (CategoryTheory.Functor.{u1, u1, u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.Pi.instForAllCategoryCompType.{succ u1, succ u1, u1, u1} Type.{u1} CategoryTheory.Discrete.{u1} (fun (i : Type.{u1}) => CategoryTheory.discreteCategory.{u1} i) Type.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C)) (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} (CategoryTheory.Functor.{u1, u1, u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.Pi.instForAllCategoryCompType.{succ u1, succ u1, u1, u1} Type.{u1} CategoryTheory.Discrete.{u1} (fun (i : Type.{u1}) => CategoryTheory.discreteCategory.{u1} i) Type.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C)) (CategoryTheory.Category.toCategoryStruct.{u1, u1} (CategoryTheory.Functor.{u1, u1, u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.Pi.instForAllCategoryCompType.{succ u1, succ u1, u1, u1} Type.{u1} CategoryTheory.Discrete.{u1} (fun (i : Type.{u1}) => CategoryTheory.discreteCategory.{u1} i) Type.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C)) (CategoryTheory.Functor.category.{u1, u1, u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.Pi.instForAllCategoryCompType.{succ u1, succ u1, u1, u1} Type.{u1} CategoryTheory.Discrete.{u1} (fun (i : Type.{u1}) => CategoryTheory.discreteCategory.{u1} i) Type.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C)))) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u1} (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C) (CategoryTheory.Functor.{u1, u1, u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.Pi.instForAllCategoryCompType.{succ u1, succ u1, u1, u1} Type.{u1} CategoryTheory.Discrete.{u1} (fun (i : Type.{u1}) => CategoryTheory.discreteCategory.{u1} i) Type.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C)) (CategoryTheory.Functor.category.{u1, u1, u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.Pi.instForAllCategoryCompType.{succ u1, succ u1, u1, u1} Type.{u1} CategoryTheory.Discrete.{u1} (fun (i : Type.{u1}) => CategoryTheory.discreteCategory.{u1} i) Type.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C)) (CategoryTheory.FreeMonoidalCategory.normalize'.{u1} C)) X)) n) Y Y (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.instMonoidalCategoryFreeMonoidalCategoryCategoryFreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.normalizeIsoApp.{u1} C X n) (CategoryTheory.Iso.refl.{u1, u1} (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C) Y)) (CategoryTheory.FreeMonoidalCategory.normalizeIsoApp.{u1} C Y (CategoryTheory.FreeMonoidalCategory.normalizeObj.{u1} C X (CategoryTheory.Discrete.as.{u1} (CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) n)))))
+Case conversion may be inaccurate. Consider using '#align category_theory.free_monoidal_category.normalize_iso_app_tensor CategoryTheory.FreeMonoidalCategory.normalizeIsoApp_tensorₓ'. -/
 /- ./././Mathport/Syntax/Translate/Expr.lean:177:8: unsupported: ambiguous notation -/
 @[simp]
 theorem normalizeIsoApp_tensor (X Y : F C) (n : N C) :
@@ -229,11 +283,23 @@ theorem normalizeIsoApp_tensor (X Y : F C) (n : N C) :
   rfl
 #align category_theory.free_monoidal_category.normalize_iso_app_tensor CategoryTheory.FreeMonoidalCategory.normalizeIsoApp_tensor
 
+/- warning: category_theory.free_monoidal_category.normalize_iso_app_unitor -> CategoryTheory.FreeMonoidalCategory.normalizeIsoApp_unitor is a dubious translation:
+lean 3 declaration is
+  forall (C : Type.{u1}) (n : Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C), Eq.{succ u1} (CategoryTheory.Iso.{u1, u1} (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C) (CategoryTheory.Functor.obj.{u1, u1, u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.discreteCategory.{u1} (CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C)) (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C) (CategoryTheory.Functor.obj.{u1, u1, u1, u1} (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C) (CategoryTheory.Functor.{u1, u1, u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.discreteCategory.{u1} (CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C)) (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C)) (CategoryTheory.Functor.category.{u1, u1, u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.discreteCategory.{u1} (CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C)) (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C)) (CategoryTheory.FreeMonoidalCategory.tensorFunc.{u1} C) (CategoryTheory.MonoidalCategory.tensorUnit.{u1, u1} (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.CategoryTheory.monoidalCategory.{u1} C))) n) (CategoryTheory.Functor.obj.{u1, u1, u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.discreteCategory.{u1} (CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C)) (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C) (CategoryTheory.Functor.obj.{u1, u1, u1, u1} (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C) (CategoryTheory.Functor.{u1, u1, u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.discreteCategory.{u1} (CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C)) (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C)) (CategoryTheory.Functor.category.{u1, u1, u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.discreteCategory.{u1} (CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C)) (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C)) (CategoryTheory.FreeMonoidalCategory.normalize'.{u1} C) (CategoryTheory.MonoidalCategory.tensorUnit.{u1, u1} (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.CategoryTheory.monoidalCategory.{u1} C))) n)) (CategoryTheory.FreeMonoidalCategory.normalizeIsoApp.{u1} C (CategoryTheory.MonoidalCategory.tensorUnit.{u1, u1} (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.CategoryTheory.monoidalCategory.{u1} C)) n) (CategoryTheory.MonoidalCategory.rightUnitor.{u1, u1} (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.CategoryTheory.monoidalCategory.{u1} C) (CategoryTheory.Functor.obj.{u1, u1, u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.discreteCategory.{u1} (CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C)) (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.inclusion.{u1} C) (CategoryTheory.Discrete.mk.{u1} (CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.Discrete.as.{u1} (CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) n))))
+but is expected to have type
+  forall (C : Type.{u1}) (n : Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C), Eq.{succ u1} (CategoryTheory.Iso.{u1, u1} (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C) (Prefunctor.obj.{succ u1, succ u1, u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.Category.toCategoryStruct.{u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.Pi.instForAllCategoryCompType.{succ u1, succ u1, u1, u1} Type.{u1} CategoryTheory.Discrete.{u1} (fun (i : Type.{u1}) => CategoryTheory.discreteCategory.{u1} i) Type.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C))) (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.Category.toCategoryStruct.{u1, u1} (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C))) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.Pi.instForAllCategoryCompType.{succ u1, succ u1, u1, u1} Type.{u1} CategoryTheory.Discrete.{u1} (fun (i : Type.{u1}) => CategoryTheory.discreteCategory.{u1} i) Type.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C) (Prefunctor.obj.{succ u1, succ u1, u1, u1} (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.Category.toCategoryStruct.{u1, u1} (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C))) (CategoryTheory.Functor.{u1, u1, u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.Pi.instForAllCategoryCompType.{succ u1, succ u1, u1, u1} Type.{u1} CategoryTheory.Discrete.{u1} (fun (i : Type.{u1}) => CategoryTheory.discreteCategory.{u1} i) Type.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C)) (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} (CategoryTheory.Functor.{u1, u1, u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.Pi.instForAllCategoryCompType.{succ u1, succ u1, u1, u1} Type.{u1} CategoryTheory.Discrete.{u1} (fun (i : Type.{u1}) => CategoryTheory.discreteCategory.{u1} i) Type.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C)) (CategoryTheory.Category.toCategoryStruct.{u1, u1} (CategoryTheory.Functor.{u1, u1, u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.Pi.instForAllCategoryCompType.{succ u1, succ u1, u1, u1} Type.{u1} CategoryTheory.Discrete.{u1} (fun (i : Type.{u1}) => CategoryTheory.discreteCategory.{u1} i) Type.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C)) (CategoryTheory.Functor.category.{u1, u1, u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.Pi.instForAllCategoryCompType.{succ u1, succ u1, u1, u1} Type.{u1} CategoryTheory.Discrete.{u1} (fun (i : Type.{u1}) => CategoryTheory.discreteCategory.{u1} i) Type.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C)))) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u1} (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C) (CategoryTheory.Functor.{u1, u1, u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.Pi.instForAllCategoryCompType.{succ u1, succ u1, u1, u1} Type.{u1} CategoryTheory.Discrete.{u1} (fun (i : Type.{u1}) => CategoryTheory.discreteCategory.{u1} i) Type.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C)) (CategoryTheory.Functor.category.{u1, u1, u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.Pi.instForAllCategoryCompType.{succ u1, succ u1, u1, u1} Type.{u1} CategoryTheory.Discrete.{u1} (fun (i : Type.{u1}) => CategoryTheory.discreteCategory.{u1} i) Type.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C)) (CategoryTheory.FreeMonoidalCategory.tensorFunc.{u1} C)) (CategoryTheory.MonoidalCategory.tensorUnit.{u1, u1} (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.instMonoidalCategoryFreeMonoidalCategoryCategoryFreeMonoidalCategory.{u1} C)))) n) (Prefunctor.obj.{succ u1, succ u1, u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.Category.toCategoryStruct.{u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.Pi.instForAllCategoryCompType.{succ u1, succ u1, u1, u1} Type.{u1} CategoryTheory.Discrete.{u1} (fun (i : Type.{u1}) => CategoryTheory.discreteCategory.{u1} i) Type.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C))) (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.Category.toCategoryStruct.{u1, u1} (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C))) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.Pi.instForAllCategoryCompType.{succ u1, succ u1, u1, u1} Type.{u1} CategoryTheory.Discrete.{u1} (fun (i : Type.{u1}) => CategoryTheory.discreteCategory.{u1} i) Type.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C) (Prefunctor.obj.{succ u1, succ u1, u1, u1} (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.Category.toCategoryStruct.{u1, u1} (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C))) (CategoryTheory.Functor.{u1, u1, u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.Pi.instForAllCategoryCompType.{succ u1, succ u1, u1, u1} Type.{u1} CategoryTheory.Discrete.{u1} (fun (i : Type.{u1}) => CategoryTheory.discreteCategory.{u1} i) Type.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C)) (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} (CategoryTheory.Functor.{u1, u1, u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.Pi.instForAllCategoryCompType.{succ u1, succ u1, u1, u1} Type.{u1} CategoryTheory.Discrete.{u1} (fun (i : Type.{u1}) => CategoryTheory.discreteCategory.{u1} i) Type.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C)) (CategoryTheory.Category.toCategoryStruct.{u1, u1} (CategoryTheory.Functor.{u1, u1, u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.Pi.instForAllCategoryCompType.{succ u1, succ u1, u1, u1} Type.{u1} CategoryTheory.Discrete.{u1} (fun (i : Type.{u1}) => CategoryTheory.discreteCategory.{u1} i) Type.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C)) (CategoryTheory.Functor.category.{u1, u1, u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.Pi.instForAllCategoryCompType.{succ u1, succ u1, u1, u1} Type.{u1} CategoryTheory.Discrete.{u1} (fun (i : Type.{u1}) => CategoryTheory.discreteCategory.{u1} i) Type.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C)))) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u1} (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C) (CategoryTheory.Functor.{u1, u1, u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.Pi.instForAllCategoryCompType.{succ u1, succ u1, u1, u1} Type.{u1} CategoryTheory.Discrete.{u1} (fun (i : Type.{u1}) => CategoryTheory.discreteCategory.{u1} i) Type.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C)) (CategoryTheory.Functor.category.{u1, u1, u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.Pi.instForAllCategoryCompType.{succ u1, succ u1, u1, u1} Type.{u1} CategoryTheory.Discrete.{u1} (fun (i : Type.{u1}) => CategoryTheory.discreteCategory.{u1} i) Type.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C)) (CategoryTheory.FreeMonoidalCategory.normalize'.{u1} C)) (CategoryTheory.MonoidalCategory.tensorUnit.{u1, u1} (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.instMonoidalCategoryFreeMonoidalCategoryCategoryFreeMonoidalCategory.{u1} C)))) n)) (CategoryTheory.FreeMonoidalCategory.normalizeIsoApp.{u1} C (CategoryTheory.MonoidalCategory.tensorUnit.{u1, u1} (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.instMonoidalCategoryFreeMonoidalCategoryCategoryFreeMonoidalCategory.{u1} C)) n) (CategoryTheory.MonoidalCategory.rightUnitor.{u1, u1} (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.instMonoidalCategoryFreeMonoidalCategoryCategoryFreeMonoidalCategory.{u1} C) (Prefunctor.obj.{succ u1, succ u1, u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.Category.toCategoryStruct.{u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.Pi.instForAllCategoryCompType.{succ u1, succ u1, u1, u1} Type.{u1} CategoryTheory.Discrete.{u1} (fun (i : Type.{u1}) => CategoryTheory.discreteCategory.{u1} i) Type.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C))) (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.Category.toCategoryStruct.{u1, u1} (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C))) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.Pi.instForAllCategoryCompType.{succ u1, succ u1, u1, u1} Type.{u1} CategoryTheory.Discrete.{u1} (fun (i : Type.{u1}) => CategoryTheory.discreteCategory.{u1} i) Type.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.inclusion.{u1} C)) (CategoryTheory.Discrete.mk.{u1} (CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.Discrete.as.{u1} (CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) n))))
+Case conversion may be inaccurate. Consider using '#align category_theory.free_monoidal_category.normalize_iso_app_unitor CategoryTheory.FreeMonoidalCategory.normalizeIsoApp_unitorₓ'. -/
 @[simp]
 theorem normalizeIsoApp_unitor (n : N C) : normalizeIsoApp C (𝟙_ (F C)) n = ρ_ _ :=
   rfl
 #align category_theory.free_monoidal_category.normalize_iso_app_unitor CategoryTheory.FreeMonoidalCategory.normalizeIsoApp_unitor
 
+/- warning: category_theory.free_monoidal_category.normalize_iso_aux -> CategoryTheory.FreeMonoidalCategory.normalizeIsoAux is a dubious translation:
+lean 3 declaration is
+  forall (C : Type.{u1}) (X : CategoryTheory.FreeMonoidalCategory.{u1} C), CategoryTheory.Iso.{u1, u1} (CategoryTheory.Functor.{u1, u1, u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.discreteCategory.{u1} (CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C)) (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C)) (CategoryTheory.Functor.category.{u1, u1, u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.discreteCategory.{u1} (CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C)) (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C)) (CategoryTheory.Functor.obj.{u1, u1, u1, u1} (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C) (CategoryTheory.Functor.{u1, u1, u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.discreteCategory.{u1} (CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C)) (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C)) (CategoryTheory.Functor.category.{u1, u1, u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.discreteCategory.{u1} (CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C)) (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C)) (CategoryTheory.FreeMonoidalCategory.tensorFunc.{u1} C) X) (CategoryTheory.Functor.obj.{u1, u1, u1, u1} (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C) (CategoryTheory.Functor.{u1, u1, u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.discreteCategory.{u1} (CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C)) (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C)) (CategoryTheory.Functor.category.{u1, u1, u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.discreteCategory.{u1} (CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C)) (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C)) (CategoryTheory.FreeMonoidalCategory.normalize'.{u1} C) X)
+but is expected to have type
+  forall (C : Type.{u1}) (X : CategoryTheory.FreeMonoidalCategory.{u1} C), CategoryTheory.Iso.{u1, u1} (CategoryTheory.Functor.{u1, u1, u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.Pi.instForAllCategoryCompType.{succ u1, succ u1, u1, u1} Type.{u1} CategoryTheory.Discrete.{u1} (fun (i : Type.{u1}) => CategoryTheory.discreteCategory.{u1} i) Type.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C)) (CategoryTheory.Functor.category.{u1, u1, u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.Pi.instForAllCategoryCompType.{succ u1, succ u1, u1, u1} Type.{u1} CategoryTheory.Discrete.{u1} (fun (i : Type.{u1}) => CategoryTheory.discreteCategory.{u1} i) Type.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C)) (Prefunctor.obj.{succ u1, succ u1, u1, u1} (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.Category.toCategoryStruct.{u1, u1} (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C))) (CategoryTheory.Functor.{u1, u1, u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.Pi.instForAllCategoryCompType.{succ u1, succ u1, u1, u1} Type.{u1} CategoryTheory.Discrete.{u1} (fun (i : Type.{u1}) => CategoryTheory.discreteCategory.{u1} i) Type.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C)) (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} (CategoryTheory.Functor.{u1, u1, u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.Pi.instForAllCategoryCompType.{succ u1, succ u1, u1, u1} Type.{u1} CategoryTheory.Discrete.{u1} (fun (i : Type.{u1}) => CategoryTheory.discreteCategory.{u1} i) Type.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C)) (CategoryTheory.Category.toCategoryStruct.{u1, u1} (CategoryTheory.Functor.{u1, u1, u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.Pi.instForAllCategoryCompType.{succ u1, succ u1, u1, u1} Type.{u1} CategoryTheory.Discrete.{u1} (fun (i : Type.{u1}) => CategoryTheory.discreteCategory.{u1} i) Type.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C)) (CategoryTheory.Functor.category.{u1, u1, u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.Pi.instForAllCategoryCompType.{succ u1, succ u1, u1, u1} Type.{u1} CategoryTheory.Discrete.{u1} (fun (i : Type.{u1}) => CategoryTheory.discreteCategory.{u1} i) Type.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C)))) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u1} (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C) (CategoryTheory.Functor.{u1, u1, u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.Pi.instForAllCategoryCompType.{succ u1, succ u1, u1, u1} Type.{u1} CategoryTheory.Discrete.{u1} (fun (i : Type.{u1}) => CategoryTheory.discreteCategory.{u1} i) Type.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C)) (CategoryTheory.Functor.category.{u1, u1, u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.Pi.instForAllCategoryCompType.{succ u1, succ u1, u1, u1} Type.{u1} CategoryTheory.Discrete.{u1} (fun (i : Type.{u1}) => CategoryTheory.discreteCategory.{u1} i) Type.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C)) (CategoryTheory.FreeMonoidalCategory.tensorFunc.{u1} C)) X) (Prefunctor.obj.{succ u1, succ u1, u1, u1} (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.Category.toCategoryStruct.{u1, u1} (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C))) (CategoryTheory.Functor.{u1, u1, u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.Pi.instForAllCategoryCompType.{succ u1, succ u1, u1, u1} Type.{u1} CategoryTheory.Discrete.{u1} (fun (i : Type.{u1}) => CategoryTheory.discreteCategory.{u1} i) Type.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C)) (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} (CategoryTheory.Functor.{u1, u1, u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.Pi.instForAllCategoryCompType.{succ u1, succ u1, u1, u1} Type.{u1} CategoryTheory.Discrete.{u1} (fun (i : Type.{u1}) => CategoryTheory.discreteCategory.{u1} i) Type.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C)) (CategoryTheory.Category.toCategoryStruct.{u1, u1} (CategoryTheory.Functor.{u1, u1, u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.Pi.instForAllCategoryCompType.{succ u1, succ u1, u1, u1} Type.{u1} CategoryTheory.Discrete.{u1} (fun (i : Type.{u1}) => CategoryTheory.discreteCategory.{u1} i) Type.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C)) (CategoryTheory.Functor.category.{u1, u1, u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.Pi.instForAllCategoryCompType.{succ u1, succ u1, u1, u1} Type.{u1} CategoryTheory.Discrete.{u1} (fun (i : Type.{u1}) => CategoryTheory.discreteCategory.{u1} i) Type.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C)))) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u1} (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C) (CategoryTheory.Functor.{u1, u1, u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.Pi.instForAllCategoryCompType.{succ u1, succ u1, u1, u1} Type.{u1} CategoryTheory.Discrete.{u1} (fun (i : Type.{u1}) => CategoryTheory.discreteCategory.{u1} i) Type.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C)) (CategoryTheory.Functor.category.{u1, u1, u1, u1} (Function.comp.{succ (succ u1), succ (succ u1), succ (succ u1)} Type.{u1} Type.{u1} Type.{u1} CategoryTheory.Discrete.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.Pi.instForAllCategoryCompType.{succ u1, succ u1, u1, u1} Type.{u1} CategoryTheory.Discrete.{u1} (fun (i : Type.{u1}) => CategoryTheory.discreteCategory.{u1} i) Type.{u1} CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u1} C) (CategoryTheory.FreeMonoidalCategory.{u1} C) (CategoryTheory.FreeMonoidalCategory.categoryFreeMonoidalCategory.{u1} C)) (CategoryTheory.FreeMonoidalCategory.normalize'.{u1} C)) X)
+Case conversion may be inaccurate. Consider using '#align category_theory.free_monoidal_category.normalize_iso_aux CategoryTheory.FreeMonoidalCategory.normalizeIsoAuxₓ'. -/
 /-- Auxiliary definition for `normalize_iso`. -/
 @[simp]
 def normalizeIsoAux (X : F C) : (tensorFunc C).obj X ≅ (normalize' C).obj X :=
@@ -247,12 +313,24 @@ section
 
 variable {D : Type u} [Category.{u} D] {I : Type u} (f : I → D) (X : Discrete I)
 
+/- warning: category_theory.free_monoidal_category.discrete_functor_obj_eq_as -> CategoryTheory.FreeMonoidalCategory.discrete_functor_obj_eq_as is a dubious translation:
+lean 3 declaration is
+  forall {D : Type.{u1}} [_inst_1 : CategoryTheory.Category.{u1, u1} D] {I : Type.{u1}} (f : I -> D) (X : CategoryTheory.Discrete.{u1} I), Eq.{succ u1} D (CategoryTheory.Functor.obj.{u1, u1, u1, u1} (CategoryTheory.Discrete.{u1} I) (CategoryTheory.discreteCategory.{u1} I) D _inst_1 (CategoryTheory.Discrete.functor.{u1, u1, u1} D _inst_1 I f) X) (f (CategoryTheory.Discrete.as.{u1} I X))
+but is expected to have type
+  forall {D : Type.{u1}} [_inst_1 : CategoryTheory.Category.{u1, u1} D] {I : Type.{u1}} (f : I -> D) (X : CategoryTheory.Discrete.{u1} I), Eq.{succ u1} D (Prefunctor.obj.{succ u1, succ u1, u1, u1} (CategoryTheory.Discrete.{u1} I) (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} (CategoryTheory.Discrete.{u1} I) (CategoryTheory.Category.toCategoryStruct.{u1, u1} (CategoryTheory.Discrete.{u1} I) (CategoryTheory.discreteCategory.{u1} I))) D (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} D (CategoryTheory.Category.toCategoryStruct.{u1, u1} D _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u1} (CategoryTheory.Discrete.{u1} I) (CategoryTheory.discreteCategory.{u1} I) D _inst_1 (CategoryTheory.Discrete.functor.{u1, u1, u1} D _inst_1 I f)) X) (f (CategoryTheory.Discrete.as.{u1} I X))
+Case conversion may be inaccurate. Consider using '#align category_theory.free_monoidal_category.discrete_functor_obj_eq_as CategoryTheory.FreeMonoidalCategory.discrete_functor_obj_eq_asₓ'. -/
 -- TODO: move to discrete_category.lean, decide whether this should be a global simp lemma
 @[simp]
 theorem discrete_functor_obj_eq_as : (Discrete.functor f).obj X = f X.as :=
   rfl
 #align category_theory.free_monoidal_category.discrete_functor_obj_eq_as CategoryTheory.FreeMonoidalCategory.discrete_functor_obj_eq_as
 
+/- warning: category_theory.free_monoidal_category.discrete_functor_map_eq_id -> CategoryTheory.FreeMonoidalCategory.discrete_functor_map_eq_id is a dubious translation:
+lean 3 declaration is
+  forall {D : Type.{u1}} [_inst_1 : CategoryTheory.Category.{u1, u1} D] {I : Type.{u1}} (f : I -> D) (X : CategoryTheory.Discrete.{u1} I) (g : Quiver.Hom.{succ u1, u1} (CategoryTheory.Discrete.{u1} I) (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} (CategoryTheory.Discrete.{u1} I) (CategoryTheory.Category.toCategoryStruct.{u1, u1} (CategoryTheory.Discrete.{u1} I) (CategoryTheory.discreteCategory.{u1} I))) X X), Eq.{succ u1} (Quiver.Hom.{succ u1, u1} D (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} D (CategoryTheory.Category.toCategoryStruct.{u1, u1} D _inst_1)) (CategoryTheory.Functor.obj.{u1, u1, u1, u1} (CategoryTheory.Discrete.{u1} I) (CategoryTheory.discreteCategory.{u1} I) D _inst_1 (CategoryTheory.Discrete.functor.{u1, u1, u1} D _inst_1 I f) X) (CategoryTheory.Functor.obj.{u1, u1, u1, u1} (CategoryTheory.Discrete.{u1} I) (CategoryTheory.discreteCategory.{u1} I) D _inst_1 (CategoryTheory.Discrete.functor.{u1, u1, u1} D _inst_1 I f) X)) (CategoryTheory.Functor.map.{u1, u1, u1, u1} (CategoryTheory.Discrete.{u1} I) (CategoryTheory.discreteCategory.{u1} I) D _inst_1 (CategoryTheory.Discrete.functor.{u1, u1, u1} D _inst_1 I f) X X g) (CategoryTheory.CategoryStruct.id.{u1, u1} D (CategoryTheory.Category.toCategoryStruct.{u1, u1} D _inst_1) (CategoryTheory.Functor.obj.{u1, u1, u1, u1} (CategoryTheory.Discrete.{u1} I) (CategoryTheory.discreteCategory.{u1} I) D _inst_1 (CategoryTheory.Discrete.functor.{u1, u1, u1} D _inst_1 I f) X))
+but is expected to have type
+  forall {D : Type.{u1}} [_inst_1 : CategoryTheory.Category.{u1, u1} D] {I : Type.{u1}} (f : I -> D) (X : CategoryTheory.Discrete.{u1} I) (g : Quiver.Hom.{succ u1, u1} (CategoryTheory.Discrete.{u1} I) (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} (CategoryTheory.Discrete.{u1} I) (CategoryTheory.Category.toCategoryStruct.{u1, u1} (CategoryTheory.Discrete.{u1} I) (CategoryTheory.discreteCategory.{u1} I))) X X), Eq.{succ u1} (Quiver.Hom.{succ u1, u1} D (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} D (CategoryTheory.Category.toCategoryStruct.{u1, u1} D _inst_1)) (Prefunctor.obj.{succ u1, succ u1, u1, u1} (CategoryTheory.Discrete.{u1} I) (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} (CategoryTheory.Discrete.{u1} I) (CategoryTheory.Category.toCategoryStruct.{u1, u1} (CategoryTheory.Discrete.{u1} I) (CategoryTheory.discreteCategory.{u1} I))) D (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} D (CategoryTheory.Category.toCategoryStruct.{u1, u1} D _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u1} (CategoryTheory.Discrete.{u1} I) (CategoryTheory.discreteCategory.{u1} I) D _inst_1 (CategoryTheory.Discrete.functor.{u1, u1, u1} D _inst_1 I f)) X) (Prefunctor.obj.{succ u1, succ u1, u1, u1} (CategoryTheory.Discrete.{u1} I) (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} (CategoryTheory.Discrete.{u1} I) (CategoryTheory.Category.toCategoryStruct.{u1, u1} (CategoryTheory.Discrete.{u1} I) (CategoryTheory.discreteCategory.{u1} I))) D (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} D (CategoryTheory.Category.toCategoryStruct.{u1, u1} D _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u1} (CategoryTheory.Discrete.{u1} I) (CategoryTheory.discreteCategory.{u1} I) D _inst_1 (CategoryTheory.Discrete.functor.{u1, u1, u1} D _inst_1 I f)) X)) (Prefunctor.map.{succ u1, succ u1, u1, u1} (CategoryTheory.Discrete.{u1} I) (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} (CategoryTheory.Discrete.{u1} I) (CategoryTheory.Category.toCategoryStruct.{u1, u1} (CategoryTheory.Discrete.{u1} I) (CategoryTheory.discreteCategory.{u1} I))) D (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} D (CategoryTheory.Category.toCategoryStruct.{u1, u1} D _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u1} (CategoryTheory.Discrete.{u1} I) (CategoryTheory.discreteCategory.{u1} I) D _inst_1 (CategoryTheory.Discrete.functor.{u1, u1, u1} D _inst_1 I f)) X X g) (CategoryTheory.CategoryStruct.id.{u1, u1} D (CategoryTheory.Category.toCategoryStruct.{u1, u1} D _inst_1) (Prefunctor.obj.{succ u1, succ u1, u1, u1} (CategoryTheory.Discrete.{u1} I) (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} (CategoryTheory.Discrete.{u1} I) (CategoryTheory.Category.toCategoryStruct.{u1, u1} (CategoryTheory.Discrete.{u1} I) (CategoryTheory.discreteCategory.{u1} I))) D (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} D (CategoryTheory.Category.toCategoryStruct.{u1, u1} D _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u1} (CategoryTheory.Discrete.{u1} I) (CategoryTheory.discreteCategory.{u1} I) D _inst_1 (CategoryTheory.Discrete.functor.{u1, u1, u1} D _inst_1 I f)) X))
+Case conversion may be inaccurate. Consider using '#align category_theory.free_monoidal_category.discrete_functor_map_eq_id CategoryTheory.FreeMonoidalCategory.discrete_functor_map_eq_idₓ'. -/
 -- TODO: move to discrete_category.lean, decide whether this should be a global simp lemma
 @[simp]
 theorem discrete_functor_map_eq_id (g : X ⟶ X) : (Discrete.functor f).map g = 𝟙 _ := by tidy
@@ -260,6 +338,7 @@ theorem discrete_functor_map_eq_id (g : X ⟶ X) : (Discrete.functor f).map g =
 
 end
 
+#print CategoryTheory.FreeMonoidalCategory.normalizeIso /-
 /-- The isomorphism between `n ⊗ X` and `normalize X n` is natural (in both `X` and `n`, but
     naturality in `n` is trivial and was "proved" in `normalize_iso_aux`). This is the real heart
     of our proof of the coherence theorem. -/
@@ -334,11 +413,13 @@ def normalizeIso : tensorFunc C ≅ normalize' C :=
         convert(normalize_iso_aux C f_Z).Hom.naturality ((normalize_map_aux f_f).app n)
         exact (tensor_func_obj_map _ _ _).symm)
 #align category_theory.free_monoidal_category.normalize_iso CategoryTheory.FreeMonoidalCategory.normalizeIso
+-/
 
+#print CategoryTheory.FreeMonoidalCategory.fullNormalizeIso /-
 /-- The isomorphism between an object and its normal form is natural. -/
 def fullNormalizeIso : 𝟭 (F C) ≅ fullNormalize C ⋙ inclusion :=
   NatIso.ofComponents
-    (fun X => (λ_ X).symm ≪≫ ((normalizeIso C).app X).app ⟨NormalMonoidalObject.unit⟩)
+    (fun X => (λ_ X).symm ≪≫ ((normalizeIso C).app X).app ⟨NormalMonoidalObject.Unit⟩)
     (by
       intro X Y f
       dsimp
@@ -347,9 +428,11 @@ def fullNormalizeIso : 𝟭 (F C) ≅ fullNormalize C ⋙ inclusion :=
         congr_arg (fun f => nat_trans.app f (discrete.mk normal_monoidal_object.unit))
           ((normalizeIso.{u} C).Hom.naturality f))
 #align category_theory.free_monoidal_category.full_normalize_iso CategoryTheory.FreeMonoidalCategory.fullNormalizeIso
+-/
 
 end
 
+#print CategoryTheory.FreeMonoidalCategory.subsingleton_hom /-
 /-- The monoidal coherence theorem. -/
 instance subsingleton_hom : Quiver.IsThin (F C) := fun _ _ =>
   ⟨fun f g =>
@@ -358,6 +441,7 @@ instance subsingleton_hom : Quiver.IsThin (F C) := fun _ _ =>
     rw [← functor.id_map f, ← functor.id_map g]
     simp [← nat_iso.naturality_2 (fullNormalizeIso.{u} C), this]⟩
 #align category_theory.free_monoidal_category.subsingleton_hom CategoryTheory.FreeMonoidalCategory.subsingleton_hom
+-/
 
 section Groupoid
 
@@ -365,6 +449,7 @@ section
 
 open Hom
 
+#print CategoryTheory.FreeMonoidalCategory.inverseAux /-
 /-- Auxiliary construction for showing that the free monoidal category is a groupoid. Do not use
     this, use `is_iso.inv` instead. -/
 def inverseAux : ∀ {X Y : F C}, (X ⟶ᵐ Y) → (Y ⟶ᵐ X)
@@ -378,6 +463,7 @@ def inverseAux : ∀ {X Y : F C}, (X ⟶ᵐ Y) → (Y ⟶ᵐ X)
   | _, _, comp f g => (inverse_aux g).comp (inverse_aux f)
   | _, _, hom.tensor f g => (inverse_aux f).tensor (inverse_aux g)
 #align category_theory.free_monoidal_category.inverse_aux CategoryTheory.FreeMonoidalCategory.inverseAux
+-/
 
 end
 
Diff
@@ -76,7 +76,7 @@ local infixr:10 " ⟶ᵐ " => Hom
 /-- Auxiliary definition for `inclusion`. -/
 @[simp]
 def inclusionObj : NormalMonoidalObject C → F C
-  | normal_monoidal_object.unit => unit
+  | normal_monoidal_object.unit => Unit
   | normal_monoidal_object.tensor n a => tensor (inclusion_obj n) (of a)
 #align category_theory.free_monoidal_category.inclusion_obj CategoryTheory.FreeMonoidalCategory.inclusionObj
 
Diff
@@ -301,7 +301,7 @@ def normalizeIso : tensorFunc C ≅ normalize' C :=
           right_unitor_naturality]
         simp only [iso.cancel_iso_inv_left, category.assoc]
         congr 1
-        convert (category.comp_id _).symm
+        convert(category.comp_id _).symm
         convert discrete_functor_map_eq_id inclusion_obj _ _
         ext
         rfl
@@ -310,7 +310,7 @@ def normalizeIso : tensorFunc C ≅ normalize' C :=
           category.assoc, iso.hom_inv_id, iso.hom_inv_id_assoc, iso.inv_hom_id,
           iso.inv_hom_id_assoc]
         congr
-        convert (discrete_functor_map_eq_id inclusion_obj _ _).symm
+        convert(discrete_functor_map_eq_id inclusion_obj _ _).symm
         ext
         rfl
       · dsimp at *
@@ -331,7 +331,7 @@ def normalizeIso : tensorFunc C ≅ normalize' C :=
         dsimp
         simp only [category.assoc, category.comp_id]
         congr 1
-        convert (normalize_iso_aux C f_Z).Hom.naturality ((normalize_map_aux f_f).app n)
+        convert(normalize_iso_aux C f_Z).Hom.naturality ((normalize_map_aux f_f).app n)
         exact (tensor_func_obj_map _ _ _).symm)
 #align category_theory.free_monoidal_category.normalize_iso CategoryTheory.FreeMonoidalCategory.normalizeIso
 

Changes in mathlib4

mathlib3
mathlib4
chore: classify porting notes referring to missing linters (#12098)

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

Diff
@@ -53,7 +53,7 @@ variable (C)
 
 /-- We say an object in the free monoidal category is in normal form if it is of the form
     `(((𝟙_ C) ⊗ X₁) ⊗ X₂) ⊗ ⋯`. -/
--- porting note (#10927): removed @[nolint has_nonempty_instance]
+-- porting note (#5171): removed @[nolint has_nonempty_instance]
 inductive NormalMonoidalObject : Type u
   | unit : NormalMonoidalObject
   | tensor : NormalMonoidalObject → C → NormalMonoidalObject
feat(CategoryTheory/Monoidal): add whiskerings to free monoidal categories (#11172)

Since the coherence tactic assume that a certain defeq property holds for structural morphisms in a monoidal category and their corresponding morphisms in the free monoidal category, we want free monoidal categories to have the whiskering operators as primitives.

This PR also simplified the proof of the coherence theorem, and removed some porting notes.

Diff
@@ -78,43 +78,51 @@ def inclusionObj : NormalMonoidalObject C → F C
 #align category_theory.free_monoidal_category.inclusion_obj CategoryTheory.FreeMonoidalCategory.inclusionObj
 
 /-- The discrete subcategory of objects in normal form includes into the free monoidal category. -/
-@[simp]
 def inclusion : N C ⥤ F C :=
   Discrete.functor inclusionObj
 #align category_theory.free_monoidal_category.inclusion CategoryTheory.FreeMonoidalCategory.inclusion
 
-/-- Auxiliary definition for `normalize`. -/
 @[simp]
-def normalizeObj : F C → NormalMonoidalObject C → N C
-  | unit, n => ⟨n⟩
-  | of X, n => ⟨NormalMonoidalObject.tensor n X⟩
-  | tensor X Y, n => normalizeObj Y (normalizeObj X n).as
+theorem inclusion_obj (X : N C) :
+    inclusion.obj X = inclusionObj X.as :=
+  rfl
+
+@[simp]
+theorem inclusion_map {X Y : N C} (f : X ⟶ Y) :
+    inclusion.map f = eqToHom (congr_arg _ (Discrete.ext _ _ (Discrete.eq_of_hom f))) := by
+  rcases f with ⟨⟨⟩⟩
+  cases Discrete.ext _ _ (by assumption)
+  apply inclusion.map_id
+
+/-- Auxiliary definition for `normalize`. -/
+def normalizeObj : F C → NormalMonoidalObject C → NormalMonoidalObject C
+  | unit, n => n
+  | of X, n => NormalMonoidalObject.tensor n X
+  | tensor X Y, n => normalizeObj Y (normalizeObj X n)
 #align category_theory.free_monoidal_category.normalize_obj CategoryTheory.FreeMonoidalCategory.normalizeObj
 
 @[simp]
-theorem normalizeObj_unitor (n : NormalMonoidalObject C) : normalizeObj (𝟙_ (F C)) n = ⟨n⟩ :=
+theorem normalizeObj_unitor (n : NormalMonoidalObject C) : normalizeObj (𝟙_ (F C)) n = n :=
   rfl
 #align category_theory.free_monoidal_category.normalize_obj_unitor CategoryTheory.FreeMonoidalCategory.normalizeObj_unitor
 
 @[simp]
 theorem normalizeObj_tensor (X Y : F C) (n : NormalMonoidalObject C) :
-    normalizeObj (X ⊗ Y) n = normalizeObj Y (normalizeObj X n).as :=
+    normalizeObj (X ⊗ Y) n = normalizeObj Y (normalizeObj X n) :=
   rfl
 #align category_theory.free_monoidal_category.normalize_obj_tensor CategoryTheory.FreeMonoidalCategory.normalizeObj_tensor
 
+/-- Auxiliary definition for `normalize`. -/
+def normalizeObj' (X : F C) : N C ⥤ N C := Discrete.functor fun n ↦ ⟨normalizeObj X n⟩
+
 section
 
 open Hom
 
--- Porting note: triggers a PANIC "invalid LCNF substitution of free variable
--- with expression CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u}"
--- prevented with an initial call to dsimp...why?
 /-- Auxiliary definition for `normalize`. Here we prove that objects that are related by
     associators and unitors map to the same normal form. -/
 @[simp]
-def normalizeMapAux :
-    ∀ {X Y : F C}, (X ⟶ᵐ Y) →
-      ((Discrete.functor (normalizeObj X) : _ ⥤ N C) ⟶ Discrete.functor (normalizeObj Y))
+def normalizeMapAux : ∀ {X Y : F C}, (X ⟶ᵐ Y) → (normalizeObj' X ⟶ normalizeObj' Y)
   | _, _, Hom.id _ => 𝟙 _
   | _, _, α_hom X Y Z => by dsimp; exact Discrete.natTrans (fun _ => 𝟙 _)
   | _, _, α_inv _ _ _ => by dsimp; exact Discrete.natTrans (fun _ => 𝟙 _)
@@ -123,10 +131,13 @@ def normalizeMapAux :
   | _, _, ρ_hom _ => by dsimp; exact Discrete.natTrans (fun _ => 𝟙 _)
   | _, _, ρ_inv _ => by dsimp; exact Discrete.natTrans (fun _ => 𝟙 _)
   | _, _, (@comp _ _ _ _ f g) => normalizeMapAux f ≫ normalizeMapAux g
-  | _, _, (@Hom.tensor _ T _ _ W f g) => by
-    dsimp
-    exact Discrete.natTrans (fun ⟨X⟩ => (normalizeMapAux g).app (normalizeObj T X) ≫
-      (Discrete.functor (normalizeObj W) : _ ⥤ N C).map ((normalizeMapAux f).app ⟨X⟩))
+  | _, _, (@Hom.tensor _ T _ _ W f g) =>
+    Discrete.natTrans <| fun ⟨X⟩ => (normalizeMapAux g).app ⟨normalizeObj T X⟩ ≫
+      (normalizeObj' W).map ((normalizeMapAux f).app ⟨X⟩)
+  | _, _, (@Hom.whiskerLeft _ T _ W f) =>
+    Discrete.natTrans <| fun ⟨X⟩ => (normalizeMapAux f).app ⟨normalizeObj T X⟩
+  | _, _, (@Hom.whiskerRight _ T _ f W) =>
+    Discrete.natTrans <| fun X => (normalizeObj' W).map <| (normalizeMapAux f).app X
 #align category_theory.free_monoidal_category.normalize_map_aux CategoryTheory.FreeMonoidalCategory.normalizeMapAux
 
 end
@@ -140,7 +151,7 @@ variable (C)
     `𝟙_ C`. -/
 @[simp]
 def normalize : F C ⥤ N C ⥤ N C where
-  obj X := Discrete.functor (normalizeObj X)
+  obj X := normalizeObj' X
   map {X Y} := Quotient.lift normalizeMapAux (by aesop_cat)
 #align category_theory.free_monoidal_category.normalize CategoryTheory.FreeMonoidalCategory.normalize
 
@@ -166,7 +177,7 @@ def tensorFunc : F C ⥤ N C ⥤ F C where
   map f := Discrete.natTrans (fun n => _ ◁ f)
 #align category_theory.free_monoidal_category.tensor_func CategoryTheory.FreeMonoidalCategory.tensorFunc
 
-theorem tensorFunc_map_app {X Y : F C} (f : X ⟶ Y) (n) : ((tensorFunc C).map f).app n = 𝟙 _ ⊗ f :=
+theorem tensorFunc_map_app {X Y : F C} (f : X ⟶ Y) (n) : ((tensorFunc C).map f).app n = _ ◁ f :=
   rfl
 #align category_theory.free_monoidal_category.tensor_func_map_app CategoryTheory.FreeMonoidalCategory.tensorFunc_map_app
 
@@ -188,14 +199,34 @@ def normalizeIsoApp :
     ∀ (X : F C) (n : N C), ((tensorFunc C).obj X).obj n ≅ ((normalize' C).obj X).obj n
   | of _, _ => Iso.refl _
   | unit, _ => ρ_ _
-  | tensor X _, n =>
-    (α_ _ _ _).symm ≪≫ tensorIso (normalizeIsoApp X n) (Iso.refl _) ≪≫ normalizeIsoApp _ _
+  | tensor X a, n =>
+    (α_ _ _ _).symm ≪≫ whiskerRightIso (normalizeIsoApp X n) a ≪≫ normalizeIsoApp _ _
 #align category_theory.free_monoidal_category.normalize_iso_app CategoryTheory.FreeMonoidalCategory.normalizeIsoApp
 
+/-- Almost non-definitionally equall to `normalizeIsoApp`, but has a better definitional property
+in the proof of `normalize_naturality`. -/
+@[simp]
+def normalizeIsoApp' :
+    ∀ (X : F C) (n : NormalMonoidalObject C), inclusionObj n ⊗ X ≅ inclusionObj (normalizeObj X n)
+  | of _, _ => Iso.refl _
+  | unit, _ => ρ_ _
+  | tensor X Y, n =>
+    (α_ _ _ _).symm ≪≫ whiskerRightIso (normalizeIsoApp' X n) Y ≪≫ normalizeIsoApp' _ _
+
+theorem normalizeIsoApp_eq :
+    ∀ (X : F C) (n : N C), normalizeIsoApp C X n = normalizeIsoApp' C X n.as
+  | of X, _ => rfl
+  | unit, _ => rfl
+  | tensor X Y, n => by
+      rw [normalizeIsoApp, normalizeIsoApp']
+      rw [normalizeIsoApp_eq X n]
+      rw [normalizeIsoApp_eq Y ⟨normalizeObj X n.as⟩]
+      rfl
+
 @[simp]
 theorem normalizeIsoApp_tensor (X Y : F C) (n : N C) :
     normalizeIsoApp C (X ⊗ Y) n =
-      (α_ _ _ _).symm ≪≫ tensorIso (normalizeIsoApp C X n) (Iso.refl _) ≪≫ normalizeIsoApp _ _ _ :=
+      (α_ _ _ _).symm ≪≫ whiskerRightIso (normalizeIsoApp C X n) Y ≪≫ normalizeIsoApp _ _ _ :=
   rfl
 #align category_theory.free_monoidal_category.normalize_iso_app_tensor CategoryTheory.FreeMonoidalCategory.normalizeIsoApp_tensor
 
@@ -233,84 +264,58 @@ theorem discrete_functor_map_eq_id (g : X ⟶ X) : (Discrete.functor f).map g =
 
 end
 
+section
+
+variable {C}
+
+theorem normalizeObj_congr (n : NormalMonoidalObject C) {X Y : F C} (f : X ⟶ Y) :
+    normalizeObj X n = normalizeObj Y n := by
+  rcases f with ⟨f'⟩
+  apply @congr_fun _ _ fun n => normalizeObj X n
+  clear n f
+  induction f' with
+  | comp _ _ _ _ => apply Eq.trans <;> assumption
+  | whiskerLeft  _ _ ih => funext; apply congr_fun ih
+  | whiskerRight _ _ ih => funext; apply congr_arg₂ _ rfl (congr_fun ih _)
+  | @tensor W X Y Z _ _ ih₁ ih₂ =>
+      funext n
+      simp [congr_fun ih₁ n, congr_fun ih₂ (normalizeObj Y n)]
+  | _ => funext; rfl
+
+theorem normalize_naturality (n : NormalMonoidalObject C) {X Y : F C} (f : X ⟶ Y) :
+    inclusionObj n ◁ f ≫ (normalizeIsoApp' C Y n).hom =
+      (normalizeIsoApp' C X n).hom ≫
+        inclusion.map (eqToHom (Discrete.ext _ _ (normalizeObj_congr n f))) := by
+  revert n
+  induction f using Hom.inductionOn
+  case comp f g ihf ihg => simp [ihg, reassoc_of% (ihf _)]
+  case whiskerLeft X' X Y f ih =>
+    intro n
+    dsimp only [normalizeObj_tensor, normalizeIsoApp', tensor_eq_tensor, Iso.trans_hom,
+      Iso.symm_hom, whiskerRightIso_hom, Function.comp_apply, inclusion_obj]
+    rw [associator_inv_naturality_right_assoc, whisker_exchange_assoc, ih]
+    simp
+  case whiskerRight X Y h η' ih =>
+    intro n
+    dsimp only [normalizeObj_tensor, normalizeIsoApp', tensor_eq_tensor, Iso.trans_hom,
+      Iso.symm_hom, whiskerRightIso_hom, Function.comp_apply, inclusion_obj]
+    rw [associator_inv_naturality_middle_assoc, ← comp_whiskerRight_assoc, ih]
+    have := dcongr_arg (fun x => (normalizeIsoApp' C η' x).hom) (normalizeObj_congr n h)
+    simp [this]
+  all_goals simp
+
+end
+
 set_option tactic.skipAssignedInstances false in
 /-- The isomorphism between `n ⊗ X` and `normalize X n` is natural (in both `X` and `n`, but
     naturality in `n` is trivial and was "proved" in `normalizeIsoAux`). This is the real heart
     of our proof of the coherence theorem. -/
 def normalizeIso : tensorFunc C ≅ normalize' C :=
-  NatIso.ofComponents (normalizeIsoAux C)
-    (by -- Porting note: the proof has been mostly rewritten
-      rintro X Y f
-      induction' f using Quotient.recOn with f; swap; rfl
-      induction' f with _ X₁ X₂ X₃ _ _ _ _ _ _ _ _ _ _ _ _ h₁ h₂ X₁ X₂ Y₁ Y₂ f g h₁ h₂
-      · simp only [mk_id, Functor.map_id, Category.comp_id, Category.id_comp]
-      · ext n
-        dsimp
-        rw [mk_α_hom, NatTrans.comp_app, NatTrans.comp_app]
-        dsimp [NatIso.ofComponents, normalizeMapAux, whiskeringRight, whiskerRight, Functor.comp]
-        simp only [comp_tensor_id, associator_conjugation, tensor_id,
-          Category.comp_id]
-        simp only [← Category.assoc]
-        congr 4
-        rw [← cancel_epi ((inclusionObj n.as) ◁ (α_ X₁ X₂ X₃).inv)]
-        simp
-      · ext n
-        dsimp
-        rw [mk_α_inv, NatTrans.comp_app, NatTrans.comp_app]
-        dsimp [NatIso.ofComponents, normalizeMapAux, whiskeringRight, whiskerRight, Functor.comp]
-        simp [tensorHom_id, comp_whiskerRight, Category.assoc, pentagon_inv_assoc,
-          whiskerRight_tensor, Category.comp_id, Iso.cancel_iso_inv_left]
-        erw [Iso.hom_inv_id_assoc]
-      · ext n
-        dsimp [Functor.comp]
-        rw [mk_l_hom, NatTrans.comp_app, NatTrans.comp_app]
-        dsimp [NatIso.ofComponents, normalizeMapAux, whiskeringRight, whiskerRight, Functor.comp]
-        simp only [tensorHom_id, triangle_assoc_comp_right_assoc, Category.comp_id]
-        rfl
-      · ext n
-        dsimp [Functor.comp]
-        rw [mk_l_inv, NatTrans.comp_app, NatTrans.comp_app]
-        dsimp [NatIso.ofComponents, normalizeMapAux, whiskeringRight, whiskerRight, Functor.comp]
-        simp only [tensorHom_id, triangle_assoc_comp_right_assoc, whiskerLeft_inv_hom_assoc,
-          Category.comp_id]
-        rfl
-      · ext n
-        dsimp
-        rw [mk_ρ_hom, NatTrans.comp_app, NatTrans.comp_app]
-        dsimp [NatIso.ofComponents, normalizeMapAux, whiskeringRight, whiskerRight, Functor.comp]
-        simp only [whiskerLeft_rightUnitor, Category.assoc, tensorHom_id,
-          MonoidalCategory.whiskerRight_id, Category.comp_id, Iso.cancel_iso_inv_left,
-          Iso.cancel_iso_hom_left]
-        erw [Iso.inv_hom_id, Category.comp_id]
-      · ext n
-        dsimp
-        rw [mk_ρ_inv, NatTrans.comp_app, NatTrans.comp_app]
-        dsimp [NatIso.ofComponents, normalizeMapAux, whiskeringRight, whiskerRight, Functor.comp]
-        simp only [whiskerLeft_rightUnitor_inv, tensorHom_id, MonoidalCategory.whiskerRight_id,
-          Category.assoc, Iso.hom_inv_id_assoc, Iso.inv_hom_id_assoc, Category.comp_id]
-        erw [Iso.inv_hom_id, Category.comp_id]
-      · rw [mk_comp, Functor.map_comp, Functor.map_comp, Category.assoc, h₂, reassoc_of% h₁]
-      · ext ⟨n⟩
-        replace h₁ := NatTrans.congr_app h₁ ⟨n⟩
-        replace h₂ := NatTrans.congr_app h₂ ((Discrete.functor (normalizeObj X₁)).obj ⟨n⟩)
-        have h₃ := (normalizeIsoAux _ Y₂).hom.naturality ((normalizeMapAux f).app ⟨n⟩)
-        have h₄ : ∀ (X₃ Y₃ : N C) (φ : X₃ ⟶ Y₃), (Discrete.functor inclusionObj).map φ ⊗ 𝟙 Y₂ =
-            (Discrete.functor fun n ↦ inclusionObj n ⊗ Y₂).map φ := by
-          rintro ⟨X₃⟩ ⟨Y₃⟩ φ
-          obtain rfl : X₃ = Y₃ := φ.1.1
-          simp only [discrete_functor_map_eq_id, tensor_id]
-          rfl
-        rw [NatTrans.comp_app, NatTrans.comp_app] at h₁ h₂ ⊢
-        dsimp [NatIso.ofComponents, normalizeMapAux, whiskeringRight, whiskerRight,
-          Functor.comp, Discrete.natTrans] at h₁ h₂ h₃ ⊢
-        simp only [← id_tensorHom, ← tensorHom_id] at h₁ ⊢
-        rw [mk_tensor, associator_inv_naturality_assoc, ← tensor_comp_assoc, h₁,
-          Category.assoc, Category.comp_id, ← @Category.id_comp (F C) _ _ _ (@Quotient.mk _ _ g),
-          tensor_comp, Category.assoc, Category.assoc, Functor.map_comp]
-        congr 2
-        erw [← reassoc_of% h₂]
-        rw [← h₃, ← Category.assoc, ← id_tensor_comp_tensor_id, h₄]
-        rfl)
+  NatIso.ofComponents (normalizeIsoAux C) <| by
+    intro X Y f
+    ext ⟨n⟩
+    convert normalize_naturality n f using 1
+    any_goals dsimp [NatIso.ofComponents]; congr; apply normalizeIsoApp_eq
 #align category_theory.free_monoidal_category.normalize_iso CategoryTheory.FreeMonoidalCategory.normalizeIso
 
 /-- The isomorphism between an object and its normal form is natural. -/
@@ -354,6 +359,8 @@ def inverseAux : ∀ {X Y : F C}, (X ⟶ᵐ Y) → (Y ⟶ᵐ X)
   | _, _, l_hom _ => l_inv _
   | _, _, l_inv _ => l_hom _
   | _, _, comp f g => (inverseAux g).comp (inverseAux f)
+  | _, _, Hom.whiskerLeft X f => (inverseAux f).whiskerLeft X
+  | _, _, Hom.whiskerRight f X => (inverseAux f).whiskerRight X
   | _, _, Hom.tensor f g => (inverseAux f).tensor (inverseAux g)
 #align category_theory.free_monoidal_category.inverse_aux CategoryTheory.FreeMonoidalCategory.inverseAux
 
chore: move Mathlib to v4.7.0-rc1 (#11162)

This is a very large PR, but it has been reviewed piecemeal already in PRs to the bump/v4.7.0 branch as we update to intermediate nightlies.

Co-authored-by: Scott Morrison <scott.morrison@gmail.com> Co-authored-by: Kyle Miller <kmill31415@gmail.com> Co-authored-by: damiano <adomani@gmail.com>

Diff
@@ -233,6 +233,7 @@ theorem discrete_functor_map_eq_id (g : X ⟶ X) : (Discrete.functor f).map g =
 
 end
 
+set_option tactic.skipAssignedInstances false in
 /-- The isomorphism between `n ⊗ X` and `normalize X n` is natural (in both `X` and `n`, but
     naturality in `n` is trivial and was "proved" in `normalizeIsoAux`). This is the real heart
     of our proof of the coherence theorem. -/
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
@@ -67,7 +67,7 @@ local notation "N" => Discrete ∘ NormalMonoidalObject
 
 local infixr:10 " ⟶ᵐ " => Hom
 
--- porting note: this was automatic in mathlib 3
+-- Porting note: this was automatic in mathlib 3
 instance (x y : N C) : Subsingleton (x ⟶ y) := Discrete.instSubsingletonDiscreteHom _ _
 
 /-- Auxiliary definition for `inclusion`. -/
@@ -106,7 +106,7 @@ section
 
 open Hom
 
--- porting note: triggers a PANIC "invalid LCNF substitution of free variable
+-- Porting note: triggers a PANIC "invalid LCNF substitution of free variable
 -- with expression CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u}"
 -- prevented with an initial call to dsimp...why?
 /-- Auxiliary definition for `normalize`. Here we prove that objects that are related by
@@ -238,7 +238,7 @@ end
     of our proof of the coherence theorem. -/
 def normalizeIso : tensorFunc C ≅ normalize' C :=
   NatIso.ofComponents (normalizeIsoAux C)
-    (by -- porting note: the proof has been mostly rewritten
+    (by -- Porting note: the proof has been mostly rewritten
       rintro X Y f
       induction' f using Quotient.recOn with f; swap; rfl
       induction' f with _ X₁ X₂ X₃ _ _ _ _ _ _ _ _ _ _ _ _ h₁ h₂ X₁ X₂ Y₁ Y₂ f g h₁ h₂
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
@@ -163,7 +163,7 @@ def fullNormalize : F C ⥤ N C where
 @[simp]
 def tensorFunc : F C ⥤ N C ⥤ F C where
   obj X := Discrete.functor fun n => inclusion.obj ⟨n⟩ ⊗ X
-  map f := Discrete.natTrans (fun n => 𝟙 _ ⊗ f)
+  map f := Discrete.natTrans (fun n => _ ◁ f)
 #align category_theory.free_monoidal_category.tensor_func CategoryTheory.FreeMonoidalCategory.tensorFunc
 
 theorem tensorFunc_map_app {X Y : F C} (f : X ⟶ Y) (n) : ((tensorFunc C).map f).app n = 𝟙 _ ⊗ f :=
@@ -171,7 +171,7 @@ theorem tensorFunc_map_app {X Y : F C} (f : X ⟶ Y) (n) : ((tensorFunc C).map f
 #align category_theory.free_monoidal_category.tensor_func_map_app CategoryTheory.FreeMonoidalCategory.tensorFunc_map_app
 
 theorem tensorFunc_obj_map (Z : F C) {n n' : N C} (f : n ⟶ n') :
-    ((tensorFunc C).obj Z).map f = inclusion.map f ⊗ 𝟙 Z := by
+    ((tensorFunc C).obj Z).map f = inclusion.map f ▷ Z := by
   cases n
   cases n'
   rcases f with ⟨⟨h⟩⟩
@@ -251,42 +251,43 @@ def normalizeIso : tensorFunc C ≅ normalize' C :=
           Category.comp_id]
         simp only [← Category.assoc]
         congr 4
-        simp only [Category.assoc, ← cancel_epi (𝟙 (inclusionObj n.as) ⊗ (α_ X₁ X₂ X₃).inv),
-          tensor_inv_hom_id_assoc, tensor_id, Category.id_comp,
-          pentagon_inv_assoc (inclusionObj n.as) X₁ X₂ X₃, Iso.inv_hom_id, Category.comp_id]
+        rw [← cancel_epi ((inclusionObj n.as) ◁ (α_ X₁ X₂ X₃).inv)]
+        simp
       · ext n
         dsimp
         rw [mk_α_inv, NatTrans.comp_app, NatTrans.comp_app]
         dsimp [NatIso.ofComponents, normalizeMapAux, whiskeringRight, whiskerRight, Functor.comp]
-        simp only [Category.assoc, comp_tensor_id, tensor_id, Category.comp_id,
-          pentagon_inv_assoc, ← associator_inv_naturality_assoc]
-        rfl
+        simp [tensorHom_id, comp_whiskerRight, Category.assoc, pentagon_inv_assoc,
+          whiskerRight_tensor, Category.comp_id, Iso.cancel_iso_inv_left]
+        erw [Iso.hom_inv_id_assoc]
       · ext n
         dsimp [Functor.comp]
         rw [mk_l_hom, NatTrans.comp_app, NatTrans.comp_app]
         dsimp [NatIso.ofComponents, normalizeMapAux, whiskeringRight, whiskerRight, Functor.comp]
-        simp only [triangle_assoc_comp_right_assoc, Category.assoc, Category.comp_id]
+        simp only [tensorHom_id, triangle_assoc_comp_right_assoc, Category.comp_id]
         rfl
       · ext n
         dsimp [Functor.comp]
         rw [mk_l_inv, NatTrans.comp_app, NatTrans.comp_app]
         dsimp [NatIso.ofComponents, normalizeMapAux, whiskeringRight, whiskerRight, Functor.comp]
-        simp only [triangle_assoc_comp_right_assoc, tensor_inv_hom_id_assoc, tensor_id,
-          Category.id_comp, Category.comp_id]
+        simp only [tensorHom_id, triangle_assoc_comp_right_assoc, whiskerLeft_inv_hom_assoc,
+          Category.comp_id]
         rfl
       · ext n
         dsimp
         rw [mk_ρ_hom, NatTrans.comp_app, NatTrans.comp_app]
         dsimp [NatIso.ofComponents, normalizeMapAux, whiskeringRight, whiskerRight, Functor.comp]
-        simp only [← (Iso.inv_comp_eq _).2 (rightUnitor_tensor _ _), Category.assoc,
-          ← rightUnitor_naturality, Category.comp_id]; rfl
+        simp only [whiskerLeft_rightUnitor, Category.assoc, tensorHom_id,
+          MonoidalCategory.whiskerRight_id, Category.comp_id, Iso.cancel_iso_inv_left,
+          Iso.cancel_iso_hom_left]
+        erw [Iso.inv_hom_id, Category.comp_id]
       · ext n
         dsimp
         rw [mk_ρ_inv, NatTrans.comp_app, NatTrans.comp_app]
         dsimp [NatIso.ofComponents, normalizeMapAux, whiskeringRight, whiskerRight, Functor.comp]
-        simp only [← (Iso.eq_comp_inv _).1 (rightUnitor_tensor_inv _ _), rightUnitor_conjugation,
-          Category.assoc, Iso.hom_inv_id_assoc, Iso.inv_hom_id_assoc, Iso.inv_hom_id,
-          Discrete.functor, Category.comp_id, Function.comp]
+        simp only [whiskerLeft_rightUnitor_inv, tensorHom_id, MonoidalCategory.whiskerRight_id,
+          Category.assoc, Iso.hom_inv_id_assoc, Iso.inv_hom_id_assoc, Category.comp_id]
+        erw [Iso.inv_hom_id, Category.comp_id]
       · rw [mk_comp, Functor.map_comp, Functor.map_comp, Category.assoc, h₂, reassoc_of% h₁]
       · ext ⟨n⟩
         replace h₁ := NatTrans.congr_app h₁ ⟨n⟩
@@ -301,6 +302,7 @@ def normalizeIso : tensorFunc C ≅ normalize' C :=
         rw [NatTrans.comp_app, NatTrans.comp_app] at h₁ h₂ ⊢
         dsimp [NatIso.ofComponents, normalizeMapAux, whiskeringRight, whiskerRight,
           Functor.comp, Discrete.natTrans] at h₁ h₂ h₃ ⊢
+        simp only [← id_tensorHom, ← tensorHom_id] at h₁ ⊢
         rw [mk_tensor, associator_inv_naturality_assoc, ← tensor_comp_assoc, h₁,
           Category.assoc, Category.comp_id, ← @Category.id_comp (F C) _ _ _ (@Quotient.mk _ _ g),
           tensor_comp, Category.assoc, Category.assoc, Functor.map_comp]
chore: classify removed @[nolint has_nonempty_instance] porting notes (#10929)

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

Diff
@@ -53,7 +53,7 @@ variable (C)
 
 /-- We say an object in the free monoidal category is in normal form if it is of the form
     `(((𝟙_ C) ⊗ X₁) ⊗ X₂) ⊗ ⋯`. -/
--- porting note: removed @[nolint has_nonempty_instance]
+-- porting note (#10927): removed @[nolint has_nonempty_instance]
 inductive NormalMonoidalObject : Type u
   | unit : NormalMonoidalObject
   | tensor : NormalMonoidalObject → C → NormalMonoidalObject
feat(CategoryTheory/Monoidal): partially setting simp lemmas (#10061)

Extracted from #6307. The main reason why #6307 is so large is that many tensoring of identity morphisms that appear in mathlib should be replaced with whiskerings. This PR will leave this issue and deal with other parts. That is, we do not set id_tensorHom and tensorHom_id as simple lemmas at this moment, We can set them as simp lemmas locally to enable simple normal forms.

Diff
@@ -252,9 +252,8 @@ def normalizeIso : tensorFunc C ≅ normalize' C :=
         simp only [← Category.assoc]
         congr 4
         simp only [Category.assoc, ← cancel_epi (𝟙 (inclusionObj n.as) ⊗ (α_ X₁ X₂ X₃).inv),
-          pentagon_inv_assoc (inclusionObj n.as) X₁ X₂ X₃,
-          tensor_inv_hom_id_assoc, tensor_id, Category.id_comp, Iso.inv_hom_id,
-          Category.comp_id]
+          tensor_inv_hom_id_assoc, tensor_id, Category.id_comp,
+          pentagon_inv_assoc (inclusionObj n.as) X₁ X₂ X₃, Iso.inv_hom_id, Category.comp_id]
       · ext n
         dsimp
         rw [mk_α_inv, NatTrans.comp_app, NatTrans.comp_app]
@@ -272,7 +271,7 @@ def normalizeIso : tensorFunc C ≅ normalize' C :=
         dsimp [Functor.comp]
         rw [mk_l_inv, NatTrans.comp_app, NatTrans.comp_app]
         dsimp [NatIso.ofComponents, normalizeMapAux, whiskeringRight, whiskerRight, Functor.comp]
-        simp only [triangle_assoc_comp_left_inv_assoc, inv_hom_id_tensor_assoc, tensor_id,
+        simp only [triangle_assoc_comp_right_assoc, tensor_inv_hom_id_assoc, tensor_id,
           Category.id_comp, Category.comp_id]
         rfl
       · ext n
fix: lean4-ify names of inductive constructors (#8652)

These inductive types carry data, so these should be functionCase not theorem_case.

It seems that mathport didn't do this.

Diff
@@ -55,7 +55,7 @@ variable (C)
     `(((𝟙_ C) ⊗ X₁) ⊗ X₂) ⊗ ⋯`. -/
 -- porting note: removed @[nolint has_nonempty_instance]
 inductive NormalMonoidalObject : Type u
-  | Unit : NormalMonoidalObject
+  | unit : NormalMonoidalObject
   | tensor : NormalMonoidalObject → C → NormalMonoidalObject
 #align category_theory.free_monoidal_category.normal_monoidal_object CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject
 
@@ -73,7 +73,7 @@ instance (x y : N C) : Subsingleton (x ⟶ y) := Discrete.instSubsingletonDiscre
 /-- Auxiliary definition for `inclusion`. -/
 @[simp]
 def inclusionObj : NormalMonoidalObject C → F C
-  | NormalMonoidalObject.Unit => Unit
+  | NormalMonoidalObject.unit => unit
   | NormalMonoidalObject.tensor n a => tensor (inclusionObj n) (of a)
 #align category_theory.free_monoidal_category.inclusion_obj CategoryTheory.FreeMonoidalCategory.inclusionObj
 
@@ -86,7 +86,7 @@ def inclusion : N C ⥤ F C :=
 /-- Auxiliary definition for `normalize`. -/
 @[simp]
 def normalizeObj : F C → NormalMonoidalObject C → N C
-  | Unit, n => ⟨n⟩
+  | unit, n => ⟨n⟩
   | of X, n => ⟨NormalMonoidalObject.tensor n X⟩
   | tensor X Y, n => normalizeObj Y (normalizeObj X n).as
 #align category_theory.free_monoidal_category.normalize_obj CategoryTheory.FreeMonoidalCategory.normalizeObj
@@ -154,8 +154,8 @@ def normalize' : F C ⥤ N C ⥤ F C :=
 
 /-- The normalization functor for the free monoidal category over `C`. -/
 def fullNormalize : F C ⥤ N C where
-  obj X := ((normalize C).obj X).obj ⟨NormalMonoidalObject.Unit⟩
-  map f := ((normalize C).map f).app ⟨NormalMonoidalObject.Unit⟩
+  obj X := ((normalize C).obj X).obj ⟨NormalMonoidalObject.unit⟩
+  map f := ((normalize C).map f).app ⟨NormalMonoidalObject.unit⟩
 #align category_theory.free_monoidal_category.full_normalize CategoryTheory.FreeMonoidalCategory.fullNormalize
 
 /-- Given an object `X` of the free monoidal category and an object `n` in normal form, taking
@@ -187,7 +187,7 @@ theorem tensorFunc_obj_map (Z : F C) {n n' : N C} (f : n ⟶ n') :
 def normalizeIsoApp :
     ∀ (X : F C) (n : N C), ((tensorFunc C).obj X).obj n ≅ ((normalize' C).obj X).obj n
   | of _, _ => Iso.refl _
-  | Unit, _ => ρ_ _
+  | unit, _ => ρ_ _
   | tensor X _, n =>
     (α_ _ _ _).symm ≪≫ tensorIso (normalizeIsoApp X n) (Iso.refl _) ≪≫ normalizeIsoApp _ _
 #align category_theory.free_monoidal_category.normalize_iso_app CategoryTheory.FreeMonoidalCategory.normalizeIsoApp
@@ -314,13 +314,13 @@ def normalizeIso : tensorFunc C ≅ normalize' C :=
 /-- The isomorphism between an object and its normal form is natural. -/
 def fullNormalizeIso : 𝟭 (F C) ≅ fullNormalize C ⋙ inclusion :=
   NatIso.ofComponents
-  (fun X => (λ_ X).symm ≪≫ ((normalizeIso C).app X).app ⟨NormalMonoidalObject.Unit⟩)
+  (fun X => (λ_ X).symm ≪≫ ((normalizeIso C).app X).app ⟨NormalMonoidalObject.unit⟩)
     (by
       intro X Y f
       dsimp
       rw [leftUnitor_inv_naturality_assoc, Category.assoc, Iso.cancel_iso_inv_left]
       exact
-        congr_arg (fun f => NatTrans.app f (Discrete.mk NormalMonoidalObject.Unit))
+        congr_arg (fun f => NatTrans.app f (Discrete.mk NormalMonoidalObject.unit))
           ((normalizeIso.{u} C).hom.naturality f))
 #align category_theory.free_monoidal_category.full_normalize_iso CategoryTheory.FreeMonoidalCategory.fullNormalizeIso
 
chore: cleanup some spaces (#7484)

Purely cosmetic PR.

Diff
@@ -308,7 +308,7 @@ def normalizeIso : tensorFunc C ≅ normalize' C :=
         congr 2
         erw [← reassoc_of% h₂]
         rw [← h₃, ← Category.assoc, ← id_tensor_comp_tensor_id, h₄]
-        rfl )
+        rfl)
 #align category_theory.free_monoidal_category.normalize_iso CategoryTheory.FreeMonoidalCategory.normalizeIso
 
 /-- The isomorphism between an object and its normal form is natural. -/
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) 2021 Markus Himmel. All rights reserved.
 Released under Apache 2.0 license as described in the file LICENSE.
 Authors: Markus Himmel
-
-! This file was ported from Lean 3 source module category_theory.monoidal.free.coherence
-! leanprover-community/mathlib commit f187f1074fa1857c94589cc653c786cadc4c35ff
-! Please do not edit these lines, except to modify the commit id
-! if you have ported upstream changes.
 -/
 import Mathlib.CategoryTheory.Monoidal.Free.Basic
 import Mathlib.CategoryTheory.Groupoid
 import Mathlib.CategoryTheory.DiscreteCategory
 
+#align_import category_theory.monoidal.free.coherence from "leanprover-community/mathlib"@"f187f1074fa1857c94589cc653c786cadc4c35ff"
+
 /-!
 # The monoidal coherence theorem
 
chore: cleanup whitespace (#5988)

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

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

Diff
@@ -117,7 +117,7 @@ open Hom
 @[simp]
 def normalizeMapAux :
     ∀ {X Y : F C}, (X ⟶ᵐ Y) →
-      ((Discrete.functor (normalizeObj X) : _ ⥤  N C) ⟶ Discrete.functor (normalizeObj Y))
+      ((Discrete.functor (normalizeObj X) : _ ⥤ N C) ⟶ Discrete.functor (normalizeObj Y))
   | _, _, Hom.id _ => 𝟙 _
   | _, _, α_hom X Y Z => by dsimp; exact Discrete.natTrans (fun _ => 𝟙 _)
   | _, _, α_inv _ _ _ => by dsimp; exact Discrete.natTrans (fun _ => 𝟙 _)
@@ -128,7 +128,7 @@ def normalizeMapAux :
   | _, _, (@comp _ _ _ _ f g) => normalizeMapAux f ≫ normalizeMapAux g
   | _, _, (@Hom.tensor _ T _ _ W f g) => by
     dsimp
-    exact Discrete.natTrans (fun ⟨X⟩  => (normalizeMapAux g).app (normalizeObj T X) ≫
+    exact Discrete.natTrans (fun ⟨X⟩ => (normalizeMapAux g).app (normalizeObj T X) ≫
       (Discrete.functor (normalizeObj W) : _ ⥤ N C).map ((normalizeMapAux f).app ⟨X⟩))
 #align category_theory.free_monoidal_category.normalize_map_aux CategoryTheory.FreeMonoidalCategory.normalizeMapAux
 
chore: remove occurrences of semicolon after space (#5713)

This is the second half of the changes originally in #5699, removing all occurrences of ; after a space and implementing a linter rule to enforce it.

In most cases this 2-character substring has a space after it, so the following command was run first:

find . -type f -name "*.lean" -exec sed -i -E 's/ ; /; /g' {} \;

The remaining cases were few enough in number that they were done manually.

Diff
@@ -243,7 +243,7 @@ def normalizeIso : tensorFunc C ≅ normalize' C :=
   NatIso.ofComponents (normalizeIsoAux C)
     (by -- porting note: the proof has been mostly rewritten
       rintro X Y f
-      induction' f using Quotient.recOn with f ; swap ; rfl
+      induction' f using Quotient.recOn with f; swap; rfl
       induction' f with _ X₁ X₂ X₃ _ _ _ _ _ _ _ _ _ _ _ _ h₁ h₂ X₁ X₂ Y₁ Y₂ f g h₁ h₂
       · simp only [mk_id, Functor.map_id, Category.comp_id, Category.id_comp]
       · ext n
chore: fix focusing dots (#5708)

This PR is the result of running

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

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

Diff
@@ -245,8 +245,8 @@ def normalizeIso : tensorFunc C ≅ normalize' C :=
       rintro X Y f
       induction' f using Quotient.recOn with f ; swap ; rfl
       induction' f with _ X₁ X₂ X₃ _ _ _ _ _ _ _ _ _ _ _ _ h₁ h₂ X₁ X₂ Y₁ Y₂ f g h₁ h₂
-      . simp only [mk_id, Functor.map_id, Category.comp_id, Category.id_comp]
-      . ext n
+      · simp only [mk_id, Functor.map_id, Category.comp_id, Category.id_comp]
+      · ext n
         dsimp
         rw [mk_α_hom, NatTrans.comp_app, NatTrans.comp_app]
         dsimp [NatIso.ofComponents, normalizeMapAux, whiskeringRight, whiskerRight, Functor.comp]
@@ -258,41 +258,41 @@ def normalizeIso : tensorFunc C ≅ normalize' C :=
           pentagon_inv_assoc (inclusionObj n.as) X₁ X₂ X₃,
           tensor_inv_hom_id_assoc, tensor_id, Category.id_comp, Iso.inv_hom_id,
           Category.comp_id]
-      . ext n
+      · ext n
         dsimp
         rw [mk_α_inv, NatTrans.comp_app, NatTrans.comp_app]
         dsimp [NatIso.ofComponents, normalizeMapAux, whiskeringRight, whiskerRight, Functor.comp]
         simp only [Category.assoc, comp_tensor_id, tensor_id, Category.comp_id,
           pentagon_inv_assoc, ← associator_inv_naturality_assoc]
         rfl
-      . ext n
+      · ext n
         dsimp [Functor.comp]
         rw [mk_l_hom, NatTrans.comp_app, NatTrans.comp_app]
         dsimp [NatIso.ofComponents, normalizeMapAux, whiskeringRight, whiskerRight, Functor.comp]
         simp only [triangle_assoc_comp_right_assoc, Category.assoc, Category.comp_id]
         rfl
-      . ext n
+      · ext n
         dsimp [Functor.comp]
         rw [mk_l_inv, NatTrans.comp_app, NatTrans.comp_app]
         dsimp [NatIso.ofComponents, normalizeMapAux, whiskeringRight, whiskerRight, Functor.comp]
         simp only [triangle_assoc_comp_left_inv_assoc, inv_hom_id_tensor_assoc, tensor_id,
           Category.id_comp, Category.comp_id]
         rfl
-      . ext n
+      · ext n
         dsimp
         rw [mk_ρ_hom, NatTrans.comp_app, NatTrans.comp_app]
         dsimp [NatIso.ofComponents, normalizeMapAux, whiskeringRight, whiskerRight, Functor.comp]
         simp only [← (Iso.inv_comp_eq _).2 (rightUnitor_tensor _ _), Category.assoc,
           ← rightUnitor_naturality, Category.comp_id]; rfl
-      . ext n
+      · ext n
         dsimp
         rw [mk_ρ_inv, NatTrans.comp_app, NatTrans.comp_app]
         dsimp [NatIso.ofComponents, normalizeMapAux, whiskeringRight, whiskerRight, Functor.comp]
         simp only [← (Iso.eq_comp_inv _).1 (rightUnitor_tensor_inv _ _), rightUnitor_conjugation,
           Category.assoc, Iso.hom_inv_id_assoc, Iso.inv_hom_id_assoc, Iso.inv_hom_id,
           Discrete.functor, Category.comp_id, Function.comp]
-      . rw [mk_comp, Functor.map_comp, Functor.map_comp, Category.assoc, h₂, reassoc_of% h₁]
-      . ext ⟨n⟩
+      · rw [mk_comp, Functor.map_comp, Functor.map_comp, Category.assoc, h₂, reassoc_of% h₁]
+      · ext ⟨n⟩
         replace h₁ := NatTrans.congr_app h₁ ⟨n⟩
         replace h₂ := NatTrans.congr_app h₂ ((Discrete.functor (normalizeObj X₁)).obj ⟨n⟩)
         have h₃ := (normalizeIsoAux _ Y₂).hom.naturality ((normalizeMapAux f).app ⟨n⟩)
chore: fix many typos (#4967)

These are all doc fixes

Diff
@@ -26,7 +26,7 @@ objects that are in normal form. A normalization procedure is then just a functo
 functoriality says that two objects which are related by associators and unitors have the
 same normal form. Another desirable property of a normalization procedure is that an object is
 isomorphic (i.e., related via associators and unitors) to its normal form. In the case of the
-specific normalization procedure we use we not only get these isomorphismns, but also that they
+specific normalization procedure we use we not only get these isomorphisms, but also that they
 assemble into a natural isomorphism `𝟭 (FreeMonoidalCategory C) ≅ fullNormalize ⋙ inclusion`.
 But this means that any two parallel morphisms in the free monoidal category factor through a
 discrete category in the same way, so they must be equal, and hence the free monoidal category
chore: cleanup Discrete porting notes (#4780)

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

Diff
@@ -109,18 +109,12 @@ section
 
 open Hom
 
---attribute [local tidy] tactic.discrete_cases
-
 -- porting note: triggers a PANIC "invalid LCNF substitution of free variable
 -- with expression CategoryTheory.FreeMonoidalCategory.NormalMonoidalObject.{u}"
 -- prevented with an initial call to dsimp...why?
--- the @[simp] attribute is removed because it also triggers a PANIC
--- `PANIC at _private.Lean.Meta.Match.MatchEqs.0.Lean.Meta.Match.SimpH.substRHS
--- Lean.Meta.Match.MatchEqs:167:2: assertion violation: (
--- __do_lift._@.Lean.Meta.Match.MatchEqs._hyg.2199.0 ).xs.contains rhs`
 /-- Auxiliary definition for `normalize`. Here we prove that objects that are related by
     associators and unitors map to the same normal form. -/
--- @[simp]
+@[simp]
 def normalizeMapAux :
     ∀ {X Y : F C}, (X ⟶ᵐ Y) →
       ((Discrete.functor (normalizeObj X) : _ ⥤  N C) ⟶ Discrete.functor (normalizeObj Y))
feat: port CategoryTheory.Monoidal.Free.Coherence (#3769)

Co-authored-by: Scott Morrison <scott.morrison@gmail.com> Co-authored-by: Joël Riou <joel.riou@universite-paris-saclay.fr> Co-authored-by: Matthew Ballard <matt@mrb.email> Co-authored-by: Joël Riou <37772949+joelriou@users.noreply.github.com>

Dependencies 57

58 files ported (100.0%)
20965 lines ported (100.0%)

All dependencies are ported!