# Trivial relaxed Σ-decompositions

```agda
module foundation.trivial-relaxed-sigma-decompositions where
```

<details><summary>Imports</summary>

```agda
open import foundation.contractible-types
open import foundation.dependent-pair-types
open import foundation.relaxed-sigma-decompositions
open import foundation.transposition-identifications-along-equivalences
open import foundation.type-arithmetic-dependent-pair-types
open import foundation.unit-type
open import foundation.universe-levels

open import foundation-core.equality-dependent-pair-types
open import foundation-core.equivalences
open import foundation-core.function-types
open import foundation-core.identity-types
open import foundation-core.propositions
open import foundation-core.subtypes
```

</details>

## Idea

A relaxed Σ-decomposition is said to be **trivial** if its indexing type is
contractible.

## Definitions

### The predicate of being a trivial relaxed Σ-decomposition

```agda
module _
  {l1 l2 l3 : Level} {A : UU l1} (D : Relaxed-Σ-Decomposition l2 l3 A)
  where

  is-trivial-relaxed-Σ-decomposition-Prop : Prop l2
  is-trivial-relaxed-Σ-decomposition-Prop =
    is-contr-Prop (indexing-type-Relaxed-Σ-Decomposition D)

  is-trivial-Relaxed-Σ-Decomposition : UU l2
  is-trivial-Relaxed-Σ-Decomposition =
    type-Prop is-trivial-relaxed-Σ-decomposition-Prop
```

### The trivial relaxed Σ-decomposition

```agda
module _
  {l1 : Level} (l2 : Level) (A : UU l1)
  where

  trivial-Relaxed-Σ-Decomposition : Relaxed-Σ-Decomposition l2 l1 A
  pr1 (trivial-Relaxed-Σ-Decomposition) = raise-unit l2
  pr1 (pr2 (trivial-Relaxed-Σ-Decomposition)) x = A
  pr2 (pr2 (trivial-Relaxed-Σ-Decomposition)) =
    inv-left-unit-law-Σ-is-contr
      ( is-contr-raise-unit)
      ( raise-star)

is-trivial-trivial-Relaxed-Σ-Decomposition :
  {l1 l2 : Level} {A : UU l1} 
  is-trivial-Relaxed-Σ-Decomposition (trivial-Relaxed-Σ-Decomposition l2 A)
is-trivial-trivial-Relaxed-Σ-Decomposition = is-contr-raise-unit
```

## Propositions

### Any trivial relaxed Σ-decomposition is equivalent to the standard trivial relaxed Σ-decomposition

```agda
module _
  {l1 l2 l3 l4 : Level} {A : UU l1}
  (D : Relaxed-Σ-Decomposition l2 l3 A)
  ( is-trivial : is-trivial-Relaxed-Σ-Decomposition D)
  where

  equiv-trivial-is-trivial-Relaxed-Σ-Decomposition :
    equiv-Relaxed-Σ-Decomposition D (trivial-Relaxed-Σ-Decomposition l4 A)
  pr1 equiv-trivial-is-trivial-Relaxed-Σ-Decomposition =
    ( map-equiv (compute-raise-unit l4) 
      terminal-map (indexing-type-Relaxed-Σ-Decomposition D) ,
      is-equiv-comp
        ( map-equiv (compute-raise-unit l4))
        ( terminal-map (indexing-type-Relaxed-Σ-Decomposition D))
        ( is-equiv-terminal-map-is-contr is-trivial)
        ( is-equiv-map-equiv ( compute-raise-unit l4)))
  pr1 (pr2 equiv-trivial-is-trivial-Relaxed-Σ-Decomposition) x =
    ( inv-equiv (matching-correspondence-Relaxed-Σ-Decomposition D)) ∘e
    ( inv-left-unit-law-Σ-is-contr is-trivial x)
  pr2 (pr2 equiv-trivial-is-trivial-Relaxed-Σ-Decomposition) a =
    eq-pair-eq-fiber
      ( map-inv-eq-transpose-equiv
        ( inv-equiv (matching-correspondence-Relaxed-Σ-Decomposition D))
        ( refl))
```

### The type of all trivial relaxed Σ-decompositions is contractible

```agda
is-contr-type-trivial-Relaxed-Σ-Decomposition :
  {l1 l2 : Level} {A : UU l1} 
  is-contr
    ( type-subtype (is-trivial-relaxed-Σ-decomposition-Prop {l1} {l2} {l1} {A}))
pr1 ( is-contr-type-trivial-Relaxed-Σ-Decomposition {l1} {l2} {A}) =
  ( trivial-Relaxed-Σ-Decomposition l2 A ,
    is-trivial-trivial-Relaxed-Σ-Decomposition {l1} {l2} {A})
pr2 ( is-contr-type-trivial-Relaxed-Σ-Decomposition {l1} {l2} {A}) D =
    eq-type-subtype
      ( is-trivial-relaxed-Σ-decomposition-Prop)
      ( inv
        ( eq-equiv-Relaxed-Σ-Decomposition
          ( pr1 D)
          ( trivial-Relaxed-Σ-Decomposition l2 A)
          ( equiv-trivial-is-trivial-Relaxed-Σ-Decomposition (pr1 D) (pr2 D))))
```