proposition: Proposition psfunctor_fib_to_psfunctor_counit_data_ob_data_functor_laws (F : psfunctor (cat_to_bicat C^op) bicat_of_univ_cats) (x : C) : is_functor (psfunctor_fib_to_psfunctor_counit_data_ob_data_functor_data F x).
proof: Proof. split. - intros xx ; cbn -[psfunctor_id]. exact (nat_trans_eq_pointwise (vcomp_rinv (psfunctor_id F x)) xx). - intros xx yy zz ff gg ; cbn -[psfunctor_id psfunctor_comp]. cbn in xx, yy, zz, ff, gg. rewrite !assoc. apply maponpaths_2. refine (!_). rewrite !assoc'. etrans. { apply maponpaths. exact (!(nat_trans_ax ((psfunctor_id F x)^-1) _ _ gg)). } assert (# F (identity x) ◃ (psfunctor_id F x)^-1 = psfunctor_comp F (identity x) (identity x) • ##F (runitor _) • rinvunitor _) as p. { rewrite (psfunctor_F_runitor F (identity x)). rewrite !vassocr. rewrite vcomp_rinv. rewrite id2_left. rewrite !vassocl. rewrite runitor_rinvunitor. rewrite id2_right. apply idpath. } pose (q := nat_trans_eq_pointwise p zz). cbn -[psfunctor_id psfunctor_comp] in q. rewrite id_right in q. etrans. { do 2 apply maponpaths. exact q. } refine (!_). etrans. { apply (transportf_indexed_cat_to_disp_cat (psfunctor_to_indexed_cat F)). } rewrite !assoc'. do 3 apply maponpaths. refine (_ @ !(psfunctor_idtoiso F _ _)). do 3 apply maponpaths. apply homset_property. Qed.
imports: UniMath.MoreFoundations.All UniMath.CategoryTheory.Core.Categories UniMath.CategoryTheory.Core.Isos UniMath.CategoryTheory.Core.Univalence UniMath.CategoryTheory.Core.Functors UniMath.CategoryTheory.Core.NaturalTransformations UniMath.CategoryTheory.opp_precat UniMath.CategoryTheory.OppositeCategory.Core UniMath.CategoryTheory.Adjunctions.Core UniMath.CategoryTheory.Equivalences.Core UniMath.CategoryTheory.DisplayedCats.Core UniMath.CategoryTheory.DisplayedCats.Isos UniMath.CategoryTheory.DisplayedCats.Fibrations UniMath.CategoryTheory.DisplayedCats.Functors UniMath.CategoryTheory.DisplayedCats.Fiber UniMath.CategoryTheory.DisplayedCats.NaturalTransformations UniMath.CategoryTheory.DisplayedCats.Univalence UniMath.CategoryTheory.IndexedCategories.IndexedCategory UniMath.CategoryTheory.IndexedCategories.IndexedFunctor UniMath.CategoryTheory.IndexedCategories.IndexedTransformation UniMath.CategoryTheory.IndexedCategories.FibrationToIndexedCategory UniMath.CategoryTheory.IndexedCategories.CartesianToIndexedFunctor UniMath.CategoryTheory.IndexedCategories.NatTransToIndexed UniMath.CategoryTheory.IndexedCategories.IndexedCategoryToFibration UniMath.CategoryTheory.IndexedCategories.IndexedFunctorToCartesian UniMath.CategoryTheory.IndexedCategories.IndexedTransformationToTransformation UniMath.Bicategories.Core.Bicat UniMath.Bicategories.Core.Discreteness UniMath.Bicategories.Core.Invertible_2cells UniMath.Bicategories.Core.Univalence UniMath.Bicategories.Core.EquivToAdjequiv UniMath.Bicategories.Core.Examples.BicatOfUnivCats UniMath.Bicategories.Core.Examples.DiscreteBicat UniMath.Bicategories.Core.Examples.FibSlice UniMath.Bicategories.Morphisms.Adjunctions UniMath.Bicategories.PseudoFunctors.Display.PseudoFunctorBicat UniMath.Bicategories.PseudoFunctors.PseudoFunctor UniMath.Bicategories.PseudoFunctors.Examples.Identity UniMath.Bicategories.PseudoFunctors.Examples.Composition UniMath.Bicategories.PseudoFunctors.Examples.PseudoFunctorsIntoCat UniMath.Bicategories.Transformations.PseudoTransformation UniMath.Bicategories.Transformations.Examples.PseudoTransformationIntoCat UniMath.Bicategories.Modifications.Modification UniMath.Bicategories.Modifications.Examples.ModificationIntoCat UniMath.Bicategories.Grothendieck.FibrationToPseudoFunctor UniMath.Bicategories.Grothendieck.PseudoFunctorToFibration