Definition uwhisker_profunctor_square {C₁ C₂ D₁ D₂ : category} {F : C₁ ⟶ C₂} {G G' : D₁ ⟶ D₂} {P : D₁ ↛ C₁} {Q : D₂ ↛ C₂} (τ : G ⟹ G') (θ : profunctor_square F G P Q) : profunctor_square F G' P Q. Proof. use make_profunctor_square. - exact (λ y x h, rmap Q (τ x) (θ y x h)). - abstract (intros y₁ y₂ x₁ x₂ g f h ; cbn -[lmap rmap] ; rewrite (profunctor_square_lmap_rmap θ) ; rewrite <- lmap_rmap ; apply maponpaths ; rewrite <- !rmap_comp ; rewrite (nat_trans_ax τ _ _ f) ; apply idpath). Defined.
Require Import UniMath.Foundations.All. Require Import UniMath.MoreFoundations.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. Require Import UniMath.CategoryTheory.Profunctors.Examples. Require Import UniMath.CategoryTheory.Profunctors.Transformation.