The category Grpd of groupoids #
Need at least the following, some of which is already in MathLib:
- the category of small groupoids and their homomorphisms
- (discrete and split) fibrations of groupoids
- pullbacks of (discrete and split) fibrations exist in Grpd and are again (such) fibrations
- set- and groupoid-valued presheaves on groupoids
- the Grothendieck construction relating the previous two
- the equivalence between (split) fibrations and presheaves of groupoids
- Σ and Π-types for (split) fibrations
- path groupoids
- the universe of (small) discrete groupoids (aka sets)
- polynomial functors of groupoids
- maybe some W-types
- eventually we will want some groupoid quotients as well
Equations
Instances For
A morphism in the Grothendieck construction is an isomorphism if the morphism in the base is an isomorphism and the fiber morphism is an isomorphism.
Equations
- One or more equations did not get rendered due to their size.
Instances For
In Mathlib.CategoryTheory.Grothendieck we find the Grothendieck construction
for the functors F : C ⥤ Cat
. Given a functor F : G ⥤ Grpd
, we show that
the Grothendieck construction of the composite F ⋙ Grpd.forgetToCat
, where
forgetToCat : Grpd ⥤ Cat
is the embedding of groupoids into categories, is a groupoid.
Equations
Instances For
Equations
- CategoryTheory.GroupoidalGrothendieck.instCategory = inferInstanceAs (CategoryTheory.Category.{max v₂ v₁, max u₂ u₁} (CategoryTheory.Grothendieck (CategoryTheory.toCat F)))
Equations
- One or more equations did not get rendered due to their size.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
Instances For
Equations
- CategoryTheory.GroupoidalGrothendieck.groupoid = CategoryTheory.Groupoid.mk (fun {X Y : CategoryTheory.GroupoidalGrothendieck F} (f : X ⟶ Y) => CategoryTheory.GroupoidalGrothendieck.inv f) ⋯ ⋯
Equations
- CategoryTheory.GroupoidalGrothendieck.forget = CategoryTheory.Grothendieck.forget (F.comp CategoryTheory.Grpd.forgetToCat)
Instances For
Equations
- CategoryTheory.GroupoidalGrothendieck.ToGrpd = CategoryTheory.GroupoidalGrothendieck.forget.comp F
Instances For
Equations
- One or more equations did not get rendered due to their size.
Instances For
The class of pointed pointed categorys.
- Hom : C → C → Type w
- id : (X : C) → X ⟶ X
- id_comp : ∀ {X Y : C} (f : X ⟶ Y), CategoryTheory.CategoryStruct.comp (CategoryTheory.CategoryStruct.id X) f = f
- comp_id : ∀ {X Y : C} (f : X ⟶ Y), CategoryTheory.CategoryStruct.comp f (CategoryTheory.CategoryStruct.id Y) = f
- assoc : ∀ {W X Y Z : C} (f : W ⟶ X) (g : X ⟶ Y) (h : Y ⟶ Z), CategoryTheory.CategoryStruct.comp (CategoryTheory.CategoryStruct.comp f g) h = CategoryTheory.CategoryStruct.comp f (CategoryTheory.CategoryStruct.comp g h)
- pt : C
Instances
A constructor that makes a pointed categorys from a category and a point.
Equations
Instances For
The structure of a functor from C to D along with a morphism from the image of the point of C to the point of D
- obj : C → D
- map_id : ∀ (X : C), self.map (CategoryTheory.CategoryStruct.id X) = CategoryTheory.CategoryStruct.id (self.obj X)
- map_comp : ∀ {X Y Z : C} (f : X ⟶ Y) (g : Y ⟶ Z), self.map (CategoryTheory.CategoryStruct.comp f g) = CategoryTheory.CategoryStruct.comp (self.map f) (self.map g)
- point : self.obj CategoryTheory.PointedCategory.pt ⟶ CategoryTheory.PointedCategory.pt
Instances For
The identity PointedFunctor
whose underlying functor is the identity functor
Equations
- CategoryTheory.PointedFunctor.id C = { toFunctor := CategoryTheory.Functor.id C, point := CategoryTheory.CategoryStruct.id CategoryTheory.PointedCategory.pt }
Instances For
Composition of PointedFunctor
that composes there underling functors and shows that the point is preserved
Equations
- F.comp G = { toFunctor := F.comp G.toFunctor, point := CategoryTheory.CategoryStruct.comp (G.map F.point) G.point }
Instances For
The category of pointed categorys and pointed functors
Instances For
Equations
- CategoryTheory.PCat.instCoeSortType = { coe := CategoryTheory.Bundled.α }
Equations
- C.str = C.str
The functor that takes PCat to Cat by forgetting the points
Equations
- One or more equations did not get rendered due to their size.
Instances For
The class of pointed pointed groupoids.
- Hom : C → C → Type w
- id : (X : C) → X ⟶ X
- id_comp : ∀ {X Y : C} (f : X ⟶ Y), CategoryTheory.CategoryStruct.comp (CategoryTheory.CategoryStruct.id X) f = f
- comp_id : ∀ {X Y : C} (f : X ⟶ Y), CategoryTheory.CategoryStruct.comp f (CategoryTheory.CategoryStruct.id Y) = f
- assoc : ∀ {W X Y Z : C} (f : W ⟶ X) (g : X ⟶ Y) (h : Y ⟶ Z), CategoryTheory.CategoryStruct.comp (CategoryTheory.CategoryStruct.comp f g) h = CategoryTheory.CategoryStruct.comp f (CategoryTheory.CategoryStruct.comp g h)
- inv_comp : ∀ {X Y : C} (f : X ⟶ Y), CategoryTheory.CategoryStruct.comp (CategoryTheory.Groupoid.inv f) f = CategoryTheory.CategoryStruct.id Y
- comp_inv : ∀ {X Y : C} (f : X ⟶ Y), CategoryTheory.CategoryStruct.comp f (CategoryTheory.Groupoid.inv f) = CategoryTheory.CategoryStruct.id X
- pt : C
Instances
A constructor that makes a pointed groupoid from a groupoid and a point.
Equations
Instances For
The category of pointed groupoids and pointed functors
Instances For
Equations
- CategoryTheory.PGrpd.instCoeSortType = { coe := CategoryTheory.Bundled.α }
Equations
- C.str = C.str
Construct a bundled PGrpd
from a Grpd
and a point
Equations
- CategoryTheory.PGrpd.fromGrpd G g = let_fun pg := CategoryTheory.PointedGroupoid.of (↑G) g; CategoryTheory.PGrpd.of ↑G
Instances For
The functor that takes PGrpd to Grpd by forgetting the points
Equations
- One or more equations did not get rendered due to their size.
Instances For
This takes PGrpd to PCat
Equations
- One or more equations did not get rendered due to their size.
Instances For
theorem PointedCategory.ext {P1 P2 : PCat.{u,u}} (eq_cat : P1.α = P2.α): P1 = P2 := by sorry
This is the proof of equality used in the eqToHom in PointedFunctor.eqToHom_point
This shows that the point of an eqToHom in PCat is an eqToHom
This is the turns the object part of eqToHom functors into a cast
This is the proof of equality used in the eqToHom in Cat.eqToHom_hom
This is the turns the hom part of eqToHom functors into a cast
This is the proof of equality used in the eqToHom in PCat.eqToHom_hom
This is the turns the hom part of eqToHom pointed functors into a cast
This shows that two objects are equal in Grothendieck A if they have equal bases and fibers that are equal after being cast
This proves that base of an eqToHom morphism in the category Grothendieck A is an eqToHom morphism
This is the proof of equality used in the eqToHom in Grothendieck.eqToHom_fiber
This proves that fiber of an eqToHom morphism in the category Grothendieck A is an eqToHom morphism
This eliminates an eqToHom on the right side of an equality
This theorem is used to eliminate eqToHom form both sides of an equation
Equations
Instances For
Equations
- CategoryTheory.Up_uni Δ = { obj := fun (x : Δ) => { down := x }, map := fun {X Y : Δ} (f : X ⟶ Y) => f, map_id := ⋯, map_comp := ⋯ }
Instances For
Equations
- CategoryTheory.Down_uni Δ = { obj := fun (x : ULift.{u + 1, u} Δ) => x.down, map := fun {X Y : ULift.{u + 1, u} Δ} (f : X ⟶ Y) => f, map_id := ⋯, map_comp := ⋯ }
Instances For
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
Instances For
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
Instances For
Equations
Instances For
This is the construction of the universal map for the limit
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
- CategoryTheory.Pointed.UnivesalMap_Uniq s = { hom := sorryAx (s.pt ⟶ CategoryTheory.PointedLim.pt), w := ⋯ }
Instances For
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
- One or more equations did not get rendered due to their size.
Instances For
Instances For
Equations
Instances For
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
- One or more equations did not get rendered due to their size.
Equations
- CategoryTheory.groupoidULift = CategoryTheory.Groupoid.mk (fun {X Y : ULift.{u', u} α} (f : X ⟶ Y) => CategoryTheory.Groupoid.inv f) ⋯ ⋯
Equations
- CategoryTheory.groupoidULiftHom = CategoryTheory.Groupoid.mk (fun {X Y : CategoryTheory.ULiftHom α} (f : X ⟶ Y) => { down := CategoryTheory.Groupoid.inv f.down }) ⋯ ⋯
- small: CategoryTheory.sGrpd → CategoryTheory.Groupoid2
- large: CategoryTheory.sGrpd → CategoryTheory.Groupoid2
Instances For
Equations
- x.toLarge = match x with | CategoryTheory.Groupoid2.small A => { α := CategoryTheory.ULiftHom (ULift.{u + 1, u} ↑A), str := inferInstance } | CategoryTheory.Groupoid2.large A => A
Instances For
A model of Grpd with an internal universe, with the property that the small universe injects into the large one.