proposition: Proposition locally_groupoid_duality_involution_triangle_law {x y : B} (f : x --> y) : (id₂ (id₁ x) ▹ f) • id₂ (id₁ x · f) = (((lunitor f • rinvunitor f) • (f ◃ id₂ (id₁ y))) • id₂ (f · id₁ y)) • (inv_B x y (id₁ x · f) (f · id₁ y) (lunitor f • rinvunitor f))^-1.
proof: Proof. rewrite id2_rwhisker, lwhisker_id2. rewrite !id2_left, !id2_right. use vcomp_move_L_pM ; [ is_iso | ]. cbn. rewrite id2_right. refine (_ @ id2_right _). use vcomp_move_L_pM ; [ is_iso | ]. cbn. rewrite !vassocl. etrans. { apply maponpaths. rewrite !vassocr. rewrite rinvunitor_runitor. apply id2_left. } apply lunitor_linvunitor. Qed.
imports: UniMath.Foundations.All UniMath.MoreFoundations.All UniMath.CategoryTheory.Core.Categories UniMath.CategoryTheory.Core.Functors UniMath.Bicategories.Core.Bicat UniMath.Bicategories.Core.Invertible_2cells UniMath.Bicategories.Core.Unitors UniMath.Bicategories.Core.BicategoryLaws UniMath.Bicategories.Core.Examples.OneTypes UniMath.Bicategories.Morphisms.Adjunctions UniMath.Bicategories.Core.EquivToAdjequiv UniMath.Bicategories.Core.Examples.OpCellBicat UniMath.Bicategories.Limits.Products UniMath.Bicategories.Limits.Examples.OneTypesLimits UniMath.Bicategories.PseudoFunctors.Display.PseudoFunctorBicat UniMath.Bicategories.PseudoFunctors.PseudoFunctor UniMath.Bicategories.PseudoFunctors.Examples.Identity UniMath.Bicategories.PseudoFunctors.Examples.Composition UniMath.Bicategories.PseudoFunctors.Examples.Op2OfPseudoFunctor UniMath.Bicategories.PseudoFunctors.Examples.ConstProduct UniMath.Bicategories.Transformations.PseudoTransformation UniMath.Bicategories.Modifications.Modification UniMath.Bicategories.OtherStructure.DualityInvolution UniMath.Bicategories.OtherStructure.Exponentials