Definition discrete_twosided_cartesian {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₂) : UU := ∏ (x₀ : C₁) (y₀ : C₂) (xy₀ : D x₀ y₀) (f' : x₀ --> x₁) (g' : y₀ --> y₁) (fg' : xy₀ -->[ f' · f ][ g' · g ] xy₂), xy₀ -->[ f' ][ g' ] xy₁.
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.