Proposition comp_profunctor_laws : profunctor_laws comp_profunctor_data. Proof. repeat split. - intros z x k ; cbn. use mor_from_comp_profunctor_ob_eq. intros y h h' ; cbn. rewrite comp_profunctor_mor_comm. rewrite rmap_id, lmap_id. apply idpath. - cbn ; intros z₁ z₂ z₃ k₁ k₂ x₁ x₂ x₃ f₁ f₂ h. use (mor_from_comp_profunctor_ob_eq z₁ x₁ (comp_profunctor_mor (k₂ · k₁) (f₁ · f₂)) (λ h, comp_profunctor_mor k₂ f₂ (comp_profunctor_mor k₁ f₁ h))). clear h. intros y h h' ; cbn. rewrite !comp_profunctor_mor_comm. rewrite <- rmap_comp, <- lmap_comp. apply idpath. - intros. apply setproperty. Qed.
Require Import UniMath.Foundations.All. Require Import UniMath.CategoryTheory.Core.Prelude. Require Import UniMath.CategoryTheory.Categories.HSET.All. Require Import UniMath.CategoryTheory.Categories.HSET.SetCoends. Require Import UniMath.CategoryTheory.Profunctors.Core.