Proposition psfunctor_fib_to_psfunctor_counit_data_ob_nat_trans_laws (F : psfunctor (cat_to_bicat C^op) bicat_of_univ_cats) {x y : C} (f : y --> x) : is_nat_trans _ _ (psfunctor_fib_to_psfunctor_counit_data_ob_nat_trans_data F f). Proof. intros xx yy ff. cbn -[psfunctor_id psfunctor_comp]. unfold psfunctor_fib_to_psfunctor_counit_data_ob_nat_trans_data. unfold is_cartesian_indexed_cat_factorisation. cbn -[psfunctor_id psfunctor_comp]. refine (id_right _ @ _ @ !(id_left _)). rewrite functor_id. refine (!_). etrans. { apply maponpaths_2. refine (id_right _ @ _). apply maponpaths_2. apply maponpaths. apply maponpaths_2. apply id_left. } pose (nat_trans_eq_pointwise (psfunctor_F_runitor F f) yy) as p. cbn -[psfunctor_id psfunctor_comp] in p. etrans. { rewrite !assoc'. apply maponpaths. refine (!_ @ !p). apply id_right. } clear p. etrans. { apply maponpaths. apply psfunctor_idtoiso. } etrans. { apply maponpaths_2. apply (transportf_indexed_cat_to_disp_cat (psfunctor_to_indexed_cat F)). } pose (nat_trans_eq_pointwise (psfunctor_F_lunitor F f) yy) as q. cbn -[psfunctor_id psfunctor_comp] in q. assert (# (pr1 (# F f)) (pr1 ((psfunctor_id F x) ^-1) yy) = pr11 (psfunctor_comp F (id₁ x) f) yy · pr1 (## F (lunitor _)) yy) as p. { refine (!_). etrans. { apply maponpaths. exact q. } rewrite !assoc. refine (id_right _ @ _ @ id_left _). apply maponpaths_2. exact (nat_trans_eq_pointwise (vcomp_rinv (psfunctor_comp F _ f)) yy). } refine (!_). refine (functor_comp _ _ _ @ _). etrans. { apply maponpaths. exact p. } etrans. { do 2 apply maponpaths. apply psfunctor_idtoiso. } rewrite !assoc'. do 2 apply maponpaths. refine (_ @ pr1_idtoiso_concat _ _). do 2 apply maponpaths. refine (_ @ maponpathscomp0 (λ h, (psfunctor_to_indexed_cat F $ h) yy) _ _). apply maponpaths. apply homset_property. Qed.
Require Import UniMath.MoreFoundations.All. Require Import UniMath.CategoryTheory.Core.Categories. Require Import UniMath.CategoryTheory.Core.Isos. Require Import UniMath.CategoryTheory.Core.Univalence. Require Import UniMath.CategoryTheory.Core.Functors. Require Import UniMath.CategoryTheory.Core.NaturalTransformations. Require Import UniMath.CategoryTheory.opp_precat. Require Import UniMath.CategoryTheory.OppositeCategory.Core. Require Import UniMath.CategoryTheory.Adjunctions.Core. Require Import UniMath.CategoryTheory.Equivalences.Core. Require Import UniMath.CategoryTheory.DisplayedCats.Core. Require Import UniMath.CategoryTheory.DisplayedCats.Isos. Require Import UniMath.CategoryTheory.DisplayedCats.Fibrations. Require Import UniMath.CategoryTheory.DisplayedCats.Functors. Require Import UniMath.CategoryTheory.DisplayedCats.Fiber. Require Import UniMath.CategoryTheory.DisplayedCats.NaturalTransformations. Require Import UniMath.CategoryTheory.DisplayedCats.Univalence. Require Import UniMath.CategoryTheory.IndexedCategories.IndexedCategory. Require Import UniMath.CategoryTheory.IndexedCategories.IndexedFunctor. Require Import UniMath.CategoryTheory.IndexedCategories.IndexedTransformation. Require Import UniMath.CategoryTheory.IndexedCategories.FibrationToIndexedCategory. Require Import UniMath.CategoryTheory.IndexedCategories.CartesianToIndexedFunctor. Require Import UniMath.CategoryTheory.IndexedCategories.NatTransToIndexed. Require Import UniMath.CategoryTheory.IndexedCategories.IndexedCategoryToFibration. Require Import UniMath.CategoryTheory.IndexedCategories.IndexedFunctorToCartesian. Require Import UniMath.CategoryTheory.IndexedCategories.IndexedTransformationToTransformation. Require Import UniMath.Bicategories.Core.Bicat. Import Bicat.Notations. Require Import UniMath.Bicategories.Core.Discreteness. Require Import UniMath.Bicategories.Core.Invertible_2cells. Require Import UniMath.Bicategories.Core.Univalence. Require Import UniMath.Bicategories.Core.EquivToAdjequiv. Require Import UniMath.Bicategories.Core.Examples.BicatOfUnivCats. Require Import UniMath.Bicategories.Core.Examples.DiscreteBicat. Require Import UniMath.Bicategories.Core.Examples.FibSlice. Require Import UniMath.Bicategories.Morphisms.Adjunctions. Require Import UniMath.Bicategories.PseudoFunctors.Display.PseudoFunctorBicat. Require Import UniMath.Bicategories.PseudoFunctors.PseudoFunctor. Import PseudoFunctor.Notations. Require Import UniMath.Bicategories.PseudoFunctors.Examples.Identity. Require Import UniMath.Bicategories.PseudoFunctors.Examples.Composition. Require Import UniMath.Bicategories.PseudoFunctors.Examples.PseudoFunctorsIntoCat. Require Import UniMath.Bicategories.Transformations.PseudoTransformation. Require Import UniMath.Bicategories.Transformations.Examples.PseudoTransformationIntoCat. Require Import UniMath.Bicategories.Modifications.Modification. Require Import UniMath.Bicategories.Modifications.Examples.ModificationIntoCat. Require Import UniMath.Bicategories.Grothendieck.FibrationToPseudoFunctor. Require Import UniMath.Bicategories.Grothendieck.PseudoFunctorToFibration.