Lemma assoc_step_3 p q : linvunitor_h _ ⋆h id_v_square _ ⋆v ((s₁ ⋆h s₂) ⋆h s₃ ⋆v lunitor_h _ ⋆h id_v_square _) = transportf_square p q (id_v_square _ ⋆h linvunitor_h _ ⋆v (lassociator_h _ _ _ ⋆v ((s₁ ⋆h s₂) ⋆h s₃ ⋆v (rassociator_h _ _ _ ⋆v id_v_square _ ⋆h lunitor_h _)))). Proof. refine (!_). etrans. { do 4 apply maponpaths. apply double_triangle_alt. } unfold transportb_square. rewrite !transportf_square_postwhisker. rewrite transportf_f_square. rewrite runitor_h_lunitor_h. rewrite !square_assoc_v. unfold transportb_square. rewrite !transportf_f_square. rewrite double_triangle_alt_inv. unfold transportb_square. rewrite !transportf_square_prewhisker. rewrite !transportf_f_square. use transportf_square_eq. rewrite linvunitor_h_rinvunitor_h. apply idpath. Qed.
Require Import UniMath.MoreFoundations.All. Require Import UniMath.CategoryTheory.Core.Prelude. Require Import UniMath.CategoryTheory.Core.Setcategories. Require Import UniMath.CategoryTheory.Core.TwoCategories. Require Import UniMath.CategoryTheory.Monads.Monads. Require Import UniMath.CategoryTheory.TwoSidedDisplayedCats.TwoSidedDispCat. Require Import UniMath.CategoryTheory.TwoSidedDisplayedCats.Isos. Require Import UniMath.CategoryTheory.TwoSidedDisplayedCats.Univalence. Require Import UniMath.CategoryTheory.TwoSidedDisplayedCats.Strictness. Require Import UniMath.CategoryTheory.TwoSidedDisplayedCats.Examples.Comma. Require Import UniMath.Bicategories.Core.Bicat. Import Bicat.Notations. Require Import UniMath.Bicategories.Core.Examples.BicatOfUnivCats. Require Import UniMath.Bicategories.DoubleCategories.Basics.DoubleCategoryBasics. Require Import UniMath.Bicategories.DoubleCategories.Core.DoubleCats. Require Import UniMath.Bicategories.DoubleCategories.Core.UnivalentDoubleCats. Require Import UniMath.Bicategories.DoubleCategories.Core.PseudoDoubleSetCats. Require Import UniMath.Bicategories.DoubleCategories.DerivedLaws. Import TransportSquare.