Lemma is_profunctor_nat_iso_associator_profunctor_nat_trans_right {C₁ C₂ C₃ C₄ : category} (P₁ : C₁ ↛ C₂) (P₂ : C₂ ↛ C₃) (P₃ : C₃ ↛ C₄) (z : C₄) (w : C₁) (h : comp_profunctor (comp_profunctor P₁ P₂) P₃ z w) : associator_profunctor_nat_trans P₁ P₂ P₃ z w (associator_profunctor_inv_mor P₁ P₂ P₃ z w h) = h. Proof. use (mor_from_comp_profunctor_ob_eq (comp_profunctor P₁ P₂) P₃ z w (λ h, associator_profunctor_nat_trans P₁ P₂ P₃ z w (associator_profunctor_inv_mor P₁ P₂ P₃ z w h)) (idfun _)). clear h. intros x h l ; cbn. use (mor_from_comp_profunctor_ob_eq P₁ P₂ x w (λ h, associator_profunctor_nat_trans_mor P₁ P₂ P₃ z w (associator_profunctor_inv_mor P₁ P₂ P₃ z w (comp_profunctor_ob_in (comp_profunctor P₁ P₂) P₃ x h l))) (λ h, comp_profunctor_ob_in (comp_profunctor P₁ P₂) P₃ x h l)). clear h. intros y h k ; cbn. etrans. { apply maponpaths. apply associator_profunctor_inv_mor_comm. } etrans. { apply maponpaths. exact (associator_profunctor_inv_mor_ob_comm P₁ P₂ P₃ z w x y l h k). } rewrite associator_profunctor_nat_trans_mor_comm. exact (associator_profunctor_nat_trans_mor_ob_comm P₁ P₂ P₃ h k l). Qed.
Require Import UniMath.Foundations.All. Require Import UniMath.MoreFoundations.All. Require Import UniMath.CategoryTheory.Core.Prelude. Require Import UniMath.CategoryTheory.FunctorCategory. Require Import UniMath.CategoryTheory.PrecategoryBinProduct. Require Import UniMath.CategoryTheory.opp_precat. Require Import UniMath.CategoryTheory.Categories.HSET.All. Require Import UniMath.CategoryTheory.Categories.HSET.SetCoends. Require Import UniMath.CategoryTheory.Profunctors.Core. Require Import UniMath.CategoryTheory.Profunctors.Examples.