module Cat.Displayed.Isofibration where

Isofibrations🔗

record Isofibration (E : Displayed B oe ℓe) : Type (level E) where

An isofibration is a displayed category admitting a notion of transport between fibres over isomorphic objects. Explicitly, this means that every lifting diagram of the form below can be extended to one with the dotted arrows, where both is an isomorphism and an isomorphism over

  field
    _^*_     :  {a b} (u : a  b) (a' : Ob[ a ])  Ob[ b ]
    ^*-lifts :  {a b} (u : a  b) (a' : Ob[ a ])  a' ≅[ u ] (u ^* a')

We write the components of the displayed isomorphism ^*-lifts as π* and ι!: these are, respectively, maps and Since they are invertible, they provide cartesian (respectively cocartesian) lifts of along

  π*-is-cartesian   :  {a b} (u : a  b) b'  is-cartesian   E (u .to)   π*
  ι!-is-cocartesian :  {a b} (u : a  b) b'  is-cocartesian E (u .from) ι!

  π*-is-cartesian u x = invertible→cartesian E _ $
    iso[]→invertible[] (^*-lifts u x)

  ι!-is-cocartesian u x = invertible→cocartesian E _ $
    iso[]→invertible[] (^*-lifts u x Iso[]⁻¹)

Over categories🔗

If is univalent, then every category displayed over it is an isofibration. This follows by a simple argument using isomorphism induction. We first rearrange the data of Isofibration into a family of products that manifestly depends on the objects and the isomorphism It is easy to rearrange a section of this family into an instance of Isofibration.

  private
    Lifts :  {a} b (u : a  b)  Type _
    Lifts {a} b u = (a' : E ʻ a)  Σ[ b'  E ʻ b ] (a' ≅[ u ] b')

    from-lifts : (∀ {a b} u  Lifts {a} b u)  Isofibration E
    from-lifts l ._^*_     u b' = l u b' .fst
    from-lifts l .^*-lifts u b' = l u b' .snd

The reason for this rephrasing is that Lifts is precisely a motive for isomorphism induction. Accordingly, to obtain a section of this family, it suffices to give isomorphic lifts along the identity; for which we may take the identity isomorphism, completing the proof.

  is-category→isofibration : Isofibration E
  is-category→isofibration = from-lifts $ J-iso Lifts λ b' 
    b' , id-iso↓