Definition from_comp_enriched_profunctor_ob {v : V} (fs : ∏ (y : C₂), P y x ⊗ Q z y --> v) (ps : ∏ (y₁ y₂ : C₂), lmap_e P y₂ y₁ x #⊗ identity (Q z y₁) · fs y₁ = sym_mon_braiding V _ _ #⊗ identity (Q z y₁) · mon_lassociator _ _ _ · identity (P y₂ x) #⊗ rmap_e Q z y₁ y₂ · fs y₂) : comp_enriched_profunctor_ob --> v. Proof. use from_enriched_profunctor_coend. - exact fs. - abstract (cbn ; intros y₁ y₂ ; rewrite sym_mon_tensor_lassociator ; rewrite !assoc' ; apply maponpaths ; rewrite !(maponpaths (λ z, _ · (_ · (_ · z))) (assoc _ _ _)) ; rewrite mon_rassociator_lassociator ; rewrite id_left ; rewrite !(maponpaths (λ z, _ · (_ · z)) (assoc _ _ _)) ; rewrite <- tensor_comp_id_l ; rewrite !assoc ; rewrite sym_mon_braiding_inv ; rewrite id_left ; apply ps). Defined.
Require Import UniMath.Foundations.All. Require Import UniMath.MoreFoundations.All. Require Import UniMath.CategoryTheory.Core.Prelude. Require Import UniMath.CategoryTheory.Limits.Coends. Require Import UniMath.CategoryTheory.OppositeCategory.Core. Require Import UniMath.CategoryTheory.PrecategoryBinProduct. Require Import UniMath.CategoryTheory.EnrichedCats.BenabouCosmos. Require Import UniMath.CategoryTheory.EnrichedCats.Enrichment. Require Import UniMath.CategoryTheory.EnrichedCats.EnrichmentFunctor. Require Import UniMath.CategoryTheory.EnrichedCats.Profunctors.Profunctor. Require Import UniMath.CategoryTheory.EnrichedCats.Profunctors.Coend. Require Import UniMath.CategoryTheory.Monoidal.Categories. Require Import UniMath.CategoryTheory.Monoidal.Structure.Symmetric. Require Import UniMath.CategoryTheory.Monoidal.Structure.Closed. Import MonoidalNotations.