Definition lift_functor_along_id {C : category} (D : univalent_category) {F : functor C D} (F_eso : essentially_surjective F) (F_ff : fully_faithful F) : nat_z_iso (lift_functor_along D F F_eso F_ff (functor_identity C ∙ F)) (functor_identity D). Proof. use (lift_nat_z_iso_along D F F_eso F_ff). use nat_z_iso_comp. 2: apply lift_functor_along_comm. use make_nat_z_iso. - use make_nat_trans. { exact (λ _, identity _). } abstract (intro ; intros ; exact (id_right _ @ ! id_left _)). - intro. exists (identity _). abstract (split ; apply id_right). 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.CategoryTheory.Core.NaturalTransformations. Require Import UniMath.CategoryTheory.Core.Isos. Require Import UniMath.CategoryTheory.Core.Univalence. Require Import UniMath.CategoryTheory.Adjunctions.Core. Require Import UniMath.CategoryTheory.Equivalences.Core. Require Import UniMath.CategoryTheory.Equivalences.FullyFaithful. Require Import UniMath.CategoryTheory.FunctorCategory. Require Import UniMath.CategoryTheory.whiskering. Require Import UniMath.CategoryTheory.precomp_ess_surj. Require Import UniMath.CategoryTheory.precomp_fully_faithful. Require Import UniMath.CategoryTheory.PrecategoryBinProduct.