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.
(** * Grothendieck Construction of a functor to Set *)
[Loading ML file number_string_notation_plugin.cmxs (using legacy method) ... done]
Require Import SetCategory.Core.Require Import Basics.Trunc Types.Sigma.Require Import Basics.Tactics.Set Universe Polymorphism.Set Implicit Arguments.Generalizable All Variables.Set Asymmetric Patterns.LocalOpen Scope morphism_scope.SectionGrothendieck.Context `{Funext}.(** Quoting Wikipedia: The Grothendieck construction is an auxiliary construction used in the mathematical field of category theory. Let<< F : C â Set>> be a functor from any small category to the category of sets. The Grothendieck construct for [F] is the category [Î F] whose objects are pairs [(c, x)], where [c : C] is an object and [x : F c] is an element, and for which the set [Hom (Î F) (c1, x1) (c2, x2)] is the set of morphisms [f : c1 â c2] in [C] such that [Fâ f x1 = x2]. *)VariableC : PreCategory.VariableF : Functor C set_cat.RecordPair :=
{
c : C;
x : F c
}.
H: Funext C: PreCategory F: Functor C set_cat
{c : C & (F _0 c)%object} <~> Pair
H: Funext C: PreCategory F: Functor C set_cat
{c : C & (F _0 c)%object} <~> Pair
issig.Defined.Local Notationmorphism s d :=
{ f : morphism C s.(c) d.(c)
| F _1 f s.(x) = d.(x) }.
H: Funext C: PreCategory F: Functor C set_cat s, d, d': Pair m1: morphism d d' m2: morphism s d
(F _1 (m1.1 o m2.1)) (x s) = x d'
H: Funext C: PreCategory F: Functor C set_cat s, d, d': Pair m1: morphism d d' m2: morphism s d
(F _1 (m1.1 o m2.1)) (x s) = x d'
H: Funext C: PreCategory F: Functor C set_cat s, d, d': Pair m1: morphism d d' m2: morphism s d
(F _1 (m1.1 o m2.1)) (x s) = (F _1 m1.1) (x d)
H: Funext C: PreCategory F: Functor C set_cat s, d, d': Pair m1: morphism d d' m2: morphism s d