Lemma LRB_lassociator_rwhisker_on {a b c d e : B} (f0 : hom a b) (g0 : hom b c) (h0 : hom c d) (i0 : hom d e) : LRB_rwhisker (LRB_associator (η (hom a b) f0) (η (hom b c) g0) (η (hom c d) h0)) (η (hom d e) i0) = LRB_lassociator_rwhisker f0 g0 h0 i0 · #(η (hom a e)) (rassociator f0 g0 h0 ▹ i0) · LRB_lassociator_rwhisker' f0 g0 h0 i0. Proof. etrans. { unfold LRB_rwhisker. apply maponpaths. exact (prewhisker_LRB_associator' f0 g0 h0). } unfold LRB_associator_pre_simpl_mor. simpl. unfold functor_fix_snd_arg_mor. unfold LRB_lassociator_rwhisker, LRB_lassociator_rwhisker'. simpl. etrans. { do 2 apply maponpaths. exact (! id_left (id₁ (η (hom d e) i0))). } etrans. { etrans. { apply maponpaths, binprod_comp. } apply (functor_comp (LRB_composition a d e)). } rewrite ! assoc'. apply maponpaths. etrans. { do 2 apply maponpaths. exact (! id_left (id₁ (η (hom d e) i0))). } etrans. { etrans. { apply maponpaths, binprod_comp. } apply (functor_comp (LRB_composition a d e)). } apply maponpaths. etrans. { do 2 apply maponpaths. exact (! id_left (id₁ (η (hom d e) i0))). } etrans. { etrans. { apply maponpaths, binprod_comp. } apply (functor_comp (LRB_composition a d e)). } rewrite ! assoc. etrans. { do 3 apply maponpaths. exact (! id_left (id₁ (η (hom d e) i0))). } etrans. { apply maponpaths. etrans. { apply maponpaths, binprod_comp. } apply (functor_comp (LRB_composition a d e)). } rewrite ! assoc. apply maponpaths_2. etrans. 2: { do 2 apply maponpaths_2. refine (pr21 (LRB_composition_comm a d e) _ _ ((rassociator f0 g0 h0 : (hom _ _)⟦_,_⟧) #, id₁ i0) @ _). apply maponpaths. cbn. apply maponpaths. apply hcomp_identity_right. } apply maponpaths_2. etrans. 2: { rewrite assoc'. apply maponpaths. apply pathsinv0. apply (pr2 (pr2 (LRB_composition_comm a d e) (f0 · (g0 · h0) : hom _ _, i0))). } rewrite id_right. cbn. do 2 apply maponpaths. apply pathsinv0, (functor_id (η (hom d e))). Qed.
Require Import UniMath.Foundations.All. Require Import UniMath.MoreFoundations.All. Require Import UniMath.CategoryTheory.Core.Categories. Require Import UniMath.CategoryTheory.Core.Isos. Require Import UniMath.CategoryTheory.Core.Functors. Require Import UniMath.CategoryTheory.Core.NaturalTransformations. Require Import UniMath.CategoryTheory.Core.Univalence. Require Import UniMath.CategoryTheory.Adjunctions.Core. Require Import UniMath.CategoryTheory.Equivalences.Core. Require Import UniMath.CategoryTheory.Equivalences.CompositesAndInverses. Require Import UniMath.CategoryTheory.PrecompEquivalence. Require Import UniMath.CategoryTheory.PrecategoryBinProduct. Require Import UniMath.CategoryTheory.whiskering. Require Import UniMath.CategoryTheory.RezkCompletions.RezkCompletions. Require Import UniMath.Bicategories.Core.Bicat. Import Bicat.Notations. Require Import UniMath.Bicategories.Core.BicategoryLaws. Require Import UniMath.Bicategories.Core.Invertible_2cells. Require Import UniMath.Bicategories.Core.Examples.BicatOfUnivCats. Require Import UniMath.Bicategories.Core.Univalence. Require Import UniMath.Bicategories.Core.YonedaLemma. Require Import UniMath.Bicategories.PseudoFunctors.Display.PseudoFunctorBicat. Require Import UniMath.Bicategories.PseudoFunctors.PseudoFunctor. Require Import UniMath.Bicategories.PseudoFunctors.Properties. Require Import UniMath.Bicategories.PseudoFunctors.Examples.Composition.