Proposition is_double_coalg_sqr_inv_sqr : is_double_coalg_sqr (sqr_of_double_coalg_hor h₂) (sqr_of_double_coalg_hor h₁) (identity _) (identity _) s'. Proof. cbn. etrans. { apply maponpaths. refine (!_). apply square_id_left_v'. } rewrite transportf_f_square. etrans. { apply maponpaths. apply maponpaths_2. refine (_ @ !(maponpaths (transportf_square (id_left _) (id_left _)) q)). rewrite transportfb_square. apply idpath. } rewrite transportf_square_prewhisker. rewrite transportf_f_square. etrans. { apply maponpaths. refine (!_). apply (square_assoc_v' (C := C)). } unfold transportb_square. rewrite transportf_f_square. etrans. { do 2 apply maponpaths. apply (square_assoc_v (C := C)). } unfold transportb_square. rewrite transportf_square_postwhisker. rewrite transportf_f_square. etrans. { do 2 apply maponpaths. apply maponpaths_2. exact (!(eq_of_double_coalg_sqr s)). } rewrite transportf_square_prewhisker. rewrite transportf_square_postwhisker. rewrite transportf_f_square. etrans. { do 2 apply maponpaths. refine (!_). apply square_assoc_v'. } rewrite transportf_square_postwhisker. rewrite transportf_f_square. etrans. { do 3 apply maponpaths. apply lax_double_functor_comp_v_square'. } rewrite !transportf_square_postwhisker. rewrite transportf_f_square. etrans. { do 4 apply maponpaths. exact p. } rewrite lax_double_functor_transportb_square. unfold transportb_square. rewrite !transportf_square_postwhisker. rewrite transportf_f_square. etrans. { do 3 apply maponpaths. apply lax_double_functor_id_square. } unfold transportb_square. rewrite !transportf_square_postwhisker. rewrite transportf_f_square. rewrite square_id_right_v. unfold transportb_square. rewrite transportf_square_postwhisker. rewrite transportf_f_square. apply transportf_square_id. Qed.
Require Import UniMath.MoreFoundations.All. Require Import UniMath.CategoryTheory.Core.Categories. Require Import UniMath.CategoryTheory.Core.Functors. Require Import UniMath.CategoryTheory.Core.NaturalTransformations. Require Import UniMath.CategoryTheory.Core.Isos. Require Import UniMath.CategoryTheory.Core.Univalence. Require Import UniMath.CategoryTheory.FunctorCoalgebras. Require Import UniMath.CategoryTheory.DisplayedCats.Core. Require Import UniMath.CategoryTheory.DisplayedCats.Isos. Require Import UniMath.CategoryTheory.DisplayedCats.Total. Require Import UniMath.CategoryTheory.DisplayedCats.Univalence. Require Import UniMath.CategoryTheory.TwoSidedDisplayedCats.TwoSidedDispCat. Require Import UniMath.CategoryTheory.TwoSidedDisplayedCats.DisplayedFunctor. Require Import UniMath.CategoryTheory.TwoSidedDisplayedCats.Isos. Require Import UniMath.CategoryTheory.TwoSidedDisplayedCats.Univalence. Require Import UniMath.CategoryTheory.TwoSidedDisplayedCats.Total. Require Import UniMath.CategoryTheory.TwoSidedDisplayedCats.Examples.DispCatOnTwoSidedDispCat. Require Import UniMath.CategoryTheory.TwoSidedDisplayedCats.Examples.TwoSidedDispCatOnDispCat. Require Import UniMath.Bicategories.Core.Bicat. Import Bicat.Notations. Require Import UniMath.Bicategories.DoubleCategories.Basics.DoubleCategoryBasics. Require Import UniMath.Bicategories.DoubleCategories.Core.DoubleFunctor. Require Import UniMath.Bicategories.DoubleCategories.Core.DoubleCats. Require Import UniMath.Bicategories.DoubleCategories.Core.UnivalentDoubleCats. Require Import UniMath.Bicategories.DoubleCategories.DerivedLaws. Import TransportSquare.