Strict subpreorders
Content created by Louis Wasserman.
Created on 2026-01-13.
Last modified on 2026-01-13.
module order-theory.strict-subpreorders where
Imports
open import foundation.binary-relations open import foundation.dependent-pair-types open import foundation.subtypes open import foundation.universe-levels open import order-theory.strict-preorders
Idea
Any subtype of the underlying type of a strict preorder inherits the structure of a strict preorder.
Definition
Strict-Subpreorder : {l1 l2 : Level} (l : Level) → Strict-Preorder l1 l2 → UU (l1 ⊔ lsuc l) Strict-Subpreorder l P = subtype l (type-Strict-Preorder P) module _ {l1 l2 l3 : Level} (P : Strict-Preorder l1 l2) (S : Strict-Subpreorder l3 P) where type-Strict-Subpreorder : UU (l1 ⊔ l3) type-Strict-Subpreorder = type-subtype S le-prop-Strict-Subpreorder : Relation-Prop l2 type-Strict-Subpreorder le-prop-Strict-Subpreorder (x , x∈S) (y , y∈S) = le-prop-Strict-Preorder P x y le-Strict-Subpreorder : Relation l2 type-Strict-Subpreorder le-Strict-Subpreorder = type-Relation-Prop le-prop-Strict-Subpreorder is-irreflexive-le-Strict-Subpreorder : is-irreflexive le-Strict-Subpreorder is-irreflexive-le-Strict-Subpreorder (x , x∈S) = is-irreflexive-le-Strict-Preorder P x is-transitive-le-Strict-Subpreorder : is-transitive le-Strict-Subpreorder is-transitive-le-Strict-Subpreorder (x , x∈S) (y , y∈S) (z , z∈S) = is-transitive-le-Strict-Preorder P x y z strict-preorder-Strict-Subpreorder : Strict-Preorder (l1 ⊔ l3) l2 strict-preorder-Strict-Subpreorder = ( type-Strict-Subpreorder , le-prop-Strict-Subpreorder , is-irreflexive-le-Strict-Subpreorder , is-transitive-le-Strict-Subpreorder)