proposition: Proposition disp_prebicat_laws_twosided_disp_cat : disp_prebicat_laws disp_prebicat_data_twosided_disp_cat.
proof: Proof. repeat split ; intro ; intros ; use eq_twosided_disp_nat_trans ; intros ; refine (_ @ !(transportb_prebicat_twosided_disp_cat _ _ _ _ _)) ; cbn. - cbn. rewrite id_two_disp_left. use transportb_disp_mor2_eq. apply idpath. - rewrite id_two_disp_right. use transportb_disp_mor2_eq. apply idpath. - rewrite assoc_two_disp. use transportb_disp_mor2_eq. apply idpath. - refine (!_). use transportb_disp_mor2_idpath. - rewrite twosided_disp_functor_id. use transportb_disp_mor2_eq. apply idpath. - refine (!_). use transportb_disp_mor2_idpath. - rewrite twosided_disp_functor_comp_alt. use transportf_disp_mor2_eq. apply idpath. - rewrite id_two_disp_left, id_two_disp_right. rewrite transport_b_b_disp_mor2. use transportb_disp_mor2_eq. apply idpath. - rewrite id_two_disp_left, id_two_disp_right. rewrite transport_b_b_disp_mor2. use transportb_disp_mor2_eq. apply idpath. - rewrite id_two_disp_left, id_two_disp_right. rewrite transport_b_b_disp_mor2. use transportb_disp_mor2_eq. apply idpath. - rewrite id_two_disp_left, id_two_disp_right. rewrite transport_b_b_disp_mor2. use transportb_disp_mor2_eq. apply idpath. - rewrite id_two_disp_left, id_two_disp_right. rewrite transport_b_b_disp_mor2. use transportb_disp_mor2_eq. apply idpath. - rewrite (pr2 φφ). use transportb_disp_mor2_eq. apply idpath. - rewrite id_two_disp_left. use transportb_disp_mor2_eq. apply idpath. - rewrite id_two_disp_left. use transportb_disp_mor2_eq. apply idpath. - rewrite id_two_disp_left. use transportb_disp_mor2_eq. apply idpath. - rewrite id_two_disp_left. use transportb_disp_mor2_eq. apply idpath. - rewrite id_two_disp_left. use transportb_disp_mor2_eq. apply idpath. - rewrite id_two_disp_left. use transportb_disp_mor2_eq. apply idpath. - rewrite id_two_disp_left. rewrite twosided_disp_functor_id. rewrite transport_b_b_disp_mor2. use transportb_disp_mor2_eq. apply idpath. - etrans. { rewrite id_two_disp_left. unfold transportb. rewrite two_disp_pre_whisker_b. rewrite id_two_disp_left. rewrite transport_b_b_disp_mor2. rewrite twosided_disp_functor_id. rewrite transport_b_b_disp_mor2. apply idpath. } refine (!_). etrans. { rewrite id_two_disp_left. rewrite transport_b_b_disp_mor2. apply idpath. } use transportb_disp_mor2_eq. apply idpath. Qed.
imports: UniMath.Foundations.All UniMath.MoreFoundations.All UniMath.CategoryTheory.Core.Categories UniMath.CategoryTheory.Core.Functors UniMath.CategoryTheory.Core.NaturalTransformations UniMath.CategoryTheory.Core.Isos UniMath.CategoryTheory.Core.Univalence UniMath.CategoryTheory.whiskering UniMath.CategoryTheory.PrecategoryBinProduct UniMath.CategoryTheory.DisplayedCats.Core UniMath.CategoryTheory.DisplayedCats.Functors UniMath.CategoryTheory.DisplayedCats.NaturalTransformations UniMath.CategoryTheory.DisplayedCats.Univalence UniMath.CategoryTheory.TwoSidedDisplayedCats.TwoSidedDispCat UniMath.CategoryTheory.TwoSidedDisplayedCats.DisplayedFunctor UniMath.CategoryTheory.TwoSidedDisplayedCats.DisplayedNatTrans UniMath.CategoryTheory.TwoSidedDisplayedCats.Isos UniMath.CategoryTheory.TwoSidedDisplayedCats.Univalence UniMath.Bicategories.Core.Bicat UniMath.Bicategories.Core.Invertible_2cells UniMath.Bicategories.DisplayedBicats.DispBicat UniMath.Bicategories.DisplayedBicats.DispUnivalence UniMath.Bicategories.DisplayedBicats.Examples.DispBicatOfDispCats UniMath.Bicategories.DisplayedBicats.UnivalenceTechniques UniMath.Bicategories.Core.Examples.BicatOfUnivCats UniMath.Bicategories.PseudoFunctors.Display.PseudoFunctorBicat UniMath.Bicategories.PseudoFunctors.PseudoFunctor UniMath.Bicategories.PseudoFunctors.Examples.CatDiag UniMath.Bicategories.DisplayedBicats.DispPseudofunctor