Definition invertible_is_eso_essentially_surjective : is_eso_essentially_surjective e₂. Proof. intros c₁ c₂ m Hm g₁ g₂ γ. pose (αinv := make_invertible_2cell Hα). pose (γhelp := comp_of_invertible_2cell γ (rwhisker_of_invertible_2cell _ (inv_of_invertible_2cell αinv))). simple refine (_ ,, _ ,, _ ,, _). - exact (is_eso_lift_1 _ He Hm g₁ g₂ γhelp). - exact (comp_of_invertible_2cell (rwhisker_of_invertible_2cell _ (inv_of_invertible_2cell αinv)) (is_eso_lift_1_comm_left _ He Hm g₁ g₂ γhelp)). - exact (is_eso_lift_1_comm_right _ He Hm g₁ g₂ γhelp). - abstract (cbn -[is_eso_lift_1_comm_left is_eso_lift_1_comm_right] ; pose (is_eso_lift_1_eq _ He Hm g₁ g₂ γhelp) as p ; cbn -[is_eso_lift_1_comm_left is_eso_lift_1_comm_right] in p ; use (vcomp_rcancel (Hα^-1 ▹ _)) ; [ is_iso | ] ; rewrite <- !rwhisker_vcomp ; rewrite !vassocl ; rewrite p ; rewrite !vassocr ; rewrite rwhisker_rwhisker_alt ; rewrite !vassocl ; rewrite vcomp_whisker ; apply idpath). Defined.
Require Import UniMath.Foundations.All. Require Import UniMath.MoreFoundations.All. Require Import UniMath.CategoryTheory.Core.Categories. Require Import UniMath.Bicategories.Core.Bicat. Import Bicat.Notations. Require Import UniMath.Bicategories.Core.Invertible_2cells. Require Import UniMath.Bicategories.Core.Univalence. Require Import UniMath.Bicategories.Core.AdjointUnique. Require Import UniMath.Bicategories.Core.Unitors. Require Import UniMath.Bicategories.Core.BicategoryLaws. Require Import UniMath.Bicategories.Core.EquivToAdjequiv. Require Import UniMath.Bicategories.Morphisms.FullyFaithful. Require Import UniMath.Bicategories.Morphisms.Adjunctions. Require Import UniMath.Bicategories.Morphisms.DiscreteMorphisms. Require Import UniMath.Bicategories.Morphisms.Eso. Require Import UniMath.Bicategories.Limits.Pullbacks.