proposition: Lemma montrafotargetbicat_right_unitor_aux2 (vη : montrafotargetbicat_cat): pr2 (functor_identity montrafotargetbicat_cat vη) -->[pr1 (pr2 (monoidal_cat_right_unitor Mon_V) (pr1 vη))] pr2 (I_posttensor montrafotargetbicat_tensor montrafotargetbicat_unit vη).
proof: Proof. unfold mor_disp. unfold trafotargetbicat_disp. hnf. induction vη as [v η]. etrans. { apply maponpaths_2. cbn. apply idpath. } apply pathsinv0. cbn. unfold param_distr_bicat_pentagon_eq_body_variant_RHS, montrafotargetbicat_disp_unit, param_distr_bicat_triangle_eq_variant0_RHS, param_distr_bicat_pentagon_eq_body_RHS. rewrite hcomp_identity_left. rewrite hcomp_identity_right. do 3 rewrite <- lwhisker_vcomp. repeat rewrite <- vassocr. match goal with | [ |- ?Hl1 • (?Hl2 • (_ • (?Hl3 • (_ • (?Hl4 • (_ • (_ • (?Hl5 • (_ • ?Hl6))))))))) = _ • ?Hr2] => set (l1 := Hl1); set (l2 := Hl2); set (l3 := Hl3); set (l4 := Hl4); set (l5 := Hl5); set (l6 := Hl6); set (r2 := Hr2) end. change (H v ==> H' v) in η. set (l1iso := lwhisker_with_invrunitor_inv2cell v). apply (lhs_left_invert_cell _ _ _ l1iso). cbn. clear l1 l1iso. set (l2iso := lwhisker_with_μ_inv_inv2cell v I). apply (lhs_left_invert_cell _ _ _ l2iso). cbn. clear l2 l2iso. apply (lhs_left_invert_cell _ _ _ (is_invertible_2cell_lassociator _ _ _)). cbn. etrans. 2: { repeat rewrite <- vassocr. apply maponpaths. rewrite vassocr. apply maponpaths_2. rewrite lwhisker_vcomp. apply maponpaths. assert (lax_monoidal_functor_unital_inst := pr2 (lax_monoidal_functor_unital FA' v)). cbn in lax_monoidal_functor_unital_inst. rewrite hcomp_identity_left in lax_monoidal_functor_unital_inst. set (aux1iso := lwhisker_with_ϵ_inv2cell v). rewrite <- vassocr in lax_monoidal_functor_unital_inst. apply pathsinv0 in lax_monoidal_functor_unital_inst. apply (rhs_left_inv_cell _ _ _ aux1iso) in lax_monoidal_functor_unital_inst. unfold inv_cell in lax_monoidal_functor_unital_inst. apply pathsinv0. exact lax_monoidal_functor_unital_inst. } cbn. etrans. 2: { rewrite vassocr. apply maponpaths_2. rewrite <- lwhisker_vcomp. rewrite vassocr. apply maponpaths_2. apply pathsinv0. apply lwhisker_lwhisker_rassociator. } etrans. 2: { repeat rewrite <- vassocr. apply maponpaths. rewrite vassocr. apply maponpaths_2. apply pathsinv0, runitor_triangle. } etrans. 2: { apply maponpaths. rewrite vassocr. rewrite <- vcomp_runitor. apply idpath. } etrans. 2: { rewrite vassocr. apply maponpaths_2. rewrite vassocr. apply maponpaths_2. apply hcomp_hcomp'. } unfold hcomp. etrans. 2: { repeat rewrite <- vassocr. apply idpath. } apply maponpaths. clear l3. etrans. { repeat rewrite vassocr. do 5 apply maponpaths_2. apply lwhisker_lwhisker_rassociator. } repeat rewrite <- vassocr. apply maponpaths. clear l4. cbn. etrans. { repeat rewrite vassocr. do 4 apply maponpaths_2. apply runitor_triangle. } set (r2iso := rwhisker_with_invrunitor_inv2cell v). apply pathsinv0, (lhs_right_invert_cell _ _ _ r2iso), pathsinv0. cbn. clear r2 r2iso. etrans. 2: { apply id2_right. } repeat rewrite <- vassocr. apply maponpaths. etrans. { apply maponpaths. rewrite vassocr. apply maponpaths_2. apply rwhisker_lwhisker. } cbn. clear l5. etrans. { apply maponpaths. rewrite <- vassocr. apply maponpaths. unfold l6. do 2 rewrite rwhisker_vcomp. apply maponpaths. assert (lax_monoidal_functor_unital_inst := pr2 (lax_monoidal_functor_unital FA v)). cbn in lax_monoidal_functor_unital_inst. rewrite hcomp_identity_left in lax_monoidal_functor_unital_inst. rewrite vassocr. apply pathsinv0. exact lax_monoidal_functor_unital_inst. } clear l6. set (auxiso := lwhisker_with_linvunitor_inv2cell v). apply (lhs_left_invert_cell _ _ _ auxiso). cbn. rewrite id2_right. clear auxiso. apply runitor_rwhisker. Qed.
imports: UniMath.Foundations.PartD UniMath.MoreFoundations.All UniMath.CategoryTheory.Core.Categories UniMath.CategoryTheory.Core.Functors UniMath.CategoryTheory.Core.Isos UniMath.CategoryTheory.Core.NaturalTransformations UniMath.CategoryTheory.PrecategoryBinProduct UniMath.CategoryTheory.FunctorCategory UniMath.CategoryTheory.whiskering UniMath.CategoryTheory.HorizontalComposition UniMath.CategoryTheory.DisplayedCats.Core UniMath.CategoryTheory.DisplayedCats.Total UniMath.CategoryTheory.DisplayedCats.Constructions UniMath.CategoryTheory.Monoidal.AlternativeDefinitions.MonoidalCategoriesTensored UniMath.CategoryTheory.Monoidal.AlternativeDefinitions.MonoidalFunctorsTensored UniMath.CategoryTheory.Monoidal.AlternativeDefinitions.DisplayedMonoidalTensored UniMath.Bicategories.MonoidalCategories.EndofunctorsMonoidal UniMath.Bicategories.MonoidalCategories.Actions UniMath.Bicategories.MonoidalCategories.ActionBasedStrength UniMath.Bicategories.MonoidalCategories.MonoidalFromBicategory UniMath.Bicategories.Core.Bicat UniMath.Bicategories.Core.BicategoryLaws UniMath.Bicategories.Core.Unitors UniMath.Bicategories.Core.Invertible_2cells UniMath.Bicategories.Core.Examples.BicatOfCats