Lemma help_triangle_η : (η₂ ▻ r₁) ▻ l o (rinvunitor r₁ ▻ l o η₁) = (rassociator l r₁ (r₂ ∘ l)) o rassociator (r₁ ∘ l) l r₂ o r₂ ◅ (l ◅ η₁) o lassociator (id₁ X) l r₂ o linvunitor (r₂ ∘ l) o η₂. Proof. rewrite !vassocr. rewrite !(maponpaths (λ z, (z • _) • _) (!(vassocr _ _ _))). rewrite !lwhisker_hcomp, !rwhisker_hcomp. rewrite <- hcomp_lassoc. rewrite !vassocr. rewrite !(maponpaths (λ z, z • _) (!(vassocr _ _ _))). rewrite lassociator_rassociator, id2_right. rewrite !vassocr. use vcomp_move_L_Mp. { is_iso. } cbn. rewrite linvunitor_natural. rewrite <- !vassocr. rewrite <- interchange, id2_left, hcomp_identity, id2_right. rewrite hcomp_lassoc, hcomp_identity. rewrite lunitor_V_id_is_left_unit_V_id. rewrite !vassocr. rewrite !(maponpaths (λ z, z • _) (!(vassocr _ _ _))). rewrite <- lwhisker_hcomp. rewrite <- left_unit_inv_assoc₂. rewrite rinvunitor_natural. rewrite <- !vassocr. apply maponpaths. rewrite <- interchange. rewrite !id2_right. apply (maponpaths (fun z => (z ⋆⋆ _))), id2_left. Qed.
Require Import UniMath.Foundations.All. Require Import UniMath.MoreFoundations.All. Require Import UniMath.CategoryTheory.Core.Categories. Require Import UniMath.Bicategories.Core.Bicat. Import Bicat.Notations. Require Import UniMath.Bicategories.Core.Unitors. Require Import UniMath.Bicategories.Morphisms.Adjunctions. Require Import UniMath.Bicategories.Core.Invertible_2cells. Require Import UniMath.Bicategories.Core.BicategoryLaws. Require Import UniMath.Bicategories.Core.Univalence. Require Import UniMath.Bicategories.Core.TransportLaws. Require Import UniMath.Bicategories.Core.EquivToAdjequiv.