Lemma is_functor_iso_pointwise_if_iso (C : precategory_data)(C' : precategory) (hs: has_homsets C') (F G : ob [C, C', hs]) (A : F --> G) : is_iso A -> is_nat_iso A. Proof. intros H a. set (T := inv_from_iso (tpair _ A H)). set (TA := iso_inv_after_iso (tpair _ A H)). set (TA' := iso_after_iso_inv (tpair _ A H)). simpl in *. apply (is_iso_qinv _ (T a)). unfold is_inverse_in_precat in *; simpl; split. - unfold T. set (H1' := nat_trans_eq_pointwise TA). apply H1'. - apply (nat_trans_eq_pointwise TA'). Defined.
Require Import UniMath.Foundations.Propositions. Require Import UniMath.MoreFoundations.Tactics. Require Import UniMath.MoreFoundations.Univalence. Require Import UniMath.CategoryTheory.Core.Categories. Require Import UniMath.CategoryTheory.Core.Isos. Require Import UniMath.CategoryTheory.Core.TransportMorphisms. Require Import UniMath.CategoryTheory.Core.Functors. Require Import UniMath.CategoryTheory.Core.NaturalTransformations. Require Import UniMath.CategoryTheory.Core.Univalence.