Definition profunctor_laws {C₁ C₂ : category} (F : profunctor_data C₁ C₂) : UU := (∏ (y : C₂) (x : C₁) (h : pr1 F y x), pr2 F _ _ (identity y) _ _ (identity x) h = h) × (∏ (y₁ y₂ y₃ : C₂) (g₁ : y₂ --> y₁) (g₂ : y₃ --> y₂) (x₁ x₂ x₃ : C₁) (f₁ : x₁ --> x₂) (f₂ : x₂ --> x₃) (h : pr1 F y₁ x₁), pr2 F _ _ (g₂ · g₁) _ _ (f₁ · f₂) h = pr2 F _ _ g₂ _ _ f₂ (pr2 F _ _ g₁ _ _ f₁ h)) × (∏ (y : C₂) (x : C₁), isaset (pr1 F y x)).
Require Import UniMath.Foundations.Preamble. Require Import UniMath.Foundations.Propositions. Require Import UniMath.Foundations.Sets. Require Import UniMath.CategoryTheory.Core.Categories. Require Import UniMath.CategoryTheory.Core.Univalence. Require Import UniMath.CategoryTheory.Core.Functors. Require Import UniMath.CategoryTheory.Core.NaturalTransformations. Require Import UniMath.CategoryTheory.PrecategoryBinProduct. Require Import UniMath.CategoryTheory.opp_precat. Require Import UniMath.CategoryTheory.Categories.HSET.All.