proposition: Proposition structured_cospans_double_cat_functor_comp_iso_inv_laws : is_inverse_in_precat (struct_cospan_sqr_ob_mor L₂ (lax_double_functor_comp_h structured_cospans_double_cat_functor h k)) structured_cospans_double_cat_functor_comp_iso_inv.
proof: Proof. split ; unfold structured_cospans_double_cat_functor_comp_iso_inv. - use (MorphismsOutofPushoutEqual (isPushout_Pushout (PX₂ _ _ _ _ _))) ; cbn. + rewrite !assoc. rewrite PushoutArrow_PushoutIn1. rewrite id_right. apply (PushoutArrow_PushoutIn1 P). + rewrite !assoc. rewrite PushoutArrow_PushoutIn2. rewrite id_right. apply (PushoutArrow_PushoutIn2 P). - use (MorphismsOutofPushoutEqual (isPushout_Pushout P)) ; cbn. + rewrite !assoc. rewrite (PushoutArrow_PushoutIn1 P). rewrite PushoutArrow_PushoutIn1. rewrite id_right. apply idpath. + rewrite !assoc. rewrite (PushoutArrow_PushoutIn2 P). rewrite PushoutArrow_PushoutIn2. rewrite id_right. apply idpath. Qed.
imports: UniMath.MoreFoundations.All UniMath.CategoryTheory.Core.Categories UniMath.CategoryTheory.Core.Functors UniMath.CategoryTheory.Core.NaturalTransformations UniMath.CategoryTheory.Core.Isos UniMath.CategoryTheory.Core.Univalence UniMath.CategoryTheory.TwoSidedDisplayedCats.TwoSidedDispCat UniMath.CategoryTheory.TwoSidedDisplayedCats.DisplayedFunctor UniMath.CategoryTheory.TwoSidedDisplayedCats.Isos UniMath.CategoryTheory.TwoSidedDisplayedCats.Univalence UniMath.CategoryTheory.TwoSidedDisplayedCats.Examples.StructuredCospans UniMath.CategoryTheory.Limits.Pushouts UniMath.CategoryTheory.Limits.Preservation UniMath.Bicategories.Core.Bicat UniMath.Bicategories.Core.Examples.BicatOfUnivCats UniMath.Bicategories.DoubleCategories.Basics.DoubleCategoryBasics UniMath.Bicategories.DoubleCategories.Core.DoubleFunctor UniMath.Bicategories.DoubleCategories.Core.DoubleCats UniMath.Bicategories.DoubleCategories.Core.UnivalentDoubleCats UniMath.Bicategories.DoubleCategories.Examples.StructuredCospansDoubleCat