category_theory.monoidal.free.coherence
⟷
Mathlib.CategoryTheory.Monoidal.Free.Coherence
The following section lists changes to this file in mathlib3 and mathlib4 that occured after the initial port. Most recent changes are shown first. Hovering over a commit will show all commits associated with the same mathlib3 commit.
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(last sync)
mathlib commit https://github.com/leanprover-community/mathlib/commit/65a1391a0106c9204fe45bc73a039f056558cb83
@@ -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
mathlib commit https://github.com/leanprover-community/mathlib/commit/ce64cd319bb6b3e82f31c2d38e79080d377be451
@@ -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"
mathlib commit https://github.com/leanprover-community/mathlib/commit/8ea5598db6caeddde6cb734aa179cc2408dbd345
@@ -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
mathlib commit https://github.com/leanprover-community/mathlib/commit/9fb8964792b4237dac6200193a0d533f1b3f7423
@@ -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
mathlib commit https://github.com/leanprover-community/mathlib/commit/5f25c089cb34db4db112556f23c50d12da81b297
@@ -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
-/
mathlib commit https://github.com/leanprover-community/mathlib/commit/917c3c072e487b3cccdbfeff17e75b40e45f66cb
@@ -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
mathlib commit https://github.com/leanprover-community/mathlib/commit/917c3c072e487b3cccdbfeff17e75b40e45f66cb
@@ -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]
mathlib commit https://github.com/leanprover-community/mathlib/commit/917c3c072e487b3cccdbfeff17e75b40e45f66cb
@@ -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]
mathlib commit https://github.com/leanprover-community/mathlib/commit/33c67ae661dd8988516ff7f247b0be3018cdd952
@@ -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.
mathlib commit https://github.com/leanprover-community/mathlib/commit/95a87616d63b3cb49d3fe678d416fbe9c4217bf4
@@ -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
mathlib commit https://github.com/leanprover-community/mathlib/commit/36b8aa61ea7c05727161f96a0532897bd72aedab
@@ -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
mathlib commit https://github.com/leanprover-community/mathlib/commit/ce7e9d53d4bbc38065db3b595cd5bd73c323bc1d
@@ -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
mathlib commit https://github.com/leanprover-community/mathlib/commit/bd9851ca476957ea4549eb19b40e7b5ade9428cc
@@ -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
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.
@@ -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
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>
@@ -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. -/
Homogenises porting notes via capitalisation and addition of whitespace.
It makes the following changes:
@@ -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₂
@@ -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]
@@ -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
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.
@@ -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
These inductive types carry data, so these should be functionCase
not theorem_case
.
It seems that mathport didn't do this.
@@ -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
@@ -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. -/
@@ -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
@@ -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
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.
@@ -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
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.
@@ -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⟩)
@@ -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
@@ -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))
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>
All dependencies are ported!