proposition: Proposition all_functor_democratic_laws : democratic_functor_laws all_functor_democratic_data.
proof: Proof. intro Γ. refine (!_). unfold democratic_functor_laws_mor, all_functor_democratic_data. cbn -[comp_cat_functor_extension comp_cat_comp_z_iso comp_cat_extend_over_iso]. etrans. { do 2 apply maponpaths. apply maponpaths_2. apply (maponpaths pr1 (FF_disp_functor_ff_inv (full_comp_cat_comprehension_fully_faithful C₂) _)). } cbn -[comp_cat_extend_over_iso]. etrans. { apply maponpaths. rewrite !assoc. do 4 apply maponpaths_2. exact (z_iso_inv_after_z_iso (comp_cat_functor_extension F [] (is_democratic_ty D₁ Γ))). } rewrite id_left. rewrite !assoc. rewrite <- functor_comp. rewrite z_iso_inv_after_z_iso. rewrite functor_id. rewrite id_left. rewrite !assoc'. refine (_ @ id_right _). apply maponpaths. apply z_iso_after_z_iso_inv. Qed.
imports: UniMath.Foundations.All UniMath.MoreFoundations.All UniMath.CategoryTheory.Core.Prelude UniMath.CategoryTheory.Equivalences.Core UniMath.CategoryTheory.DisplayedCats.Core UniMath.CategoryTheory.DisplayedCats.Isos UniMath.CategoryTheory.DisplayedCats.Univalence UniMath.CategoryTheory.DisplayedCats.Functors UniMath.CategoryTheory.DisplayedCats.Fiber UniMath.CategoryTheory.DisplayedCats.Fibrations UniMath.CategoryTheory.DisplayedCats.Total UniMath.CategoryTheory.DisplayedCats.Codomain UniMath.CategoryTheory.DisplayedCats.FullyFaithfulDispFunctor UniMath.CategoryTheory.Limits.Terminal UniMath.Bicategories.Core.Bicat UniMath.Bicategories.Core.Examples.BicatOfUnivCats UniMath.Bicategories.DisplayedBicats.DispBicat UniMath.Bicategories.DisplayedBicats.DispUnivalence UniMath.Bicategories.DisplayedBicats.Examples.FullSub UniMath.Bicategories.ComprehensionCat.BicatOfCompCat UniMath.Bicategories.ComprehensionCat.CompCatNotations