Built with Alectryon, running Coq+SerAPI v8.19.0+0.19.3. 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.
(** * Functors to and from initial and terminal categories *)
[Loading ML file number_string_notation_plugin.cmxs (using legacy method) ... done]
Require Import InitialTerminalCategory.Core.Require Import NatCategory.Require Import HoTT.Basics.Set Universe Polymorphism.Set Implicit Arguments.Generalizable All Variables.Set Asymmetric Patterns.Sectionfunctors.VariableC : PreCategory.(** *** Functor to any terminal category *)Definitionto_terminal `{@IsTerminalCategory one Hone Hone'}
: Functor C one
:= Build_Functor
C one
(fun_ => center _)
(fun___ => center _)
(fun_____ => contr _)
(fun_ => contr _).(** *** Constant functor from any terminal category *)Definitionfrom_terminal `{@IsTerminalCategory one Hone Hone'} (c : C)
: Functor one C
:= Build_Functor
one C
(fun_ => c)
(fun___ => identity c)
(fun_____ => symmetry _ _ (@identity_identity _ _))
(fun_ => idpath).(** *** Functor from any initial category *)Definitionfrom_initial `{@IsInitialCategory zero}
: Functor zero C
:= Build_Functor
zero C
(funx => initial_category_ind _ x)
(funx__ => initial_category_ind _ x)
(funx____ => initial_category_ind _ x)
(funx => initial_category_ind _ x).Endfunctors.LocalArguments to_terminal / .LocalArguments from_terminal / .LocalArguments from_initial / .Definitionto_1C : Functor C 1
:= Evalsimplin to_terminal C.Definitionfrom_1Cc : Functor 1 C
:= Evalsimplin from_terminal C c.Definitionfrom_0C : Functor 0 C
:= Evalsimplin from_initial C.LocalNotation"! x" := (@from_terminal _ terminal_category _ _ _ x) : functor_scope.(** *** Uniqueness principles about initial and terminal categories and functors *)Sectionunique.Context `{Funext}.
H: Funext zero: PreCategory H0: IsInitialCategory zero T: Type
Contr (zero -> T)
H: Funext zero: PreCategory H0: IsInitialCategory zero T: Type
Contr (zero -> T)
H: Funext zero: PreCategory H0: IsInitialCategory zero T: Type
forally : zero -> T, initial_category_ind T = y
H: Funext zero: PreCategory H0: IsInitialCategory zero T: Type y: zero -> T
initial_category_ind T = y
H: Funext zero: PreCategory H0: IsInitialCategory zero T: Type y: zero -> T x: zero