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.
(** * Category of sections *)Require Import Functor.Core NaturalTransformation.Core.Require Import Category.Strict.Require Import Functor.Identity NaturalTransformation.Identity.Require Import NaturalTransformation.Paths NaturalTransformation.Composition.Core.Require Import Functor.Paths.Require Import HoTT.Basics HoTT.Types.Set Implicit Arguments.Generalizable All Variables.LocalOpen Scope functor_scope.SectionFunctorSectionCategory.Context `{Funext}.VariablesCD : PreCategory.VariableR : Functor C D.(** There is a category [Sect(R)] of sections of [R]. *)(** ** Section of a functor *)RecordSectionOfFunctor :=
{
section_of_functor_morphism :> Functor D C;
section_of_functor_issect : R o section_of_functor_morphism = 1
}.Local Notationsection_of_functor_sig :=
{ section_of_functor_morphism : Functor D C
| R o section_of_functor_morphism = 1 }.
H: Funext C, D: PreCategory R: Functor C D
{section_of_functor_morphism0 : Functor D C &
R o section_of_functor_morphism0 = 1} <~> SectionOfFunctor
H: Funext C, D: PreCategory R: Functor C D
{section_of_functor_morphism0 : Functor D C &
R o section_of_functor_morphism0 = 1} <~> SectionOfFunctor
issig.Defined.LocalOpen Scope natural_transformation_scope.(** ** Definition of category of sections of a functor *)
H: Funext C, D: PreCategory R: Functor C D
PreCategory
H: Funext C, D: PreCategory R: Functor C D
PreCategory
refine (@Build_PreCategory
SectionOfFunctor
(funFG => NaturalTransformation F G)
(funF => 1)
(fun___TU => T o U)
_
_
_
_);
abstract (path_natural_transformation; auto with morphism).Defined.EndFunctorSectionCategory.
H: Funext C: PreCategory IsStrictCategory0: IsStrictCategory C D: PreCategory IsStrictCategory1: IsStrictCategory D F: Functor C D
IsStrictCategory (category_of_sections F)
H: Funext C: PreCategory IsStrictCategory0: IsStrictCategory C D: PreCategory IsStrictCategory1: IsStrictCategory D F: Functor C D
IsStrictCategory (category_of_sections F)
H: Funext C: PreCategory IsStrictCategory0: IsStrictCategory C D: PreCategory IsStrictCategory1: IsStrictCategory D F: Functor C D
IsHSet
{section_of_functor_morphism0 : Functor D C &
(funx : D => (F _0 (section_of_functor_morphism0 _0 x))%object) = 1}