Definition discrete_twosided_cartesian_is_cartesian (HD : discrete_twosided_disp_cat D) {x₁ x₂ : C₁} {y₁ y₂ : C₂} {xy₁ : D x₁ y₁} {xy₂ : D x₂ y₂} {f : x₁ --> x₂} {g : y₁ --> y₂} {fg : xy₁ -->[ f ][ g ] xy₂} (Hfg : discrete_twosided_cartesian fg) : twosided_cartesian D fg. Proof. intros x₃ y₃ xy₃ f' g' fg'. use iscontraprop1. - abstract (use invproofirrelevance ; intro ; intros ; use subtypePath ; [ intro ; apply isaset_disp_mor | ] ; apply HD). - simple refine (_ ,, _). + apply Hfg. exact fg'. + apply HD. Defined.
Require Import UniMath.Foundations.All. Require Import UniMath.MoreFoundations.All. Require Import UniMath.CategoryTheory.Core.Categories. Require Import UniMath.CategoryTheory.Core.Functors. Require Import UniMath.CategoryTheory.Core.Isos. Require Import UniMath.CategoryTheory.DisplayedCats.Core. Require Import UniMath.CategoryTheory.TwoSidedDisplayedCats.TwoSidedDispCat. Require Import UniMath.CategoryTheory.TwoSidedDisplayedCats.Isos. Require Import UniMath.CategoryTheory.TwoSidedDisplayedCats.Univalence. Require Import UniMath.CategoryTheory.TwoSidedDisplayedCats.Discrete.