proposition: Lemma RelMonad_composition_laws {C : precategory_data} {D : precategory} {J : functor_data C D} {R R' R'' : RelMonad_data J} (α : RelMonadMor R R') (α' : RelMonadMor R' R''): RelMonadMor_axioms (λ a : C, (α : RelMonadMor_data R R') a · (α' : RelMonadMor_data R' R'') a).
proof: Proof. split; intros; simpl. - rewrite assoc. rewrite (r_eta_α α). apply (r_eta_α α'). - intermediate_path ((α:RelMonadMor_data R R') a · ((α':RelMonadMor_data R' R'') a · r_bind R'' ((f · (α:RelMonadMor_data R R') b) · (α':RelMonadMor_data R' R'') b))). * now repeat rewrite assoc. * rewrite (α_r_bind α'). rewrite assoc. rewrite (α_r_bind α). apply pathsinv0. apply assoc. Defined.
imports: UniMath.Foundations.PartD UniMath.Foundations.Propositions UniMath.Foundations.Sets UniMath.MoreFoundations.Tactics UniMath.MoreFoundations.PartA UniMath.CategoryTheory.Core.Categories UniMath.CategoryTheory.Core.Isos UniMath.CategoryTheory.Core.NaturalTransformations UniMath.CategoryTheory.Core.Univalence UniMath.CategoryTheory.FunctorCategory UniMath.CategoryTheory.Core.Functors UniMath.CategoryTheory.Adjunctions.Core