Lemma montrafotargetbicat_disp_rightunitor_data: disp_rightunitor_data montrafotargetbicat_disp_tensor montrafotargetbicat_disp_unit. Proof. hnf. intros v η. 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. do 3 rewrite <- lwhisker_vcomp. repeat rewrite <- vassocr. match goal with | [ |- ?Hl1 • (_ • (?Hl2 • (_ • (?Hl3 • (_ • (_ • (?Hl4 • (_ • (?Hl5 • ?Hl6))))))))) = ?Hr1 • _] => set (l1 := Hl1); set (l2 := Hl2); set (l3 := Hl3); set (l4 := Hl4); set (l5 := Hl5); set (l6 := Hl6); set (r1 := Hr1) end. change (H v ==> H' v) in η. set (l1iso := lwhisker_with_μ_inv_inv2cell v I_{Mon_V}). apply (lhs_left_invert_cell _ _ _ l1iso). cbn. clear l1 l1iso. apply (lhs_left_invert_cell _ _ _ (is_invertible_2cell_lassociator _ _ _)). cbn. etrans. 2: { apply maponpaths. rewrite vassocr. apply maponpaths_2. unfold r1. rewrite lwhisker_vcomp. apply maponpaths. assert (lax_monoidal_functor_unital_inst := fmonoidal_preservesrightunitality FA'm v). cbn in lax_monoidal_functor_unital_inst. apply pathsinv0 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. clear r1. 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. } rewrite <- vcomp_runitor. etrans. 2: { rewrite vassocr. apply maponpaths_2. apply hcomp_hcomp'. } unfold hcomp. etrans. 2: { repeat rewrite <- vassocr. apply idpath. } apply maponpaths. clear l2. etrans. { repeat rewrite vassocr. do 6 apply maponpaths_2. apply lwhisker_lwhisker_rassociator. } repeat rewrite <- vassocr. apply maponpaths. clear l3. cbn. etrans. { repeat rewrite vassocr. do 5 apply maponpaths_2. apply runitor_triangle. } etrans. 2: { apply id2_right. } repeat rewrite <- vassocr. apply maponpaths. etrans. { apply maponpaths. rewrite vassocr. apply maponpaths_2. apply rwhisker_lwhisker. } cbn. clear l4. etrans. { apply maponpaths. rewrite <- vassocr. apply maponpaths. unfold l5, l6. do 2 rewrite rwhisker_vcomp. apply maponpaths. assert (lax_monoidal_functor_unital_inst := fmonoidal_preservesrightunitality FAm v). cbn in lax_monoidal_functor_unital_inst. apply pathsinv0. rewrite vassocr. apply pathsinv0. exact lax_monoidal_functor_unital_inst. } clear l5 l6. set (auxiso := lwhisker_with_linvunitor_inv2cell v). apply (lhs_left_invert_cell _ _ _ auxiso). cbn. rewrite id2_right. clear auxiso. apply runitor_rwhisker. Qed.
Require Import UniMath.Foundations.PartD. Require Import UniMath.MoreFoundations.All. Require Import UniMath.CategoryTheory.Core.Categories. Require Import UniMath.CategoryTheory.Core.Functors. Require Import UniMath.CategoryTheory.Core.Isos. Require Import UniMath.CategoryTheory.Core.NaturalTransformations. Require Import UniMath.CategoryTheory.FunctorCategory. Require Import UniMath.CategoryTheory.whiskering. Require Import UniMath.CategoryTheory.Categories.Dialgebras. Require Import UniMath.CategoryTheory.DisplayedCats.Core. Require Import UniMath.CategoryTheory.DisplayedCats.Total. Require Import UniMath.CategoryTheory.DisplayedCats.Constructions. Require Import UniMath.CategoryTheory.Monoidal.Categories. Require Import UniMath.CategoryTheory.Monoidal.WhiskeredBifunctors. Require Import UniMath.CategoryTheory.Monoidal.Functors. Require Import UniMath.CategoryTheory.Monoidal.Displayed.WhiskeredDisplayedBifunctors. Require Import UniMath.CategoryTheory.Monoidal.Displayed.Monoidal. Require Import UniMath.CategoryTheory.Monoidal.Displayed.TotalMonoidal. Require Import UniMath.CategoryTheory.Monoidal.Displayed.MonoidalSections. Require Import UniMath.Bicategories.MonoidalCategories.EndofunctorsWhiskeredMonoidal. Require Import UniMath.Bicategories.MonoidalCategories.Actions. Require Import UniMath.Bicategories.MonoidalCategories.ActionBasedStrength. Require Import UniMath.Bicategories.MonoidalCategories.WhiskeredMonoidalFromBicategory. Require Import UniMath.Bicategories.Core.Bicat. Require Import UniMath.Bicategories.Core.BicategoryLaws. Require Import UniMath.Bicategories.Core.Unitors. Require Import UniMath.Bicategories.Core.Invertible_2cells. Require Import UniMath.Bicategories.Core.Examples.BicatOfCats. Import Bicat.Notations. Import BifunctorNotations. Import DisplayedBifunctorNotations. Import MonoidalNotations. Section FromMonoidalSectionBicat. End FromMonoidalSectionBicat. Section FromMonoidalSection. End FromMonoidalSection.