Proposition is_iso_struct_cospan_associator_mor_eq : is_inverse_in_precat struct_cospan_associator_mor struct_cospan_associator_mor_inv. Proof. split. - use (MorphismsOutofPushoutEqual (isPushout_Pushout (PX _ _ _ _ _))) ; cbn. + rewrite id_right. unfold struct_cospan_associator_mor. rewrite !assoc. rewrite PushoutArrow_PushoutIn1. unfold struct_cospan_associator_mor_inv. rewrite !assoc'. rewrite !PushoutArrow_PushoutIn1. apply idpath. + rewrite id_right. unfold struct_cospan_associator_mor. rewrite !assoc. rewrite PushoutArrow_PushoutIn2. use (MorphismsOutofPushoutEqual (isPushout_Pushout (PX _ _ _ _ _))) ; cbn. * rewrite !assoc. rewrite PushoutArrow_PushoutIn1. unfold struct_cospan_associator_mor_inv. rewrite !assoc'. rewrite !PushoutArrow_PushoutIn1. rewrite !PushoutArrow_PushoutIn2. apply idpath. * rewrite !assoc. rewrite PushoutArrow_PushoutIn2. unfold struct_cospan_associator_mor_inv. rewrite !PushoutArrow_PushoutIn2. apply idpath. - use (MorphismsOutofPushoutEqual (isPushout_Pushout (PX _ _ _ _ _))) ; cbn. + rewrite id_right. unfold struct_cospan_associator_mor_inv. rewrite !assoc. rewrite PushoutArrow_PushoutIn1. use (MorphismsOutofPushoutEqual (isPushout_Pushout (PX _ _ _ _ _))) ; cbn. * rewrite !assoc. rewrite PushoutArrow_PushoutIn1. unfold struct_cospan_associator_mor. rewrite !PushoutArrow_PushoutIn1. apply idpath. * rewrite !assoc. rewrite PushoutArrow_PushoutIn2. unfold struct_cospan_associator_mor. rewrite !assoc'. rewrite PushoutArrow_PushoutIn2. rewrite PushoutArrow_PushoutIn1. apply idpath. + rewrite id_right. unfold struct_cospan_associator_mor_inv. rewrite !assoc. rewrite PushoutArrow_PushoutIn2. unfold struct_cospan_associator_mor. rewrite !assoc'. rewrite !PushoutArrow_PushoutIn2. apply idpath. Qed.
Require Import UniMath.Foundations.All. Require Import UniMath.MoreFoundations.All. Require Import UniMath.CategoryTheory.Core.Prelude. Require Import UniMath.CategoryTheory.Core.Setcategories. Require Import UniMath.CategoryTheory.DisplayedCats.Core. Require Import UniMath.CategoryTheory.DisplayedCats.Constructions. Require Import UniMath.CategoryTheory.DisplayedCats.Isos. Require Import UniMath.CategoryTheory.DisplayedCats.Univalence. Require Import UniMath.CategoryTheory.Limits.Pushouts. 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.Strictness. Require Import UniMath.CategoryTheory.TwoSidedDisplayedCats.Examples.Constant. Require Import UniMath.CategoryTheory.TwoSidedDisplayedCats.Examples.DispCatOnTwoSidedDispCat.