# `2`-Types

```agda
module foundation.2-types where
```

<details><summary>Imports</summary>

```agda
open import foundation.dependent-pair-types
open import foundation.universe-levels

open import foundation-core.truncated-types
open import foundation-core.truncation-levels
```

</details>

## Definition

A 2-type is a type that is 2-truncated

```agda
is-2-type : {l : Level}  UU l  UU l
is-2-type = is-trunc (two-𝕋)

UU-2-Type : (l : Level)  UU (lsuc l)
UU-2-Type l = Σ (UU l) is-2-type

type-2-Type :
  {l : Level}  UU-2-Type l  UU l
type-2-Type = pr1

abstract
  is-2-type-type-2-Type :
    {l : Level} (A : UU-2-Type l)  is-2-type (type-2-Type A)
  is-2-type-type-2-Type = pr2
```