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.
(** * Functor category [D → C] (also [Cᴰ] and [[D, C]]) *)Require Import Category.Strict Functor.Core NaturalTransformation.Core Functor.Paths.(** These must come last, so that [identity], [compose], etc., refer to natural transformations. *)Require Import NaturalTransformation.Composition.Core NaturalTransformation.Identity NaturalTransformation.Composition.Laws NaturalTransformation.Paths.Set Implicit Arguments.Generalizable All Variables.(** ** Definition of [C → D] *)Sectionfunctor_category.Context `{Funext}.VariablesCD : PreCategory.(** There is a category Fun(C, D) of functors from [C] to [D]. *)Definitionfunctor_category : PreCategory
:= @Build_PreCategory (Functor C D)
(@NaturalTransformation C D)
(@identity C D)
(@compose C D)
(@associativity _ C D)
(@left_identity _ C D)
(@right_identity _ C D)
_.Endfunctor_category.LocalNotation"C -> D" := (functor_category C D) : category_scope.(** ** [C → D] is a strict category if [D] is *)
H: Funext C, D: PreCategory IsStrictCategory0: IsStrictCategory D
IsStrictCategory (C -> D)
H: Funext C, D: PreCategory IsStrictCategory0: IsStrictCategory D
IsStrictCategory (C -> D)
typeclasses eauto.Defined.ModuleExport FunctorCategoryCoreNotations.(*Notation "C ^ D" := (functor_category D C) : category_scope. Notation "[ C , D ]" := (functor_category C D) : category_scope.*)Notation"C -> D" := (functor_category C D) : category_scope.EndFunctorCategoryCoreNotations.