The Grothendieck construction gives a fibered category #
In this file we show that the Grothendieck construction applied to a pseudofunctor F
gives a fibered category over the base category.
We also provide a HasFibers instance to ∫ᶜ F, such that the fiber over S is the
category F(S).
References #
[Vistoli2008] "Notes on Grothendieck Topologies, Fibered Categories and Descent Theory" by Angelo Vistoli
@[reducible, inline]
abbrev CategoryTheory.Pseudofunctor.CoGrothendieck.domainCartesianLift {𝒮 : Type u_1} [Category.{v_1, u_1} 𝒮] {F : Pseudofunctor (LocallyDiscrete 𝒮ᵒᵖ) Cat} {R S : 𝒮} (a : ↑(F.obj { as := Opposite.op S })) (f : R ⟶ S) :
The domain of the Cartesian lift of f.
Equations
Instances For
@[reducible, inline]
abbrev CategoryTheory.Pseudofunctor.CoGrothendieck.cartesianLift {𝒮 : Type u_1} [Category.{v_1, u_1} 𝒮] {F : Pseudofunctor (LocallyDiscrete 𝒮ᵒᵖ) Cat} {R S : 𝒮} (a : ↑(F.obj { as := Opposite.op S })) (f : R ⟶ S) :
The Cartesian lift of f.
Equations
- One or more equations did not get rendered due to their size.
Instances For
instance CategoryTheory.Pseudofunctor.CoGrothendieck.isHomLift_cartesianLift {𝒮 : Type u_1} [Category.{v_1, u_1} 𝒮] {F : Pseudofunctor (LocallyDiscrete 𝒮ᵒᵖ) Cat} {R S : 𝒮} (a : ↑(F.obj { as := Opposite.op S })) (f : R ⟶ S) :
(forget F).IsHomLift f (cartesianLift a f)
@[reducible, inline]
abbrev CategoryTheory.Pseudofunctor.CoGrothendieck.homCartesianLift {𝒮 : Type u_1} [Category.{v_1, u_1} 𝒮] {F : Pseudofunctor (LocallyDiscrete 𝒮ᵒᵖ) Cat} {R S : 𝒮} {a : ↑(F.obj { as := Opposite.op S })} (f : R ⟶ S) {a' : F.CoGrothendieck} (g : a'.base ⟶ R) (φ' : a' ⟶ { base := S, fiber := a }) [(forget F).IsHomLift (CategoryStruct.comp g f) φ'] :
Given some lift φ' of g ≫ f, the canonical map from the domain of φ' to the domain of
the Cartesian lift of f.
Equations
- One or more equations did not get rendered due to their size.
Instances For
instance CategoryTheory.Pseudofunctor.CoGrothendieck.isHomLift_homCartesianLift {𝒮 : Type u_1} [Category.{v_1, u_1} 𝒮] {F : Pseudofunctor (LocallyDiscrete 𝒮ᵒᵖ) Cat} {R S : 𝒮} (a : ↑(F.obj { as := Opposite.op S })) (f : R ⟶ S) {a' : F.CoGrothendieck} {φ' : a' ⟶ { base := S, fiber := a }} {g : a'.base ⟶ R} [(forget F).IsHomLift (CategoryStruct.comp g f) φ'] :
(forget F).IsHomLift g (homCartesianLift f g φ')
theorem CategoryTheory.Pseudofunctor.CoGrothendieck.isStronglyCartesian_homCartesianLift {𝒮 : Type u_1} [Category.{v_1, u_1} 𝒮] {F : Pseudofunctor (LocallyDiscrete 𝒮ᵒᵖ) Cat} {R S : 𝒮} (a : ↑(F.obj { as := Opposite.op S })) (f : R ⟶ S) :
(forget F).IsStronglyCartesian f (cartesianLift a f)
instance CategoryTheory.Pseudofunctor.CoGrothendieck.instIsFiberedForget {𝒮 : Type u_1} [Category.{v_1, u_1} 𝒮] {F : Pseudofunctor (LocallyDiscrete 𝒮ᵒᵖ) Cat} :
forget F : ∫ᶜ F ⥤ 𝒮 is a fibered category.
def CategoryTheory.Pseudofunctor.CoGrothendieck.ι {𝒮 : Type u_1} [Category.{v_1, u_1} 𝒮] (F : Pseudofunctor (LocallyDiscrete 𝒮ᵒᵖ) Cat) (S : 𝒮) :
Functor (↑(F.obj { as := Opposite.op S })) F.CoGrothendieck
The inclusion map from F(S) into ∫ᶜ F.
Equations
- One or more equations did not get rendered due to their size.
Instances For
@[simp]
theorem CategoryTheory.Pseudofunctor.CoGrothendieck.ι_map_fiber {𝒮 : Type u_1} [Category.{v_1, u_1} 𝒮] (F : Pseudofunctor (LocallyDiscrete 𝒮ᵒᵖ) Cat) (S : 𝒮) {a b : ↑(F.obj { as := Opposite.op S })} (φ : a ⟶ b) :
((ι F S).map φ).fiber = CategoryStruct.comp φ ((F.mapId { as := Opposite.op S }).inv.toNatTrans.app b)
@[simp]
theorem CategoryTheory.Pseudofunctor.CoGrothendieck.ι_map_base {𝒮 : Type u_1} [Category.{v_1, u_1} 𝒮] (F : Pseudofunctor (LocallyDiscrete 𝒮ᵒᵖ) Cat) (S : 𝒮) {a b : ↑(F.obj { as := Opposite.op S })} (φ : a ⟶ b) :
@[simp]
theorem CategoryTheory.Pseudofunctor.CoGrothendieck.ι_obj_fiber {𝒮 : Type u_1} [Category.{v_1, u_1} 𝒮] (F : Pseudofunctor (LocallyDiscrete 𝒮ᵒᵖ) Cat) (S : 𝒮) (a : ↑(F.obj { as := Opposite.op S })) :
@[simp]
theorem CategoryTheory.Pseudofunctor.CoGrothendieck.ι_obj_base {𝒮 : Type u_1} [Category.{v_1, u_1} 𝒮] (F : Pseudofunctor (LocallyDiscrete 𝒮ᵒᵖ) Cat) (S : 𝒮) (a : ↑(F.obj { as := Opposite.op S })) :
def CategoryTheory.Pseudofunctor.CoGrothendieck.compIso {𝒮 : Type u_1} [Category.{v_1, u_1} 𝒮] (F : Pseudofunctor (LocallyDiscrete 𝒮ᵒᵖ) Cat) (S : 𝒮) :
The natural isomorphism encoding comp_const.
Equations
- CategoryTheory.Pseudofunctor.CoGrothendieck.compIso F S = CategoryTheory.NatIso.ofComponents (fun (a : ↑(F.obj { as := Opposite.op S })) => CategoryTheory.eqToIso ⋯) ⋯
Instances For
@[simp]
theorem CategoryTheory.Pseudofunctor.CoGrothendieck.compIso_inv_app {𝒮 : Type u_1} [Category.{v_1, u_1} 𝒮] (F : Pseudofunctor (LocallyDiscrete 𝒮ᵒᵖ) Cat) (S : 𝒮) (X : ↑(F.obj { as := Opposite.op S })) :
@[simp]
theorem CategoryTheory.Pseudofunctor.CoGrothendieck.compIso_hom_app {𝒮 : Type u_1} [Category.{v_1, u_1} 𝒮] (F : Pseudofunctor (LocallyDiscrete 𝒮ᵒᵖ) Cat) (S : 𝒮) (X : ↑(F.obj { as := Opposite.op S })) :
theorem CategoryTheory.Pseudofunctor.CoGrothendieck.comp_const {𝒮 : Type u_1} [Category.{v_1, u_1} 𝒮] (F : Pseudofunctor (LocallyDiscrete 𝒮ᵒᵖ) Cat) (S : 𝒮) :
@[instance_reducible]
noncomputable instance CategoryTheory.Pseudofunctor.CoGrothendieck.instHasFibersForget {𝒮 : Type u_1} [Category.{v_1, u_1} 𝒮] (F : Pseudofunctor (LocallyDiscrete 𝒮ᵒᵖ) Cat) :
HasFibers instance for ∫ᶜ F, where the fiber over S is F.obj ⟨op S⟩.
Equations
- One or more equations did not get rendered due to their size.