# Large subposets
```agda
module order-theory.large-subposets where
```
<details><summary>Imports</summary>
```agda
open import foundation.dependent-pair-types
open import foundation.large-binary-relations
open import foundation.logical-equivalences
open import foundation.subtypes
open import foundation.universe-levels
open import order-theory.large-posets
open import order-theory.large-preorders
open import order-theory.large-subpreorders
```
</details>
## Idea
A **large subposet** of a [large poset](order-theory.large-posets.md) `P`
consists of a subtype `S : type-Large-Poset P l1 → Prop (γ l1)` for each
universe level `l1` such that the implication
```text
((x ≤ y) ∧ (y ≤ x)) → (x ∈ S → y ∈ S)
```
holds for every `x y : P`. Note that for elements of the same universe level,
this is automatic by antisymmetry.
## Definition
### The predicate of being closed under similarity
```agda
module _
{α γ : Level → Level} {β : Level → Level → Level}
(P : Large-Poset α β) (S : Large-Subpreorder γ (large-preorder-Large-Poset P))
where
is-closed-under-sim-Large-Subpreorder : UUω
is-closed-under-sim-Large-Subpreorder =
{l1 l2 : Level}
(x : type-Large-Poset P l1) (y : type-Large-Poset P l2) →
leq-Large-Poset P x y → leq-Large-Poset P y x →
is-in-Large-Subpreorder (large-preorder-Large-Poset P) S x →
is-in-Large-Subpreorder (large-preorder-Large-Poset P) S y
```
### Large subposets
```agda
module _
{α : Level → Level} {β : Level → Level → Level} (γ : Level → Level)
(P : Large-Poset α β)
where
record
Large-Subposet : UUω
where
field
large-subpreorder-Large-Subposet :
Large-Subpreorder γ (large-preorder-Large-Poset P)
is-closed-under-sim-Large-Subposet :
is-closed-under-sim-Large-Subpreorder P large-subpreorder-Large-Subposet
open Large-Subposet public
module _
{α : Level → Level} {β : Level → Level → Level} {γ : Level → Level}
(P : Large-Poset α β) (S : Large-Subposet γ P)
where
large-preorder-Large-Subposet :
Large-Preorder (λ l → α l ⊔ γ l) (λ l1 l2 → β l1 l2)
large-preorder-Large-Subposet =
large-preorder-Large-Subpreorder
( large-preorder-Large-Poset P)
( large-subpreorder-Large-Subposet S)
is-in-Large-Subposet :
{l1 : Level} → type-Large-Poset P l1 → UU (γ l1)
is-in-Large-Subposet =
is-in-Large-Subpreorder
( large-preorder-Large-Poset P)
( large-subpreorder-Large-Subposet S)
type-Large-Subposet : (l1 : Level) → UU (α l1 ⊔ γ l1)
type-Large-Subposet =
type-Large-Subpreorder
( large-preorder-Large-Poset P)
( large-subpreorder-Large-Subposet S)
leq-prop-Large-Subposet :
Large-Relation-Prop β type-Large-Subposet
leq-prop-Large-Subposet =
leq-prop-Large-Subpreorder
( large-preorder-Large-Poset P)
( large-subpreorder-Large-Subposet S)
leq-Large-Subposet :
Large-Relation β type-Large-Subposet
leq-Large-Subposet =
leq-Large-Subpreorder
( large-preorder-Large-Poset P)
( large-subpreorder-Large-Subposet S)
is-prop-leq-Large-Subposet :
is-prop-Large-Relation type-Large-Subposet leq-Large-Subposet
is-prop-leq-Large-Subposet =
is-prop-leq-Large-Subpreorder
( large-preorder-Large-Poset P)
( large-subpreorder-Large-Subposet S)
refl-leq-Large-Subposet :
is-reflexive-Large-Relation type-Large-Subposet leq-Large-Subposet
refl-leq-Large-Subposet =
refl-leq-Large-Subpreorder
( large-preorder-Large-Poset P)
( large-subpreorder-Large-Subposet S)
transitive-leq-Large-Subposet :
is-transitive-Large-Relation type-Large-Subposet leq-Large-Subposet
transitive-leq-Large-Subposet =
transitive-leq-Large-Subpreorder
( large-preorder-Large-Poset P)
( large-subpreorder-Large-Subposet S)
antisymmetric-leq-Large-Subposet :
is-antisymmetric-Large-Relation type-Large-Subposet leq-Large-Subposet
antisymmetric-leq-Large-Subposet {l1} (x , p) (y , q) H K =
eq-type-subtype
( large-subpreorder-Large-Subposet S {l1})
( antisymmetric-leq-Large-Poset P x y H K)
large-poset-Large-Subposet : Large-Poset (λ l → α l ⊔ γ l) β
large-preorder-Large-Poset
large-poset-Large-Subposet =
large-preorder-Large-Subposet
antisymmetric-leq-Large-Poset
large-poset-Large-Subposet =
antisymmetric-leq-Large-Subposet
```
### The predicate of having the same elements
```agda
module _
{α γS γT : Level → Level} {β : Level → Level → Level}
(P : Large-Poset α β) (S : Large-Subposet γS P) (T : Large-Subposet γT P)
where
has-same-elements-Large-Subposet : UUω
has-same-elements-Large-Subposet =
{l : Level} (x : type-Large-Poset P l) →
is-in-Large-Subposet P S x ↔ is-in-Large-Subposet P T x
```