Definition is_cartesian_2cell_invertible : is_cartesian_2cell_sfib f₂ α. Proof. intros h γ δp q. use iscontraprop1. - exact (is_cartesian_2cell_invertible_unique q). - simple refine (_ ,, _ ,, _). + refine (is_cartesian_2cell_sfib_factor _ Hα γ ((h ◃ β) • δp • (_ ◃ Hβ^-1)) _). abstract (rewrite !vassocl ; rewrite <- vcomp_whisker ; rewrite !vassocr ; use vcomp_move_L_Mp ; [ is_iso | ] ; cbn ; rewrite !vassocl ; rewrite vcomp_whisker ; apply maponpaths ; exact q). + abstract (use (vcomp_rcancel (_ ◃ Hβ^-1)) ; [ is_iso | ] ; rewrite vcomp_whisker ; rewrite is_cartesian_2cell_sfib_factor_over ; rewrite !vassocr ; rewrite lwhisker_vcomp ; rewrite vcomp_linv ; rewrite lwhisker_id2 ; rewrite id2_left ; apply idpath). + abstract (cbn ; 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.Functors. Require Import UniMath.Bicategories.Core.Bicat. Import Bicat.Notations. Require Import UniMath.Bicategories.Core.Invertible_2cells. Require Import UniMath.Bicategories.Core.Unitors. Require Import UniMath.Bicategories.Core.BicategoryLaws. Require Import UniMath.Bicategories.Core.EquivToAdjequiv. Require Import UniMath.Bicategories.Morphisms.Adjunctions. Require Import UniMath.Bicategories.Morphisms.FullyFaithful. Require Import UniMath.Bicategories.Morphisms.DiscreteMorphisms. Require Import UniMath.Bicategories.Morphisms.InternalStreetFibration. Section InvertibleFromInternalSFib. End InvertibleFromInternalSFib.