Proposition hcomp_split_globular_r {C : double_cat} {x y z : C} {w : x -->v x} {u₁ u₂ : y -->v y} {v₁ v₂ : z -->v z} (p₁ : identity_v y = u₁) (p₂ : identity_v y = u₂) {h₁ h₂ h₃ : y -->h z} {k₁ k₂ : x -->h y} (s₁ : square u₁ v₁ h₁ h₂) (s₂ : square u₂ v₂ h₂ h₃) (s₃ : square w (u₁ ·v u₂) k₁ k₂) : s₃ ⋆h (s₁ ⋆v s₂) = transportf_square (id_v_right _) (idpath _) ((s₃ ⋆h transportf_square (hcomp_split_globular_r_path p₁ p₂) (idpath _) s₁) ⋆v (id_v_square _ ⋆h transportf_square (!p₂) (idpath _) s₂)). Proof. induction p₁, p₂. rewrite <- comp_h_square_comp. rewrite transportf_square_postwhisker. rewrite transportf_square_prewhisker. rewrite transportf_f_square. rewrite square_id_right_v. unfold transportb_square. rewrite transportf_hcomp_l. rewrite !transportf_f_square. rewrite !transportf_square_id. apply idpath. Qed.
Require Import UniMath.MoreFoundations.All. Require Import UniMath.CategoryTheory.Core.Prelude. Require Import UniMath.CategoryTheory.TwoSidedDisplayedCats.TwoSidedDispCat. Require Import UniMath.CategoryTheory.TwoSidedDisplayedCats.Univalence. Require Import UniMath.Bicategories.Core.Bicat. Import Bicat.Notations. Require Import UniMath.Bicategories.DoubleCategories.Core.DoubleCats. Require Import UniMath.Bicategories.DoubleCategories.DerivedLaws.TransportLaws. Require Import UniMath.Bicategories.DoubleCategories.DerivedLaws.Variations. Import TransportSquare.