Definition make_left_universal_arrow' : left_universal_arrow. Proof. simple refine (L ,, η ,, _) ; cbn. intros x y. use rad_equivalence_of_cats. - apply is_univ_hom. exact HB₂. - use full_and_faithful_implies_fully_faithful. split. + intros f g α. apply hinhpr. apply H₁. + intros f g α. use invproofirrelevance. intros β₁ β₂ ; cbn in *. use subtypePath ; [ intro ; apply cellset_property | ]. exact (H₂ x y f g α (pr1 β₁) (pr1 β₂) (pr2 β₁) (pr2 β₂)). - intros f. apply hinhpr. simple refine (_ ,, _). + exact (pr1 (H₃ x y f)). + simpl. apply inv2cell_to_z_iso. exact (pr2 (H₃ x y f)). 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.Core.Functors. Require Import UniMath.CategoryTheory.Core.NaturalTransformations. Require Import UniMath.CategoryTheory.Adjunctions.Core. Require Import UniMath.CategoryTheory.Equivalences.Core. Require Import UniMath.CategoryTheory.Equivalences.CompositesAndInverses. Require Import UniMath.Bicategories.Core.Bicat. Import Bicat.Notations. Require Import UniMath.Bicategories.Core.Invertible_2cells. Require Import UniMath.Bicategories.Core.Examples.BicatOfUnivCats. Require Import UniMath.Bicategories.Core.Univalence. Require Import UniMath.Bicategories.PseudoFunctors.Display.PseudoFunctorBicat. Require Import UniMath.Bicategories.PseudoFunctors.PseudoFunctor. Import PseudoFunctor.Notations.