Proposition cartesian_disp_functor_to_indexed_functor_laws : indexed_functor_laws cartesian_disp_functor_to_indexed_functor_data. Proof. split. - intros x xx ; cbn. use (cartesian_factorisation_unique (cartesian_disp_functor_on_cartesian F (HD₁ _ _ _ _))). rewrite mor_disp_transportf_postwhisker. rewrite assoc_disp_var. rewrite transport_f_f. rewrite cartesian_factorisation_commutes. rewrite mor_disp_transportf_prewhisker. rewrite transport_f_f. rewrite cartesian_factorisation_commutes. unfold transportb. rewrite transport_f_f. refine (!_). etrans. { refine (!_). apply (disp_functor_comp_var F). } rewrite cartesian_factorisation_commutes. rewrite disp_functor_transportf. rewrite transport_f_f. rewrite disp_functor_id. unfold transportb. rewrite transport_f_f. apply maponpaths_2. apply homset_property. - intros x y z f g xx ; cbn. rewrite mor_disp_transportf_postwhisker. use (cartesian_factorisation_unique (cartesian_disp_functor_on_cartesian F (HD₁ _ _ _ _))). rewrite !mor_disp_transportf_postwhisker. rewrite transport_f_f. rewrite assoc_disp_var. rewrite transport_f_f. rewrite cartesian_factorisation_commutes. rewrite mor_disp_transportf_prewhisker. rewrite transport_f_f. rewrite cartesian_factorisation_commutes. unfold transportb. rewrite transport_f_f. refine (!_). rewrite assoc_disp_var. rewrite transport_f_f. rewrite assoc_disp_var. rewrite transport_f_f. etrans. { do 3 apply maponpaths. refine (!_). apply (disp_functor_comp_var F). } rewrite !mor_disp_transportf_prewhisker. rewrite transport_f_f. rewrite cartesian_factorisation_commutes. rewrite disp_functor_transportf. rewrite !mor_disp_transportf_prewhisker. rewrite !transport_f_f. rewrite disp_functor_comp. unfold transportb. rewrite !mor_disp_transportf_prewhisker. rewrite transport_f_f. etrans. { do 2 apply maponpaths. rewrite assoc_disp. apply idpath. } unfold transportb. rewrite mor_disp_transportf_prewhisker. rewrite transport_f_f. rewrite cartesian_factorisation_commutes. rewrite mor_disp_transportf_postwhisker. rewrite mor_disp_transportf_prewhisker. rewrite transport_f_f. rewrite assoc_disp. unfold transportb. rewrite transport_f_f. rewrite cartesian_factorisation_commutes. rewrite mor_disp_transportf_postwhisker. rewrite transport_f_f. rewrite assoc_disp_var. rewrite transport_f_f. rewrite cartesian_factorisation_commutes. rewrite mor_disp_transportf_prewhisker. rewrite transport_f_f. apply maponpaths_2. apply homset_property. Qed.
Require Import UniMath.Foundations.All. 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.DisplayedCats.Core. Require Import UniMath.CategoryTheory.DisplayedCats.Isos. Require Import UniMath.CategoryTheory.DisplayedCats.Functors. Require Import UniMath.CategoryTheory.DisplayedCats.Fibrations. Require Import UniMath.CategoryTheory.DisplayedCats.Fiber. Require Import UniMath.CategoryTheory.DisplayedCats.Univalence. Require Import UniMath.CategoryTheory.IndexedCategories.IndexedCategory. Require Import UniMath.CategoryTheory.IndexedCategories.IndexedFunctor. Require Import UniMath.CategoryTheory.IndexedCategories.FibrationToIndexedCategory.