proposition: Proposition comp_hor_comp_laws {C₁ C₂ C₃ : category} {D₁ : twosided_disp_cat C₁ C₁} {D₂ : twosided_disp_cat C₂ C₂} {D₃ : twosided_disp_cat C₃ C₃} {Cm₁ : hor_comp D₁} {Cm₂ : hor_comp D₂} {Cm₃ : hor_comp D₃} {F : C₁ ⟶ C₂} {FF : twosided_disp_functor F F D₁ D₂} {G : C₂ ⟶ C₃} {GG : twosided_disp_functor G G D₂ D₃} (HFF : double_functor_hor_comp FF Cm₁ Cm₂) (HGG : double_functor_hor_comp GG Cm₂ Cm₃) : double_functor_hor_comp_laws (comp_hor_comp_data HFF HGG).
proof: Proof. intros x₁ x₂ y₁ y₂ z₁ z₂ v₁ v₂ v₃ h₁ h₂ k₁ k₂ s₁ s₂ ; cbn. etrans. { rewrite two_disp_post_whisker_b. rewrite assoc_two_disp. rewrite transport_b_b_disp_mor2. rewrite functor_double_comp_eq. rewrite two_disp_pre_whisker_b. rewrite transport_b_b_disp_mor2. rewrite assoc_two_disp_alt. unfold transportb_disp_mor2. rewrite transport_f_f_disp_mor2. rewrite twosided_disp_functor_comp_alt. rewrite two_disp_post_whisker_f. rewrite transport_f_f_disp_mor2. rewrite functor_double_comp_eq. rewrite transportb_twosided_disp_functor. rewrite two_disp_post_whisker_b. unfold transportb_disp_mor2. rewrite transport_f_f_disp_mor2. rewrite twosided_disp_functor_comp. rewrite two_disp_post_whisker_b. unfold transportb_disp_mor2. rewrite transport_f_f_disp_mor2. apply idpath. } refine (!_). etrans. { rewrite two_disp_pre_whisker_b. rewrite transport_b_b_disp_mor2. rewrite assoc_two_disp_alt. unfold transportb_disp_mor2. rewrite transport_f_f_disp_mor2. apply idpath. } use transportf_disp_mor2_eq. apply idpath. Qed.
imports: UniMath.Foundations.All UniMath.MoreFoundations.All UniMath.CategoryTheory.Core.Categories UniMath.CategoryTheory.Core.Functors UniMath.CategoryTheory.Core.Isos UniMath.CategoryTheory.TwoSidedDisplayedCats.TwoSidedDispCat UniMath.CategoryTheory.TwoSidedDisplayedCats.Isos UniMath.CategoryTheory.TwoSidedDisplayedCats.DisplayedFunctor UniMath.Bicategories.DoubleCategories.Basics.DoubleCategoryBasics