proposition: 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: 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.
imports: UniMath.Foundations.All UniMath.MoreFoundations.All UniMath.CategoryTheory.Core.Categories UniMath.Bicategories.Core.Bicat UniMath.Bicategories.Core.Unitors UniMath.Bicategories.Morphisms.Adjunctions UniMath.Bicategories.Core.Invertible_2cells UniMath.Bicategories.Core.BicategoryLaws UniMath.Bicategories.Core.Univalence UniMath.Bicategories.Core.TransportLaws UniMath.Bicategories.Core.EquivToAdjequiv