proposition: Proposition psfunctor_fib_to_psfunctor_counit_data_laws_on_ob (F : psfunctor (cat_to_bicat C^op) bicat_of_univ_cats) : pstrans_from_cat_into_cat_laws (psfunctor_fib_to_psfunctor_counit_data_data_on_ob F).
proof: Proof. split. - intros x xx ; cbn -[psfunctor_id]. unfold psfunctor_fib_to_psfunctor_counit_data_ob_nat_trans_data. refine (id_right _ @ _). refine (!_). etrans. { apply maponpaths_2. cbn. unfold is_cartesian_indexed_cat_factorisation. cbn -[psfunctor_id psfunctor_comp]. apply idpath. } rewrite functor_id. rewrite id_right. refine (assoc' _ _ _ @ _). etrans. { apply maponpaths. etrans. { pose (p := nat_trans_eq_pointwise (psfunctor_F_runitor F (identity x)) xx). cbn -[psfunctor_id psfunctor_comp] in p. refine (_ @ !p). rewrite id_right. apply idpath. } apply psfunctor_idtoiso. } etrans. { apply maponpaths_2. apply (transportf_indexed_cat_to_disp_cat (psfunctor_to_indexed_cat F)). } refine (assoc' _ _ _ @ _ @ id_right _). apply maponpaths. refine (!(pr1_idtoiso_concat _ _) @ _ @ idtoiso_idpath _). do 2 apply maponpaths. refine (!(maponpathscomp0 (λ z, pr1 (#(pr11 F) z) _) _ _) @ _). refine (_ @ @maponpaths_idpath _ _ (λ z, pr1 (#(pr11 F) z) _) _). apply maponpaths. apply homset_property. - intros x y z f g xx ; cbn -[psfunctor_id psfunctor_comp]. unfold psfunctor_fib_to_psfunctor_counit_data_ob_nat_trans_data. rewrite !id_right. refine (!_). etrans. { apply maponpaths_2. apply functor_id. } rewrite id_left. etrans. { apply maponpaths_2. cbn. unfold is_cartesian_indexed_cat_factorisation. cbn -[psfunctor_comp]. rewrite !functor_id. rewrite !id_right. apply maponpaths_2. apply maponpaths. apply id_left. } refine (assoc' _ _ _ @ _). etrans. { apply maponpaths_2. apply (transportf_indexed_cat_to_disp_cat (psfunctor_to_indexed_cat F)). } refine (assoc' _ _ _ @ _ @ id_right _). apply maponpaths. etrans. { apply maponpaths. cbn in g, f. pose (p := nat_trans_eq_pointwise (psfunctor_F_runitor F (g · f)) xx). cbn -[psfunctor_id psfunctor_comp] in p. refine (_ @ !p). rewrite id_right. apply idpath. } etrans. { apply maponpaths. apply psfunctor_idtoiso. } refine (!(pr1_idtoiso_concat _ _) @ _ @ idtoiso_idpath _). do 2 apply maponpaths. refine (!(maponpathscomp0 (λ z, pr1 (#(pr11 F) z) _) _ _) @ _). refine (_ @ @maponpaths_idpath _ _ (λ z, pr1 (#(pr11 F) z) _) _). 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