# Large subpreorders ```agda module order-theory.large-subpreorders where ``` <details><summary>Imports</summary> ```agda open import foundation.dependent-pair-types open import foundation.large-binary-relations open import foundation.propositions open import foundation.subtypes open import foundation.universe-levels open import order-theory.large-preorders ``` </details> ## Idea A **large subpreorder** of a [large preorder](order-theory.large-preorders.md) `P` consists of a subtype ```text S : type-Large-Preorder P l → Prop (γ l) ``` for each universe level `l`, where `γ : Level → Level` is a universe level reindexing function. ## Definition ```agda module _ {α : Level → Level} {β : Level → Level → Level} (γ : Level → Level) (P : Large-Preorder α β) where Large-Subpreorder : UUω Large-Subpreorder = {l : Level} → type-Large-Preorder P l → Prop (γ l) module _ {α : Level → Level} {β : Level → Level → Level} {γ : Level → Level} (P : Large-Preorder α β) (S : Large-Subpreorder γ P) where is-in-Large-Subpreorder : {l1 : Level} → type-Large-Preorder P l1 → UU (γ l1) is-in-Large-Subpreorder {l1} = is-in-subtype (S {l1}) is-prop-is-in-Large-Subpreorder : {l1 : Level} (x : type-Large-Preorder P l1) → is-prop (is-in-Large-Subpreorder x) is-prop-is-in-Large-Subpreorder {l1} = is-prop-is-in-subtype (S {l1}) type-Large-Subpreorder : (l1 : Level) → UU (α l1 ⊔ γ l1) type-Large-Subpreorder l1 = type-subtype (S {l1}) leq-prop-Large-Subpreorder : Large-Relation-Prop β type-Large-Subpreorder leq-prop-Large-Subpreorder x y = leq-prop-Large-Preorder P (pr1 x) (pr1 y) leq-Large-Subpreorder : Large-Relation β type-Large-Subpreorder leq-Large-Subpreorder x y = type-Prop (leq-prop-Large-Subpreorder x y) is-prop-leq-Large-Subpreorder : is-prop-Large-Relation type-Large-Subpreorder leq-Large-Subpreorder is-prop-leq-Large-Subpreorder x y = is-prop-type-Prop (leq-prop-Large-Subpreorder x y) refl-leq-Large-Subpreorder : is-reflexive-Large-Relation type-Large-Subpreorder leq-Large-Subpreorder refl-leq-Large-Subpreorder (x , p) = refl-leq-Large-Preorder P x transitive-leq-Large-Subpreorder : is-transitive-Large-Relation type-Large-Subpreorder leq-Large-Subpreorder transitive-leq-Large-Subpreorder (x , p) (y , q) (z , r) = transitive-leq-Large-Preorder P x y z large-preorder-Large-Subpreorder : Large-Preorder (λ l → α l ⊔ γ l) (λ l1 l2 → β l1 l2) type-Large-Preorder large-preorder-Large-Subpreorder = type-Large-Subpreorder leq-prop-Large-Preorder large-preorder-Large-Subpreorder = leq-prop-Large-Subpreorder refl-leq-Large-Preorder large-preorder-Large-Subpreorder = refl-leq-Large-Subpreorder transitive-leq-Large-Preorder large-preorder-Large-Subpreorder = transitive-leq-Large-Subpreorder ```