module Cat.Displayed.Fibre
  {o  o' ℓ'} {B : Precategory o } (E : Displayed B o' ℓ') where

Fibre categories🔗

A displayed category can be thought of as representing data of a “family of categories”1. Given an object of the base category, the morphisms in the fibre over x, or vertical morphisms, are those in the set of morphisms over the identity map (on

The intuition from the term vertical comes from literally thinking of a category displayed over as being a like a grab-bag of categories, admitting a map into (the total category perspective), a situation examplified by the diagram below. Here, is the total space of a category displayed over and is the corresponding projection functor.

In this diagram, the map which is displayed over the identity on is literally… vertical! A map such as between objects in two different fibres (hence displayed over a non-identity map is not drawn vertically. Additionally, the unwritten (displayed) identity morphisms on and are all vertical.

This last observation, coupled with the equation from the base category, implies that the set of vertical arrows over an object contain identities and are closed under composition, the fibre (pre)category over .

Fibre : (X : Ob)  Precategory _ _
Fibre X .Precategory.Ob = Ob[ X ]
Fibre X .Precategory.Hom = Hom[ id ]
Fibre X .Precategory.Hom-set = Hom[ id ]-set
Fibre X .Precategory.id = id'
Fibre X .Precategory._∘_ f g = hom[ idl id ] (f ∘' g)

  1. Though note that unless the displayed category is a Cartesian fibration, this “family” might not be functorially-indexed↩︎