Lemma discrete_functor {C D : discrete_category} (f : ob C → ob D) : functor C D. Proof. use make_functor. - use make_functor_data. + apply f. + intros a b atob. pose (aeqb := @univalent_groupoid_arrow_weq_path C _ _ atob). exact (transportf (λ z, _ ⟦ f a, z ⟧) (maponpaths f aeqb) (identity _)). - split. + intro; apply discrete_category_hom_prop. + intros ? ? ? ? ?; apply discrete_category_hom_prop. Defined.
Require Import UniMath.Foundations.PartA. Require Import UniMath.Foundations.PartD. Require Import UniMath.Foundations.Propositions. Require Import UniMath.CategoryTheory.Core.Categories. Require Import UniMath.CategoryTheory.Core.Isos. Require Import UniMath.CategoryTheory.Core.NaturalTransformations. Require Import UniMath.CategoryTheory.Core.Setcategories. Require Import UniMath.CategoryTheory.Core.Univalence. Require Import UniMath.CategoryTheory.FunctorCategory. Require Import UniMath.CategoryTheory.Core.Functors. Require Import UniMath.CategoryTheory.opp_precat.