Definition invertible_is_cartesian_2cell_sfib {B : bicat} {e b : B} (p : e --> b) {x : B} {f g : x --> e} (α : f ==> g) (Hα : is_invertible_2cell α) : is_cartesian_2cell_sfib p α. Proof. intros h ζ δp q. use iscontraprop1. - abstract (use invproofirrelevance ; intros φ₁ φ₂ ; use subtypePath ; [ intro ; apply isapropdirprod ; apply cellset_property | ] ; refine (!(id2_right _) @ _ @ id2_right _) ; rewrite <- (vcomp_rinv Hα) ; rewrite !vassocr ; rewrite (pr22 φ₁), (pr22 φ₂) ; apply idpath). - refine (ζ • Hα^-1 ,, _ ,, _). + abstract (rewrite <- rwhisker_vcomp ; use vcomp_move_R_Mp ; [ is_iso | ] ; cbn ; exact q). + abstract (rewrite !vassocl ; rewrite vcomp_linv ; apply id2_right). 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.