Built with Alectryon. Bubbles () indicate interactive fragments: hover for details, tap to reveal contents. Use Ctrl+โCtrl+โ to navigate, Ctrl+๐ฑ๏ธ to focus. On Mac, use โ instead of Ctrl.
(** * Hom Functor *)Require Import Category.Core Functor.Core SetCategory.Core Category.Dual.Require Functor.Prod.Core.Import Category.Prod.CategoryProdNotations Functor.Prod.Core.FunctorProdCoreNotations.Require Import Basics.Trunc.Set Implicit Arguments.Generalizable All Variables.LocalOpen Scope morphism_scope.(** ** Definition of [hom : Cแตแต ร C โ Set] as a functor *)Sectionhom_functor.Context `{Funext}.VariableC : PreCategory.Local Notationobj_of c'c :=
(Build_HSet
(morphism
C
(fst (c'c : object (C^op * C)))
(snd (c'c : object (C^op * C))))).Lethom_functor_morphism_ofs'sd'd (hf : morphism (C^op * C) s's d'd)
: morphism set_cat (obj_of s's) (obj_of d'd)
:= fung => snd hf o g o fst hf.
H: Funext C: PreCategory hom_functor_morphism_of:= fun (s'sd'd : (C^op * C)%category) (hf : morphism (C^op * C) s's d'd)
(g : obj_of s's) =>
snd hf o g o fst hf: foralls'sd'd : (C^op * C)%category,
morphism (C^op * C) s's d'd -> morphism set_cat (obj_of s's) (obj_of d'd)
Functor (C^op * C) set_cat
refine (Build_Functor (C^op * C) set_cat
(func'c => obj_of c'c)
hom_functor_morphism_of
_
_);
subst hom_functor_morphism_of;
simpl;
abstract (
repeat (apply path_forall || intros [] || intro);
simplin *;
rewrite <- ?associativity, ?left_identity, ?right_identity;
reflexivity
).Defined.Endhom_functor.Sectioncovariant_contravariant.Context `{Funext}.VariableC : PreCategory.LocalOpen Scope functor_scope.LocalArguments Functor.Prod.Core.induced_snd / .LocalArguments Functor.Prod.Core.induced_fst / .(** ** Covariant hom functor [hom_C(A, โ) : C โ set] *)Definitioncovariant_hom_functor (A : object C^op)
:= Evalsimplin Functor.Prod.Core.induced_snd (hom_functor C) A.(** ** Contravariant hom functor [hom_C(โ, A) : Cแตแต โ set] *)Definitioncontravariant_hom_functor (A : C)
:= Evalsimplin Functor.Prod.Core.induced_fst (hom_functor C) A.Endcovariant_contravariant.