module Cat.Displayed.Instances.Objects
{o β o' β'} {B : Precategory o β}
(E : Displayed B o' β')
where
open Cat.Reasoning B
open Displayed E
open Cartesian-morphism
open Vertical-functor
open is-fibred-functor
The fibration of objectsπ
Let be a fibration. Its fibration of objects is the wide subcategory spanned by the cartesian morphisms. The idea behind the name is that weβve kept all the objects in but removed all the interesting morphisms: all weβve kept are the ones that witness changes-of-base.
: Displayed B o' (o β β β o' β β')
Objects .Displayed.Ob[_] x = Ob[ x ]
Objects .Displayed.Hom[_] f x' y' = Cartesian-morphism E f x' y'
Objects .Displayed.Hom[_]-set _ _ _ = Cartesian-morphism-is-set E
Objects .Displayed.id' = idcart E
Objects .Displayed._β'_ = _βcart_ E
Objects .Displayed.idr' _ = Cartesian-morphism-pathp E (idr' _)
Objects .Displayed.idl' _ = Cartesian-morphism-pathp E (idl' _)
Objects .Displayed.assoc' _ _ _ = Cartesian-morphism-pathp E (assoc' _ _ _) Objects
We have an evident forgetful fibred functor from the object fibration back to
: Vertical-functor Objects E
Objects-forget .Fβ' x = x
Objects-forget .Fβ' f' = f' .hom'
Objects-forget .F-id' = refl
Objects-forget .F-β' = refl
Objects-forget
: is-fibred-functor Objects-forget
Objects-forget-is-fibred .F-cartesian {f' = f'} _ = f' .cartesian Objects-forget-is-fibred
private module Objects = Displayed Objects
Since the object fibration only has Cartesian morphisms from we can prove that it consists entirely of Cartesian maps. This is not immediate, since to include the βuniversalβ map, we must prove that it too is Cartesian; but that follows from the pasting law for Cartesian squares.
Objects-cartesian: β {x y x' y'} {f : Hom x y} (f' : Cartesian-morphism E f x' y')
β is-cartesian Objects f f'
= cart where
Objects-cartesian f' open is-cartesian
: is-cartesian _ _ _
cart .universal m h' = cart-paste E f' h'
cart .commutes m h' =
cart (f' .cartesian .commutes m (h' .hom'))
Cartesian-morphism-pathp E .unique m' p =
cart (f' .cartesian .unique (hom' m') (ap hom' p)) Cartesian-morphism-pathp E
If is a fibration, then its fibration of objects is a a right fibration, by the preceding result. This means the fibres of the object fibration are groupoids.
: Cartesian-fibration E β Cartesian-fibration Objects
Objects-fibration = f-lift where
Objects-fibration fib f y' open Cartesian-fibration E fib
: Cartesian-lift Objects f y'
f-lift .Cartesian-lift.x' = f ^* y'
f-lift .Cartesian-lift.lifting .hom' = Ο* f y'
f-lift .Cartesian-lift.lifting .cartesian = Ο*.cartesian
f-lift .Cartesian-lift.cartesian = Objects-cartesian _
f-lift
: Cartesian-fibration E β Right-fibration Objects
Objects-right-fibration .Right-fibration.is-fibration = Objects-fibration fib
Objects-right-fibration fib .Right-fibration.cartesian = Objects-cartesian Objects-right-fibration fib
The core of a fibrationπ
The fibration of objects is the relative analog of the core of a category, sharing its universal property. Rather than a groupoid, suppose we have a right fibration and a fibred functor to complete the analogy, we show factors through fibration of objects.
module _
{or βr} {R : Displayed B or βr}
(R-right : Right-fibration R)
where
private
open Vertical-functor
module R-right = Right-fibration R-right
Objects-universal: (F : Vertical-functor R E)
β is-fibred-functor F
β Vertical-functor R Objects
.Fβ' x = F .Fβ' x
Objects-universal F F-fib .Fβ' f' .hom' = F .Fβ' f'
Objects-universal F F-fib .Fβ' f' .cartesian = F-fib .F-cartesian (R-right.cartesian f')
Objects-universal F F-fib .F-id' =
Objects-universal F F-fib (F .F-id')
Cartesian-morphism-pathp E .F-β' =
Objects-universal F F-fib (F .F-β')
Cartesian-morphism-pathp E
Objects-universal-fibred: (F : Vertical-functor R E)
β (F-fib : is-fibred-functor F)
β is-fibred-functor (Objects-universal F F-fib)
.F-cartesian cart = Objects-cartesian _
Objects-universal-fibred F F-fib
Objects-factors: (F : Vertical-functor R E)
β (F-fib : is-fibred-functor F)
β F β‘ Objects-forget βV Objects-universal F F-fib
=
Objects-factors F F-fib (Ξ» _ β refl) (Ξ» _ β refl) Vertical-functor-path