Lemma functor_full_img_fully_faithful_if_fun_is (C D : category) (F : functor C D) (H : fully_faithful F) : fully_faithful (functor_full_img F). Proof. unfold fully_faithful in *. intros a b. set (H' := weq_hom_in_subcat_from_hom_in_precat). set (H'' := H' D (is_in_img_functor F)). set (Fa := tpair (λ a : ob D, is_in_img_functor F a) (F a) (image_is_in_image _ _ F a)). set (Fb := tpair (λ a : ob D, is_in_img_functor F a) (F b) (image_is_in_image _ _ F b)). set (H3 := (H'' Fa Fb)). assert (H2 : functor_on_morphisms (functor_full_img F) (a:=a) (b:=b) = funcomp (functor_on_morphisms F (a:=a) (b:=b)) ((H3))). apply funextsec. intro f. apply idpath. rewrite H2. apply (twooutof3c #F H3). apply H. apply pr2. Qed.
Require Import UniMath.Foundations.Sets. Require Import UniMath.MoreFoundations.PartA. Require Import UniMath.CategoryTheory.Core.Categories. Require Import UniMath.CategoryTheory.Core.Isos. Require Import UniMath.CategoryTheory.Core.Univalence. Require Import UniMath.CategoryTheory.Core.Functors. Require Import UniMath.CategoryTheory.Core.NaturalTransformations. Require Import UniMath.CategoryTheory.Subcategory.Core.