# Maps in global subuniverses

```agda
module foundation.maps-in-global-subuniverses where
```

<details><summary>Imports</summary>

```agda
open import foundation.cartesian-morphisms-arrows
open import foundation.dependent-pair-types
open import foundation.fibers-of-maps
open import foundation.functoriality-fibers-of-maps
open import foundation.global-subuniverses
open import foundation.unit-type
open import foundation.universe-levels

open import foundation-core.equivalences
open import foundation-core.propositions
```

</details>

## Idea

Given a [global subuniverse](foundation.global-subuniverses.md) `𝒫`, a map
`f : A → B` is said to be a
{{#concept "map in `𝒫`" Disambiguation="in a global subuniverse" Agda=is-in-global-subuniverse-map}},
or a **`𝒫`-map**, if its [fibers](foundation-core.fibers-of-maps.md) are in `𝒫`.

## Definitions

### The predicate on maps of being in a global subuniverse

```agda
module _
  {α : Level  Level} (𝒫 : global-subuniverse α)
  {l1 l2 : Level} {A : UU l1} {B : UU l2} (f : A  B)
  where

  is-in-global-subuniverse-map : UU (α (l1  l2)  l2)
  is-in-global-subuniverse-map =
    (b : B)  is-in-global-subuniverse 𝒫 (fiber f b)

  is-prop-is-in-global-subuniverse-map : is-prop is-in-global-subuniverse-map
  is-prop-is-in-global-subuniverse-map =
    is-prop-Π  b  is-prop-is-in-global-subuniverse 𝒫 (fiber f b))

  is-in-global-subuniverse-map-Prop : Prop (α (l1  l2)  l2)
  is-in-global-subuniverse-map-Prop =
    ( is-in-global-subuniverse-map , is-prop-is-in-global-subuniverse-map)
```

## Properties

### A type is in `𝒫` if and only if its terminal projection is in `𝒫`

```agda
module _
  {α : Level  Level} (𝒫 : global-subuniverse α)
  {l1 : Level} {A : UU l1}
  where

  is-in-global-subuniverse-is-in-global-subuniverse-terminal-map :
    is-in-global-subuniverse-map 𝒫 (terminal-map A) 
    is-in-global-subuniverse 𝒫 A
  is-in-global-subuniverse-is-in-global-subuniverse-terminal-map H =
    is-closed-under-equiv-global-subuniverse 𝒫 l1 l1
      ( fiber (terminal-map A) star)
      ( A)
      ( equiv-fiber-terminal-map star)
      ( H star)

  is-in-global-subuniverse-terminal-map-is-in-global-subuniverse :
    is-in-global-subuniverse 𝒫 A 
    is-in-global-subuniverse-map 𝒫 (terminal-map A)
  is-in-global-subuniverse-terminal-map-is-in-global-subuniverse H u =
    is-closed-under-equiv-global-subuniverse 𝒫 l1 l1
      ( A)
      ( fiber (terminal-map A) u)
      ( inv-equiv-fiber-terminal-map u)
      ( H)
```

### Closure under base change

Maps in `𝒫` are closed under base change.

```agda
module _
  {α : Level  Level} (𝒫 : global-subuniverse α)
  {l1 l2 l3 l4 : Level} {A : UU l1} {B : UU l2} {C : UU l3} {D : UU l4}
  (f : A  B) (g : C  D)
  where

  is-in-global-subuniverse-map-base-change :
    is-in-global-subuniverse-map 𝒫 f 
    cartesian-hom-arrow g f 
    is-in-global-subuniverse-map 𝒫 g
  is-in-global-subuniverse-map-base-change F α d =
    is-closed-under-equiv-global-subuniverse 𝒫 (l1  l2) (l3  l4)
      ( fiber f (map-codomain-cartesian-hom-arrow g f α d))
      ( fiber g d)
      ( inv-equiv (equiv-fibers-cartesian-hom-arrow g f α d))
      ( F (map-codomain-cartesian-hom-arrow g f α d))
```