proposition: Proposition cleaving_to_indexed_cat_laws : indexed_cat_laws cleaving_to_indexed_cat_data.
proof: Proof. repeat split. - intros x y f xx ; cbn. use (cartesian_factorisation_unique (HD _ _ _ _)). rewrite !mor_disp_transportf_postwhisker. rewrite !transport_f_f. rewrite id_left_disp. refine (!_). rewrite assoc_disp_var. rewrite transport_f_f. etrans. { do 2 apply maponpaths. etrans. { apply maponpaths_2. apply idtoiso_fiber_category. } apply idtoiso_disp_cartesian_lift. } rewrite mor_disp_transportf_prewhisker. rewrite transport_f_f. rewrite assoc_disp_var. rewrite transport_f_f. rewrite cartesian_factorisation_commutes. unfold transportb. 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. rewrite id_right_disp. unfold transportb. rewrite transport_f_f. apply maponpaths_2. apply homset_property. - intros x y f xx ; cbn. use (cartesian_factorisation_unique (HD _ _ _ _)). rewrite !mor_disp_transportf_postwhisker. rewrite !transport_f_f. rewrite id_left_disp. refine (!_). rewrite assoc_disp_var. rewrite transport_f_f. etrans. { do 2 apply maponpaths. etrans. { apply maponpaths_2. apply idtoiso_fiber_category. } apply idtoiso_disp_cartesian_lift. } rewrite mor_disp_transportf_prewhisker. rewrite transport_f_f. rewrite assoc_disp_var. rewrite transport_f_f. rewrite cartesian_factorisation_commutes. unfold transportb. 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 id_left_disp. unfold transportb. rewrite transport_f_f. apply maponpaths_2. apply homset_property. - intros w x y z f g h ww ; cbn. rewrite mor_disp_transportf_postwhisker. rewrite transport_f_f. use (cartesian_factorisation_unique (HD _ _ _ _)). rewrite assoc_disp_var. rewrite !mor_disp_transportf_postwhisker. rewrite transport_f_f. rewrite assoc_disp_var. rewrite transport_f_f. rewrite assoc_disp_var. rewrite mor_disp_transportf_prewhisker. rewrite transport_f_f. etrans. { do 3 apply maponpaths. etrans. { apply maponpaths_2. apply idtoiso_fiber_category. } apply idtoiso_disp_cartesian_lift. } rewrite !mor_disp_transportf_prewhisker. rewrite transport_f_f. rewrite cartesian_factorisation_commutes. unfold transportb. 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. refine (!_). rewrite assoc_disp_var. 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 assoc_disp. unfold transportb. rewrite transport_f_f. rewrite cartesian_factorisation_commutes. 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. apply maponpaths_2. 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.OppositeCategory.Core UniMath.CategoryTheory.DisplayedCats.Core UniMath.CategoryTheory.DisplayedCats.Isos UniMath.CategoryTheory.DisplayedCats.Fibrations UniMath.CategoryTheory.DisplayedCats.Fiber UniMath.CategoryTheory.DisplayedCats.Univalence UniMath.CategoryTheory.IndexedCategories.IndexedCategory