Proposition profunctor_square_natural {C₁ C₂ D₁ D₂ : category} {F : C₁ ⟶ C₂} {G : D₁ ⟶ D₂} {P : D₁ ↛ C₁} {Q : D₂ ↛ C₂} (τ : profunctor_square F G P Q) {y₁ y₂ : C₁} {x₁ x₂ : D₁} (g : y₂ --> y₁) (f : x₁ --> x₂) (h : P y₁ x₁) : τ y₂ x₂ (P #[ g , f ] h) = Q #[ #F g , #G f ] (τ y₁ x₁ h). Proof. pose (eqtohomot (pr2 τ (y₁ ,, x₁) (y₂ ,, x₂) (g ,, f)) h) as p. cbn in p. refine (p @ _). rewrite lmap_rmap_functor. apply idpath. Qed.
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.