# Σ-closed subuniverses ```agda module foundation.sigma-closed-subuniverses where ``` <details><summary>Imports</summary> ```agda open import foundation.dependent-pair-types open import foundation.subuniverses open import foundation.universe-levels open import foundation-core.function-types ``` </details> ## Idea A [subuniverse](foundation.subuniverses.md) `P` is **Σ-closed** if it is closed under the formation of [Σ-types](foundation.dependent-pair-types.md). Meaning `P` is Σ-closed if `Σ A B` is in `P` whenever `B` is a family of types in `P` over a type `A` in `P`. ## Definition We state a general form involving three universes, and a more traditional form using a single universe ```agda is-closed-under-Σ-subuniverses : {l1 l2 lP lQ lR : Level} (P : subuniverse l1 lP) (Q : subuniverse l2 lQ) (R : subuniverse (l1 ⊔ l2) lR) → UU (lsuc l1 ⊔ lsuc l2 ⊔ lP ⊔ lQ ⊔ lR) is-closed-under-Σ-subuniverses P Q R = (X : type-subuniverse P) (Y : inclusion-subuniverse P X → type-subuniverse Q) → is-in-subuniverse R ( Σ (inclusion-subuniverse P X) (inclusion-subuniverse Q ∘ Y)) is-closed-under-Σ-subuniverse : {l lP : Level} → subuniverse l lP → UU (lsuc l ⊔ lP) is-closed-under-Σ-subuniverse P = is-closed-under-Σ-subuniverses P P P closed-under-Σ-subuniverse : (l lP : Level) → UU (lsuc l ⊔ lsuc lP) closed-under-Σ-subuniverse l lP = Σ (subuniverse l lP) (is-closed-under-Σ-subuniverse) ``` ## See also - [Σ-closed reflective subuniverses](orthogonal-factorization-systems.sigma-closed-reflective-subuniverses.md)