module Order.Displayed where
Displayed posetsπ
As a special case of displayed categories, we can construct displayed posets: a poset displayed over written is a type-theoretic repackaging β so that fibrewise information is easier to recover β of the data of a poset and a monotone map
record Displayed {ββ βα΅£} β β' (P : Poset ββ βα΅£) : Type (lsuc (β β β') β ββ β βα΅£) where
no-eta-equality
private module P = Pr P
field
_] : P.Ob β Type β
Ob[_] : β {x y} β x P.β€ y β Ob[ x ] β Ob[ y ] β Type β'
Rel[: β {x} {x' : Ob[ x ]} β Rel[ P.β€-refl ] x' x'
β€-refl' : β {x y} (f : x P.β€ y) {x' y'} β is-prop (Rel[ f ] x' y')
β€-thin'
β€-trans': β {x y z} {x' : Ob[ x ]} {y' : Ob[ y ]} {z' : Ob[ z ]}
β {f : x P.β€ y} {g : y P.β€ z}
β Rel[ f ] x' y' β Rel[ g ] y' z'
β Rel[ P.β€-trans f g ] x' z'
β€-antisym': β {x} {x' y' : Ob[ x ]}
β Rel[ P.β€-refl ] x' y' β Rel[ P.β€-refl ] y' x' β x' β‘ y'
Analogously to a displayed category, where we can take pairs of an object and an object over to make a new category (the total space we can take total spaces of displayed posets to make a new poset.
: Poset _ _
β« .Poset.Ob = Ξ£ β P β D.Ob[_]
β« .Poset._β€_ (x , x') (y , y') = Ξ£ (x P.β€ y) Ξ» f β D.Rel[ f ] x' y'
β« .Poset.β€-thin = Ξ£-is-hlevel 1 P.β€-thin Ξ» f β D.β€-thin' f
β« .Poset.β€-refl = P.β€-refl , D.β€-refl'
β« .Poset.β€-trans (p , p') (q , q') = P.β€-trans p q , D.β€-trans' p' q'
β« .Poset.β€-antisym (p , p') (q , q') =
β« (P.β€-antisym p q) (D.β€-antisym-over p' q') Ξ£-pathp
Similarly, we can define fibre posets as a special case of fibre categories. Because posets are thin categories, we do not worry about most coherence conditions.
: β P β β Poset _ _
Fibre .Poset.Ob = D.Ob[ x ]
Fibre x .Poset._β€_ = D.Rel[ P.β€-refl ]
Fibre x .Poset.β€-thin = D.β€-thin' P.β€-refl
Fibre x .Poset.β€-refl = D.β€-refl'
Fibre x .Poset.β€-trans p' q' =
Fibre x (Ξ» p β D.Rel[ p ] _ _) (P.β€-thin _ _) $
subst .β€-trans' p' q'
D.Poset.β€-antisym = D.β€-antisym' Fibre x
There is an injection from any fibre poset to the total space that is an order embedding.
: (x : β P β) β Monotone (Fibre x) β«
fibre-injα΅ .hom x' = x , x'
fibre-injα΅ x .pres-β€ x'β€y' = P.β€-refl , x'β€y'
fibre-injα΅ x
fibre-injα΅-is-order-embedding: (x : β P β) β is-order-embedding (Fibre x) β« (apply (fibre-injα΅ x))
=
fibre-injα΅-is-order-embedding x (D.β€-thin' P.β€-refl) (β« .Poset.β€-thin)
prop-ext (fibre-injα΅ x .pres-β€)
(Ξ» (p , p') β subst (Ξ» p β D.Rel[ p ] _ _) (P.β€-thin p _) p')