Proposition psfunctor_fib_to_psfunctor_counit_is_pstrans : is_pstrans psfunctor_fib_to_psfunctor_counit_data. Proof. refine (_ ,, _ ,, _). - intros F₁ F₂ n₁ n₂ m. Opaque comp_psfunctor. use modification_eq. Transparent comp_psfunctor. intro x. use nat_trans_eq ; [ apply homset_property | ]. intros xx. refine (id_right _ @ _). cbn -[psfunctor_id]. refine (_ @ !(id_left _)). refine (!_). refine (_ @ id_right _). refine (assoc' _ _ _ @ _). apply maponpaths. exact (nat_trans_eq_pointwise (vcomp_rinv (psfunctor_id F₂ x)) (pr1 (pr111 n₂ x) xx)). - intros F. Opaque comp_psfunctor. use modification_eq. Transparent comp_psfunctor. intro x. use nat_trans_eq ; [ apply homset_property | ]. intros xx. refine (id_right _ @ _). cbn. refine (!_). etrans. { apply maponpaths_2. apply id_left. } refine (id_left _ @ _). etrans. { apply maponpaths_2. apply (transportf_indexed_cat_to_disp_cat (psfunctor_to_indexed_cat F)). } unfold psfunctor_psfunctor_bicat_to_fib_id_data. refine (_ @ nat_trans_eq_pointwise (vcomp_rinv (psfunctor_id F x)) xx). cbn -[psfunctor_id]. do 3 refine (assoc' _ _ _ @ _). apply maponpaths. refine (_ @ id_left _). do 2 refine (assoc _ _ _ @ _). apply maponpaths_2. etrans. { apply maponpaths_2. etrans. { pose (p := nat_trans_eq_pointwise (psfunctor_linvunitor F (identity x)) xx). cbn -[psfunctor_id psfunctor_comp] in p. refine (_ @ !p). apply maponpaths_2. exact (!(id_left _)). } apply psfunctor_idtoiso. } refine (!(pr1_idtoiso_concat _ _) @ _ @ idtoiso_idpath _). do 2 apply maponpaths. refine (!(maponpathscomp0 (λ h, pr1 (#(F : psfunctor _ _) h) xx) _ _) @ _). refine (_ @ @maponpaths_idpath _ _ (λ h, pr1 (#(F : psfunctor _ _) h) xx) _). apply maponpaths. apply homset_property. - intros F₁ F₂ F₃ τ θ. Opaque comp_psfunctor. use modification_eq. Transparent comp_psfunctor. intro x. use nat_trans_eq ; [ apply homset_property | ]. intros xx. refine (id_right _ @ _). cbn. refine (!_). etrans. { apply maponpaths_2. do 3 refine (id_right _ @ _). etrans. { apply maponpaths. apply functor_id. } apply id_right. } refine (id_left _ @ _). unfold psfunctor_psfunctor_bicat_to_fib_comp_data. cbn -[psfunctor_id]. etrans. { apply maponpaths_2. apply (transportf_indexed_cat_to_disp_cat (psfunctor_to_indexed_cat F₃)). } refine (_ @ nat_trans_eq_pointwise (vcomp_rinv (psfunctor_id F₃ x)) _). cbn -[psfunctor_id]. do 3 refine (assoc' _ _ _ @ _). apply maponpaths. refine (_ @ id_left _). do 2 refine (assoc _ _ _ @ _). apply maponpaths_2. etrans. { apply maponpaths_2. etrans. { pose (p := nat_trans_eq_pointwise (psfunctor_linvunitor F₃ (identity x)) (pr1 (pr111 θ x) (pr1 (pr111 τ x) xx))). cbn -[psfunctor_id psfunctor_comp] in p. refine (_ @ !p). apply maponpaths_2. exact (!(id_left _)). } apply psfunctor_idtoiso. } refine (!(pr1_idtoiso_concat _ _) @ _ @ idtoiso_idpath _). do 2 apply maponpaths. refine (!(maponpathscomp0 (λ h, pr1 (#(F₃ : psfunctor _ _) h) _) _ _) @ _). refine (_ @ @maponpaths_idpath _ _ (λ h, pr1 (#(F₃ : psfunctor _ _) h) _) _). apply maponpaths. apply homset_property. Opaque comp_psfunctor. 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.