Lemma disp_actionbicat_disp_comp_triangle {a0 a1 a2 : B} {g1 : B ⟦ a0, a1 ⟧} {g2 : B ⟦ a1, a2 ⟧} {FA : V ⟶ category_from_bicat_and_ob a0} {FAm : fmonoidal Mon_V (monoidal_from_bicat_and_ob a0) FA} {FA' : V ⟶ category_from_bicat_and_ob a1} {FA'm : fmonoidal Mon_V (monoidal_from_bicat_and_ob a1) FA'} {FA'' : V ⟶ category_from_bicat_and_ob a2} {FA''m : fmonoidal Mon_V (monoidal_from_bicat_and_ob a2) FA''} (Hyp1 : disp_actionbicat_disp_mor FAm FA'm g1) (Hyp2 : disp_actionbicat_disp_mor FA'm FA''m g2): param_distr_bicat_triangle_eq Mon_V FAm FA''m (g1 · g2) (disp_actionbicat_disp_comp_nat_trans Hyp1 Hyp2). Proof. red; cbn. unfold disp_actionbicat_disp_comp_nat_trans_data. assert (aux1 := pr12 Hyp1). assert (aux2 := pr12 Hyp2). apply param_distr_bicat_triangle_eq_variant0_follows in aux1. apply param_distr_bicat_triangle_eq_variant0_follows in aux2. red in aux1, aux2; cbn in aux1, aux2. rewrite aux1, aux2. clear Hyp1 Hyp2 aux1 aux2. unfold param_distr_bicat_triangle_eq_variant0_RHS. repeat rewrite <- lwhisker_vcomp. repeat rewrite <- rwhisker_vcomp. etrans. { repeat rewrite lassocr. apply maponpaths. repeat rewrite vassocr. rewrite lwhisker_lwhisker_rassociator. apply idpath. } etrans. { repeat rewrite vassocr. do 10 apply maponpaths_2. rewrite lwhisker_vcomp. apply maponpaths. apply (z_iso_inv_after_z_iso (_,,fmonoidal_preservesunitstrongly FA''m)). } cbn. rewrite lwhisker_id2. rewrite id2_left. etrans. { repeat rewrite vassocl. do 3 apply maponpaths. repeat rewrite vassocr. do 5 apply maponpaths_2. apply rwhisker_lwhisker. } etrans. { repeat rewrite vassocr. do 4 apply maponpaths_2. repeat rewrite vassocl. do 4 apply maponpaths. rewrite rwhisker_vcomp. rewrite lwhisker_vcomp. do 2 apply maponpaths. apply (z_iso_inv_after_z_iso (_,,fmonoidal_preservesunitstrongly FA'm)). } cbn. rewrite lwhisker_id2. rewrite id2_rwhisker. rewrite id2_right. etrans. { repeat rewrite vassocl. rewrite rwhisker_rwhisker_alt. apply idpath. } repeat rewrite vassocr. apply maponpaths_2. rewrite <- runitor_triangle. apply (rhs_right_inv_cell _ _ _ (is_invertible_2cell_lunitor _)). rewrite <- lunitor_triangle. repeat rewrite vassocr. etrans. { apply maponpaths_2. repeat rewrite vassocl. rewrite rassociator_lassociator. rewrite id2_right. apply idpath. } etrans. { repeat rewrite vassocl. rewrite rwhisker_vcomp. rewrite linvunitor_lunitor. rewrite id2_rwhisker. rewrite id2_right. apply idpath. } etrans. 2: { apply id2_right. } repeat rewrite vassocl. do 2 apply maponpaths. rewrite runitor_rwhisker. rewrite lwhisker_vcomp. rewrite linvunitor_lunitor. apply lwhisker_id2. 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.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.Bicategories.MonoidalCategories.EndofunctorsWhiskeredMonoidal. Require Import UniMath.Bicategories.MonoidalCategories.WhiskeredMonoidalFromBicategory. Require Import UniMath.Bicategories.MonoidalCategories.ActionBasedStrongFunctorsWhiskeredMonoidal. Require Import UniMath.Bicategories.Core.Bicat. Require Import UniMath.Bicategories.Core.BicategoryLaws. Require Import UniMath.Bicategories.Core.Unitors. Require Import UniMath.Bicategories.DisplayedBicats.DispBicat. Require Import UniMath.Bicategories.Core.Invertible_2cells. Import Bicat.Notations. Import BifunctorNotations. Import DisplayedBifunctorNotations.