Proposition r_dwhisker_h_comp_square {B : verity_double_bicat} {x₁ x₂ x₃ y₁ y₂ y₃ : B} {h₁ : x₁ --> x₂} {h₂ : x₂ --> x₃} {k₁ : y₁ --> y₂} {k₂ k₂' : y₂ --> y₃} {v₁ : x₁ -|-> y₁} {v₂ : x₂ -|-> y₂} {v₃ : x₃ -|-> y₃} (τ : k₂ ==> k₂') (s₁ : square_double_bicat h₁ k₁ v₁ v₂) (s₂ : square_double_bicat h₂ k₂ v₂ v₃) : s₁ ⋆h (τ ▿s s₂) = (k₁ ◃ τ) ▿s (s₁ ⋆h s₂). Proof. rewrite lwhisker_hcomp. refine (!_). etrans. { use (hor_bicat_hcomp_h_comp_square B (id2 _) (id2 _) (id2 _) τ). - exact s₁. - exact (τ ▿s s₂). - rewrite dwhisker_square_id, uwhisker_square_id. apply idpath. - rewrite uwhisker_square_id. apply idpath. } rewrite hcomp_identity. rewrite uwhisker_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.Isos. Require Import UniMath.CategoryTheory.TwoSidedDisplayedCats.Univalence. Require Import UniMath.CategoryTheory.TwoSidedDisplayedCats.Discrete. Require Import UniMath.Bicategories.Core.Bicat. Import Bicat.Notations. Require Import UniMath.Bicategories.Core.BicategoryLaws. Require Import UniMath.Bicategories.Core.Unitors. Require Import UniMath.Bicategories.DoubleCategories.DoubleBicat.VerityDoubleBicat.