Chains in preorders
module order-theory.chains-preorders where
Imports
open import foundation.dependent-pair-types open import foundation.propositions open import foundation.subtypes open import foundation.universe-levels open import order-theory.preorders open import order-theory.subpreorders open import order-theory.total-preorders
Idea
A chain in a preorder P
is a subtype S
of P
such that the ordering of
P
restricted to S
is linear.
Definition
module _ {l1 l2 : Level} (X : Preorder l1 l2) where is-chain-Subpreorder-Prop : {l3 : Level} (S : type-Preorder X → Prop l3) → Prop (l1 ⊔ l2 ⊔ l3) is-chain-Subpreorder-Prop S = is-total-Preorder-Prop (preorder-Subpreorder X S) is-chain-Subpreorder : {l3 : Level} (S : type-Preorder X → Prop l3) → UU (l1 ⊔ l2 ⊔ l3) is-chain-Subpreorder S = type-Prop (is-chain-Subpreorder-Prop S) is-prop-is-chain-Subpreorder : {l3 : Level} (S : type-Preorder X → Prop l3) → is-prop (is-chain-Subpreorder S) is-prop-is-chain-Subpreorder S = is-prop-type-Prop (is-chain-Subpreorder-Prop S) chain-Preorder : {l1 l2 : Level} (l : Level) (X : Preorder l1 l2) → UU (l1 ⊔ l2 ⊔ lsuc l) chain-Preorder l X = Σ (type-Preorder X → Prop l) (is-chain-Subpreorder X) module _ {l1 l2 l3 : Level} (X : Preorder l1 l2) (C : chain-Preorder l3 X) where sub-preorder-chain-Preorder : type-Preorder X → Prop l3 sub-preorder-chain-Preorder = pr1 C type-chain-Preorder : UU (l1 ⊔ l3) type-chain-Preorder = type-subtype sub-preorder-chain-Preorder module _ {l1 l2 : Level} (X : Preorder l1 l2) where inclusion-chain-Preorder-Prop : {l3 l4 : Level} → chain-Preorder l3 X → chain-Preorder l4 X → Prop (l1 ⊔ l3 ⊔ l4) inclusion-chain-Preorder-Prop C D = inclusion-Subpreorder-Prop X ( sub-preorder-chain-Preorder X C) ( sub-preorder-chain-Preorder X D) inclusion-chain-Preorder : {l3 l4 : Level} → chain-Preorder l3 X → chain-Preorder l4 X → UU (l1 ⊔ l3 ⊔ l4) inclusion-chain-Preorder C D = type-Prop (inclusion-chain-Preorder-Prop C D) is-prop-inclusion-chain-Preorder : {l3 l4 : Level} (C : chain-Preorder l3 X) (D : chain-Preorder l4 X) → is-prop (inclusion-chain-Preorder C D) is-prop-inclusion-chain-Preorder C D = is-prop-type-Prop (inclusion-chain-Preorder-Prop C D)