Definition nat_z_iso_equivalence_of_cats {C₁ C₂ : category} {F G : C₁ ⟶ C₂} (α : F ⟹ G) (Hα : is_nat_z_iso α) (HF : adj_equivalence_of_cats F) : equivalence_of_cats C₁ C₂. Proof. use make_equivalence_of_cats. - use make_adjunction_data. + exact G. + exact (right_adjoint HF). + exact (nat_trans_comp _ _ _ (adjunit HF) (post_whisker α _)). + exact (nat_trans_comp _ _ _ (pre_whisker _ (nat_z_iso_inv (make_nat_z_iso _ _ α Hα))) (adjcounit HF)). - split. + intro x ; cbn. use is_z_isomorphism_comp. * apply (unit_nat_z_iso_from_adj_equivalence_of_cats HF). * apply functor_on_is_z_isomorphism. apply Hα. + intro x ; cbn. use is_z_isomorphism_comp. * apply (is_z_iso_inv_from_z_iso(_,,(Hα (pr1 (pr1 HF) x)))). * apply (counit_nat_z_iso_from_adj_equivalence_of_cats HF). Defined.
Require Import UniMath.Foundations.PartD. Require Import UniMath.Foundations.Propositions. Require Import UniMath.MoreFoundations.PartA. 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.whiskering. Require Import UniMath.CategoryTheory.PrecategoryBinProduct.