Definition dwhisker_profunctor_square {C₁ C₂ D₁ D₂ : category} {F F' : C₁ ⟶ C₂} {G : D₁ ⟶ D₂} {P : D₁ ↛ C₁} {Q : D₂ ↛ C₂} (τ : F ⟹ F') (θ : profunctor_square F' G P Q) : profunctor_square F G P Q. Proof. use make_profunctor_square. - exact (λ y x h, lmap Q (τ y) (θ y x h)). - abstract (intros y₁ y₂ x₁ x₂ g f h ; cbn -[lmap rmap] ; rewrite (profunctor_square_lmap_rmap θ) ; rewrite <- lmap_rmap ; rewrite <- !lmap_comp ; rewrite (nat_trans_ax τ _ _ g) ; 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.