proposition: Proposition psfunctor_fib_to_psfunctor_counit_natural_laws {F G : psfunctor (cat_to_bicat C^op) bicat_of_univ_cats} (τ : pstrans F G) : is_modification (psfunctor_fib_to_psfunctor_counit_natural_data τ).
proof: Proof. intros x y f. use nat_trans_eq. { apply homset_property. } intros xx. cbn -[psfunctor_id psfunctor_comp]. unfold psfunctor_fib_to_psfunctor_counit_natural_nat_trans_data. unfold psfunctor_fib_to_psfunctor_counit_data_ob_nat_trans_data. cbn in x, y, f, xx. etrans. { do 2 refine (id_right _ @ _). apply maponpaths_2. refine (id_right _ @ _). apply id_left. } etrans. { apply maponpaths. refine (functor_id (pr111 τ y) _). } refine (id_right _ @ _). refine (!_). etrans. { etrans. { apply maponpaths_2. apply functor_id. } refine (id_left _ @ _). refine (id_right _ @ _). etrans. { apply maponpaths_2. refine (id_right _ @ _). apply id_left. } apply id_left. } unfold is_cartesian_indexed_cat_factorisation. unfold is_cartesian_to_iso_indexed_cat_inv. cbn -[psfunctor_id psfunctor_comp]. unfold is_cartesian_indexed_cat_factorisation. cbn -[psfunctor_id psfunctor_comp]. etrans. { apply maponpaths_2. do 2 apply maponpaths. etrans. { do 2 apply maponpaths. apply maponpaths_2. etrans. { apply maponpaths. apply functor_id. } apply id_right. } etrans. { do 2 apply maponpaths. apply maponpaths_2. rewrite assoc'. etrans. { apply maponpaths. exact (nat_trans_eq_pointwise (vcomp_rinv (psfunctor_comp F f (identity y))) xx). } apply id_right. } etrans. { apply maponpaths. etrans. { apply maponpaths. exact (nat_trans_eq_pointwise (vcomp_rinv (psfunctor_id F y)) _). } apply functor_id. } apply id_right. } etrans. { rewrite !assoc'. do 2 apply maponpaths. apply (nat_trans_ax ((psfunctor_id G y) ^-1)). } refine (_ @ id_left _). do 2 refine (assoc _ _ _ @ _). apply maponpaths_2. etrans. { do 2 apply maponpaths_2. refine (transportf_psfunctor_into_cat _ _ _ _ @ _). apply id_left. } pose (nat_trans_eq_pointwise (psfunctor_F_runitor G f) (pr1 ((pr111 τ) x) xx)) as p. cbn -[psfunctor_id psfunctor_comp] in p. refine (assoc' _ _ _ @ _). etrans. { apply maponpaths. refine (_ @ !p). apply (!(id_right _)). } refine (!(nat_trans_eq_pointwise (psfunctor_vcomp G _ _) _) @ _). refine (_ @ nat_trans_eq_pointwise (psfunctor_id2 G _) _). refine (maponpaths (λ z, pr1 (##G z) _) _). 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