Proposition comp_twosided_disp_nat_trans_hor_id {C₁ C₂ : category} {F F' F'' : C₁ ⟶ C₂} {τ : F ⟹ F'} {τ' : F' ⟹ F''} {D : twosided_disp_cat C₁ C₁} {D' : twosided_disp_cat C₂ C₂} {FF : twosided_disp_functor F F D D'} {FF' : twosided_disp_functor F' F' D D'} {FF'' : twosided_disp_functor F'' F'' D D'} {ττ : twosided_disp_nat_trans τ τ FF FF'} {ττ' : twosided_disp_nat_trans τ' τ' FF' FF''} {I : hor_id D} {I' : hor_id D'} {FFI : double_functor_hor_id FF I I'} {FFI' : double_functor_hor_id FF' I I'} {FFI'' : double_functor_hor_id FF'' I I'} (ττI : double_nat_trans_hor_id ττ FFI FFI') (ττI' : double_nat_trans_hor_id ττ' FFI' FFI'') : double_nat_trans_hor_id (comp_twosided_disp_nat_trans ττ ττ') FFI FFI''. Proof. intros x ; cbn. etrans. { rewrite assoc_two_disp. rewrite (ττI x). 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 (ττI' x). rewrite two_disp_post_whisker_b. unfold transportb_disp_mor2. rewrite transport_f_f_disp_mor2. rewrite assoc_two_disp. unfold transportb_disp_mor2. rewrite transport_f_f_disp_mor2. apply idpath. } refine (!_). rewrite double_id_mor_id_comp. use transportf_disp_mor2_eq. apply idpath. Qed.
Require Import UniMath.MoreFoundations.All. Require Import UniMath.CategoryTheory.Core.Categories. Require Import UniMath.CategoryTheory.Core.Functors. Require Import UniMath.CategoryTheory.Core.NaturalTransformations. Require Import UniMath.CategoryTheory.Core.Isos. Require Import UniMath.CategoryTheory.TwoSidedDisplayedCats.TwoSidedDispCat. Require Import UniMath.CategoryTheory.TwoSidedDisplayedCats.Isos. Require Import UniMath.CategoryTheory.TwoSidedDisplayedCats.DisplayedFunctor. Require Import UniMath.CategoryTheory.TwoSidedDisplayedCats.DisplayedNatTrans. Require Import UniMath.Bicategories.DoubleCategories.Basics.DoubleCategoryBasics. Require Import UniMath.Bicategories.DoubleCategories.Core.DoubleFunctor.