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