Lemma diag_functor_fmonoidal_rightunitality : preserves_rightunitality (fmonoidal_preservestensordata diag_functor_fmonoidal_data) (fmonoidal_preservesunit diag_functor_fmonoidal_data). Proof. intro x. cbn. unfold diag_preserves_unit. unfold diag_preserves_tensor_data. etrans. { apply maponpaths. apply pathsinv0. apply precompose_inner_swap_with_lunitors_and_runitor. } etrans. { rewrite ! assoc. do 2 apply maponpaths_2. rewrite assoc'. apply maponpaths. apply inner_swap_is_z_isomorphism. } rewrite id_right. etrans. { apply maponpaths_2. refine (! bifunctor_leftcomp V _ _ _ _ _ _ @ _). apply maponpaths. apply monoidal_leftunitorisolaw. } rewrite (bifunctor_leftid V). apply id_left. Qed.
Require Import UniMath.Foundations.All. Require Import UniMath.MoreFoundations.All. Require Import UniMath.CategoryTheory.Core.Categories. Require Import UniMath.CategoryTheory.Core.Functors. Require Import UniMath.CategoryTheory.Monoidal.WhiskeredBifunctors. Require Import UniMath.CategoryTheory.Monoidal.Categories. Require Import UniMath.CategoryTheory.Monoidal.Functors. Import BifunctorNotations. Require Import UniMath.CategoryTheory.Monoidal.Structure.Symmetric. Require Import UniMath.CategoryTheory.Monoidal.Structure.SymmetricDiagonal. Import MonoidalNotations.