Lemma rad_eta_is_nat_trans : is_nat_trans (functor_identity A) (functor_composite F rad) (λ a, rad_eta a). Proof. unfold is_nat_trans. simpl. intros a a' f. unfold rad_mor. simpl. apply (invmaponpathsweq (weq_from_fully_faithful HF a (rad_ob (F a')))). simpl; repeat rewrite functor_comp. unfold rad_eta. set (HHH := rad_eps_is_nat_trans (F a) (F a')). simpl in HHH; rewrite <- HHH; clear HHH. inv_functor a' (rad_ob (F a')). inv_functor a (rad_ob (F a)). inv_functor (rad_ob (F a)) (rad_ob (F a')). unfold rad_mor. simpl. repeat rewrite <- assoc. rewrite z_iso_inv_after_z_iso. rewrite id_right. inv_functor (rad_ob (F a)) (rad_ob (F a')). repeat rewrite assoc. rewrite z_iso_after_z_iso_inv. rewrite id_left. apply idpath. Qed.
Require Import UniMath.Foundations.PartD. Require Import UniMath.Foundations.Propositions. Require Import UniMath.Foundations.Sets. Require Import UniMath.MoreFoundations.Tactics. Require Import UniMath.CategoryTheory.Core.Categories. Require Import UniMath.CategoryTheory.Core.Functors. Require Import UniMath.CategoryTheory.Core.Isos. Require Import UniMath.CategoryTheory.Core.NaturalTransformations. Require Import UniMath.CategoryTheory.Core.Univalence. Require Import UniMath.CategoryTheory.FunctorCategory. Require Import UniMath.CategoryTheory.whiskering. Require Import UniMath.CategoryTheory.Adjunctions.Core.