Definition is_cartesian_eq {B : bicat} {e b : B} {p : e --> b} {x : B} {f g : x --> e} (α : f ==> g) {β : f ==> g} (q : α = β) (Hα : is_cartesian_2cell_sfib p α) : is_cartesian_2cell_sfib p β. Proof. intros h ζ δp r. use iscontraprop1. - abstract (use invproofirrelevance ; intros φ₁ φ₂ ; use subtypePath ; [ intro ; apply isapropdirprod ; apply cellset_property | ] ; induction q ; exact (is_cartesian_2cell_sfib_factor_unique _ Hα h ζ δp r _ _ (pr12 φ₁) (pr12 φ₂) (pr22 φ₁) (pr22 φ₂))). - simple refine (_ ,, _). + refine (is_cartesian_2cell_sfib_factor _ Hα ζ δp _). abstract (rewrite q, r ; apply idpath). + split. * apply is_cartesian_2cell_sfib_factor_over. * abstract (refine (maponpaths (λ z, _ • z) (!q) @ _) ; apply is_cartesian_2cell_sfib_factor_comm). Defined.
Require Import UniMath.Foundations.All. Require Import UniMath.MoreFoundations.All. Require Import UniMath.CategoryTheory.Core.Categories. Require Import UniMath.CategoryTheory.Core.Isos. Require Import UniMath.CategoryTheory.DisplayedCats.StreetFibration. Require Import UniMath.Bicategories.Core.Bicat. Import Bicat.Notations. Require Import UniMath.Bicategories.Core.Invertible_2cells. Require Import UniMath.Bicategories.Core.Univalence.