Proposition proj2_naturality {x y z w : C} {f : y ⊗ z --> w} : (proj2 #⊗ identity z) · f = mon_lassociator _ _ _ · (identity x #⊗ f) · proj2. Proof. unfold proj2. refine (!_). etrans. { rewrite !assoc'. apply maponpaths. rewrite !assoc. rewrite <- tensor_swap. rewrite !assoc'. rewrite tensor_lunitor. apply idpath. } rewrite !assoc. apply maponpaths_2. rewrite <- tensor_id_id. rewrite <- tensor_lassociator. rewrite tensor_comp_r_id_l. rewrite !assoc'. apply maponpaths. apply mon_lunitor_triangle. Qed.
Require Import UniMath.Foundations.All. Require Import UniMath.MoreFoundations.All. Require Import UniMath.CategoryTheory.Core.Prelude. Require Import UniMath.CategoryTheory.Limits.Terminal. Require Import UniMath.CategoryTheory.Monoidal.Categories. Require Import UniMath.CategoryTheory.Monoidal.Structure.Cartesian. Require Import UniMath.CategoryTheory.Monoidal.Structure.Symmetric. Require Import UniMath.CategoryTheory.Monoidal.Structure.SymmetricDiagonal. Import MonoidalNotations.