Proposition make_causality_r : (∏ (x y z w : C) (f : x --> y) (g : y --> z) (h1 h2 : z --> w), f · (g · ⟨identity z, h1⟩) = f · (g · ⟨identity z, h2⟩) -> f · ⟨identity y, g · ⟨identity z, h1⟩⟩ = f · ⟨identity y, g · ⟨identity z, h2⟩⟩) -> is_causal C. Proof. intros caus_l. apply make_causality_l. intros x y z w f h h1 h2 p. apply aux_swap_rl. apply caus_l. rewrite !assoc. rewrite !assoc in p. apply pairing_flip. exact p. 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.MarkovCategories.MarkovCategory. Require Import UniMath.CategoryTheory.MarkovCategories.Determinism. Require Import UniMath.CategoryTheory.MarkovCategories.AlmostSurely. Require Import UniMath.CategoryTheory.MarkovCategories.Univalence. Import MonoidalNotations.