Proposition post_whisker_twosided_disp_nat_trans_hor_id {C₁ C₂ C₃ : category} {F F' : C₁ ⟶ C₂} {G : C₂ ⟶ C₃} {τ : F ⟹ F'} {D₁ : twosided_disp_cat C₁ C₁} {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₂} {GG : twosided_disp_functor G G D₂ D₃} {ττ : twosided_disp_nat_trans τ τ FF FF'} {I₁ : hor_id D₁} {I₂ : hor_id D₂} {I₃ : hor_id D₃} {FFI : double_functor_hor_id FF I₁ I₂} {FFI' : double_functor_hor_id FF' I₁ I₂} (GGI : double_functor_hor_id GG I₂ I₃) (ττI : double_nat_trans_hor_id ττ FFI FFI') : double_nat_trans_hor_id (post_whisker_twosided_disp_nat_trans GG ττ) (comp_hor_id FFI GGI) (comp_hor_id FFI' GGI). Proof. intros x ; cbn. etrans. { rewrite two_disp_pre_whisker_f. rewrite assoc_two_disp_alt. 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 (ττI x). 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. rewrite assoc_two_disp. unfold transportb_disp_mor2. rewrite transport_f_f_disp_mor2. apply idpath. } refine (!_). etrans. { unfold transportb. rewrite two_disp_post_whisker_f. unfold transportb_disp_mor2. rewrite transport_f_f_disp_mor2. rewrite assoc_two_disp. unfold transportb_disp_mor2. rewrite transport_f_f_disp_mor2. etrans. { apply maponpaths. apply maponpaths_2. exact (functor_double_id_eq GGI (τ x)). } rewrite two_disp_pre_whisker_b. unfold transportb_disp_mor2. rewrite transport_f_f_disp_mor2. apply idpath. } 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.