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.{u_2, 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.{u_2, 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.{u_2, 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.{u_2, 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.{u_2, 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.{u_2, 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.{u_2, u_1} 𝒮]
{F : Pseudofunctor (LocallyDiscrete 𝒮ᵒᵖ) Cat}
:
forget F : ∫ᶜ F ⥤ 𝒮
is a fibered category.
def
CategoryTheory.Pseudofunctor.CoGrothendieck.ι
{𝒮 : Type u_1}
[Category.{u_2, 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.{u_2, 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.{u_2, u_1} 𝒮]
(F : Pseudofunctor (LocallyDiscrete 𝒮ᵒᵖ) Cat)
(S : 𝒮)
(a : ↑(F.obj { as := Opposite.op S }))
:
@[simp]
theorem
CategoryTheory.Pseudofunctor.CoGrothendieck.ι_map_base
{𝒮 : Type u_1}
[Category.{u_2, u_1} 𝒮]
(F : Pseudofunctor (LocallyDiscrete 𝒮ᵒᵖ) Cat)
(S : 𝒮)
{a b : ↑(F.obj { as := Opposite.op S })}
(φ : a ⟶ b)
:
@[simp]
theorem
CategoryTheory.Pseudofunctor.CoGrothendieck.ι_obj_base
{𝒮 : Type u_1}
[Category.{u_2, u_1} 𝒮]
(F : Pseudofunctor (LocallyDiscrete 𝒮ᵒᵖ) Cat)
(S : 𝒮)
(a : ↑(F.obj { as := Opposite.op S }))
:
def
CategoryTheory.Pseudofunctor.CoGrothendieck.compIso
{𝒮 : Type u_1}
[Category.{u_2, 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.{u_2, 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.{u_2, u_1} 𝒮]
(F : Pseudofunctor (LocallyDiscrete 𝒮ᵒᵖ) Cat)
(S : 𝒮)
(X : ↑(F.obj { as := Opposite.op S }))
:
theorem
CategoryTheory.Pseudofunctor.CoGrothendieck.comp_const
{𝒮 : Type u_1}
[Category.{u_2, u_1} 𝒮]
(F : Pseudofunctor (LocallyDiscrete 𝒮ᵒᵖ) Cat)
(S : 𝒮)
:
noncomputable instance
CategoryTheory.Pseudofunctor.CoGrothendieck.instHasFibersForget
{𝒮 : Type u_1}
[Category.{u_2, 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.