Definition profunctor_square_to_nat_trans {C₁ C₂ : category} {F G : C₁ ⟶ C₂} (τ : profunctor_square G F (id_profunctor C₁) (id_profunctor C₂)) : G ⟹ F. Proof. use make_nat_trans. - exact (λ x, τ x x (identity x)). - abstract (intros x y f ; cbn ; pose (profunctor_square_natural τ (identity x) f (identity x)) as p ; cbn in p ; rewrite !functor_id in p ; rewrite !id_left in p ; rewrite <- p ; pose (profunctor_square_natural τ f (identity y) (identity y)) as q ; cbn in q ; rewrite !functor_id in q ; rewrite !id_right in q ; rewrite <- q ; 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.