Proposition r_lwhisker_v_comp_square {B : verity_double_bicat} {x₁ x₂ y₁ y₂ z₁ z₂ : B} {h₁ : x₁ --> x₂} {h₂ : y₁ --> y₂} {h₃ : z₁ --> z₂} {v₁ : x₁ -|-> y₁} {v₂ v₂' : y₁ -|-> z₁} {w₁ : x₂ -|-> y₂} {w₂ : y₂ -|-> z₂} (τ : v₂' =|=> v₂) (s₁ : square_double_bicat h₁ h₂ v₁ w₁) (s₂ : square_double_bicat h₂ h₃ v₂ w₂) : s₁ ⋆v (τ ◃s s₂) = (v₁ ◃ τ) ◃s s₁ ⋆v s₂. Proof. rewrite lwhisker_hcomp. refine (!_). etrans. { use (ver_bicat_hcomp_v_comp_square B (id2 v₁) τ (id2 _) (id2 _) s₁). - exact (τ ◃s s₂). - rewrite lwhisker_square_id, rwhisker_square_id. apply idpath. - rewrite rwhisker_square_id. apply idpath. } rewrite hcomp_identity. rewrite rwhisker_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.