Proposition is_deterministic_mon_lassociator {x y z : C} : is_deterministic (mon_lassociator x y z). Proof. unfold is_deterministic. etrans. { rewrite <- !copy_tensor. rewrite tensor_comp_l_id_r. rewrite !assoc. rewrite <- tensor_lassociator. rewrite !assoc'. apply idpath. } refine (!_). etrans. { rewrite <- !copy_tensor. rewrite tensor_comp_r_id_r. rewrite !assoc'. apply idpath. } apply maponpaths. rewrite !assoc. rewrite inner_swap_hexagon'. apply idpath. 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. Require Import UniMath.CategoryTheory.MarkovCategories.MarkovCategory. Require Import UniMath.CategoryTheory.Monoidal.WhiskeredBifunctors. Import MonoidalNotations. Import BifunctorNotations.