Proposition hcomp_runitor_lunitor {C : double_cat} (x : C) : id_h_square (identity_v x) ⋆h runitor_h (identity_h x) = id_h_square (identity_v x) ⋆h lunitor_h (identity_h x). Proof. refine (!(square_id_left_v' _) @ _ @ square_id_left_v' _). apply maponpaths. rewrite <- lassociator_rassociator_h'. rewrite !transportf_square_prewhisker. apply maponpaths. refine (!(square_assoc_v' _ _ _) @ _ @ square_assoc_v' _ _ _). do 2 apply maponpaths. rewrite id_h_square_id. refine (_ @ !(double_triangle_alt _ _)). refine (!_). etrans. { apply maponpaths. refine (!_). rewrite <- id_h_square_id. apply runitor_id_id_h. } rewrite runitor_h_triangle. apply idpath. Qed.
Require Import UniMath.MoreFoundations.All. Require Import UniMath.CategoryTheory.Core.Prelude. Require Import UniMath.CategoryTheory.TwoSidedDisplayedCats.TwoSidedDispCat. Require Import UniMath.CategoryTheory.TwoSidedDisplayedCats.Univalence. Require Import UniMath.Bicategories.Core.Bicat. Import Bicat.Notations. Require Import UniMath.Bicategories.DoubleCategories.Core.DoubleCats. Require Import UniMath.Bicategories.DoubleCategories.DerivedLaws.TransportLaws. Require Import UniMath.Bicategories.DoubleCategories.DerivedLaws.Variations. Import TransportSquare.