open import Cat.Displayed.Base open import Cat.Prelude module Cat.Displayed.Cartesian {o β oβ² ββ²} {B : Precategory o β} (E : Displayed B oβ² ββ²) where open Precategory B open Displayed E
Cartesian Morphisms and Fibrationsπ
record Cartesian {a b x y} (f : Hom a b) (fβ² : Hom[ f ] x y) : Type (o β β β oβ² β ββ²) where field universal : β {u uβ²} (m : Hom u a) β (hβ² : Hom[ f β m ] uβ² y) β Hom[ m ] uβ² x commutes : β {u uβ²} (m : Hom u a) β (hβ² : Hom[ f β m ] uβ² y) β fβ² ββ² universal m hβ² β‘ hβ² unique : β {u uβ²} {m : Hom u a} β {hβ² : Hom[ f β m ] uβ² y} β (mβ² : Hom[ m ] uβ² x) β fβ² ββ² mβ² β‘ hβ² β mβ² β‘ universal m hβ²
record Cartesian-lift {x y} (f : Hom x y) (yβ² : Ob[ y ]) : Type (o β β β oβ² β ββ²) where field {xβ²} : Ob[ x ] lifting : Hom[ f ] xβ² yβ² cartesian : Cartesian f lifting
record Cartesian-fibration : Type (o β β β oβ² β ββ²) where field has-lift : β {x y} (f : Hom x y) β (yβ² : Ob[ y ]) β Cartesian-lift f yβ²