Proposition twosided_disp_cat_to_disp_cat_psfunctor_laws : is_disp_psfunctor disp_bicat_twosided_disp_cat disp_bicat_of_univ_disp_cats diag_univ_cat twosided_disp_cat_to_disp_cat_psfunctor_data. Proof. repeat split. - intros C₁ C₂ F D₁ D₂ FF. use disp_nat_trans_eq. intros x xx. unfold transportb. refine (!_). etrans. { apply disp_nat_trans_transportf. } cbn. rewrite transportf_set. + apply idpath. + apply isasetdirprod ; apply homset_property. - intros C₁ C₂ F₁ F₂ F₃ τ θ D₁ D₂ FF₁ FF₂ FF₃ ττ θθ. use disp_nat_trans_eq. intros x xx. unfold transportb. refine (!_). etrans. { apply disp_nat_trans_transportf. } cbn. rewrite transportf_set. + apply idpath. + apply isasetdirprod ; apply homset_property. - intros C₁ C₂ F D₁ D₂ FF. use disp_nat_trans_eq. intros x xx. unfold transportb. refine (!_). etrans. { apply disp_nat_trans_transportf. } cbn. do 2 rewrite id_two_disp_right. rewrite twosided_disp_functor_id. unfold transportb_disp_mor2, transportf_disp_mor2, transportb. rewrite !twosided_prod_transport. rewrite !transport_f_f. rewrite transportf_set. + apply idpath. + apply isasetdirprod ; apply homset_property. - intros C₁ C₂ F D₁ D₂ FF. use disp_nat_trans_eq. intros x xx. unfold transportb. refine (!_). etrans. { apply disp_nat_trans_transportf. } cbn. do 2 rewrite id_two_disp_right. unfold transportb_disp_mor2, transportf_disp_mor2, transportb. rewrite !twosided_prod_transport. rewrite !transport_f_f. rewrite transportf_set. + apply idpath. + apply isasetdirprod ; apply homset_property. - intros C₁ C₂ C₃ C₄ F₁ F₂ F₃ D₁ D₂ D₃ D₄ FF₁ FF₂ FF₃. use disp_nat_trans_eq. intros x xx. unfold transportb. refine (!_). etrans. { apply disp_nat_trans_transportf. } cbn. rewrite twosided_disp_functor_id. do 3 rewrite id_two_disp_right. rewrite id_two_disp_left. unfold transportb_disp_mor2, transportf_disp_mor2, transportb. rewrite !twosided_prod_transport. rewrite !transport_f_f. apply maponpaths_2. apply isasetdirprod ; apply homset_property. - intros C₁ C₂ C₃ F G₁ G₂ θ D₁ D₂ D₃ FF₁ GG₁ GG₂ θθ. use disp_nat_trans_eq. intros x xx. unfold transportb. refine (!_). etrans. { apply disp_nat_trans_transportf. } cbn. rewrite id_two_disp_right. rewrite id_two_disp_left. unfold transportb_disp_mor2, transportf_disp_mor2, transportb. rewrite !twosided_prod_transport. rewrite !transport_f_f. apply maponpaths_2. apply isasetdirprod ; apply homset_property. - intros C₁ C₂ C₃ F₁ F₂ G τ D₁ D₂ D₃ FF₁ FF₂ GG ττ. use disp_nat_trans_eq. intros x xx. unfold transportb. refine (!_). etrans. { apply disp_nat_trans_transportf. } cbn. rewrite id_two_disp_right. rewrite id_two_disp_left. unfold transportb_disp_mor2, transportf_disp_mor2, transportb. rewrite !twosided_prod_transport. rewrite !transport_f_f. apply maponpaths_2. apply isasetdirprod ; apply homset_property. Qed.
Require Import UniMath.Foundations.All. Require Import UniMath.MoreFoundations.All. Require Import UniMath.CategoryTheory.Core.Categories. Require Import UniMath.CategoryTheory.Core.Functors. Require Import UniMath.CategoryTheory.Core.NaturalTransformations. Require Import UniMath.CategoryTheory.Core.Isos. Require Import UniMath.CategoryTheory.Core.Univalence. Require Import UniMath.CategoryTheory.whiskering. Require Import UniMath.CategoryTheory.PrecategoryBinProduct. Require Import UniMath.CategoryTheory.DisplayedCats.Core. Require Import UniMath.CategoryTheory.DisplayedCats.Functors. Require Import UniMath.CategoryTheory.DisplayedCats.NaturalTransformations. Require Import UniMath.CategoryTheory.DisplayedCats.Univalence. Require Import UniMath.CategoryTheory.TwoSidedDisplayedCats.TwoSidedDispCat. Require Import UniMath.CategoryTheory.TwoSidedDisplayedCats.DisplayedFunctor. Require Import UniMath.CategoryTheory.TwoSidedDisplayedCats.DisplayedNatTrans. Require Import UniMath.CategoryTheory.TwoSidedDisplayedCats.Isos. Require Import UniMath.CategoryTheory.TwoSidedDisplayedCats.Univalence. Require Import UniMath.Bicategories.Core.Bicat. Import Bicat.Notations. Require Import UniMath.Bicategories.Core.Invertible_2cells. Require Import UniMath.Bicategories.DisplayedBicats.DispBicat. Import DispBicat.Notations. Require Import UniMath.Bicategories.DisplayedBicats.DispUnivalence. Require Import UniMath.Bicategories.DisplayedBicats.Examples.DispBicatOfDispCats. Require Import UniMath.Bicategories.DisplayedBicats.UnivalenceTechniques. Require Import UniMath.Bicategories.Core.Examples.BicatOfUnivCats. Require Import UniMath.Bicategories.PseudoFunctors.Display.PseudoFunctorBicat. Require Import UniMath.Bicategories.PseudoFunctors.PseudoFunctor. Import PseudoFunctor.Notations. Require Import UniMath.Bicategories.PseudoFunctors.Examples.CatDiag. Require Import UniMath.Bicategories.DisplayedBicats.DispPseudofunctor.