Finite trivial Σ-Decompositions

module univalent-combinatorics.trivial-sigma-decompositions where
Imports
open import foundation.trivial-sigma-decompositions public

open import foundation.contractible-types
open import foundation.dependent-pair-types
open import foundation.identity-types
open import foundation.inhabited-types
open import foundation.propositions
open import foundation.subtypes
open import foundation.universe-levels

open import univalent-combinatorics.finite-types
open import univalent-combinatorics.sigma-decompositions

Definitions

module _
  {l1 : Level} (l2 : Level) (A : 𝔽 l1)
  where

  trivial-inhabited-Σ-Decomposition-𝔽 :
    (p : is-inhabited (type-𝔽 A))  Σ-Decomposition-𝔽 l2 l1 A
  trivial-inhabited-Σ-Decomposition-𝔽 p =
    map-Σ-Decomposition-𝔽-subtype-is-finite
      ( A)
      ( ( trivial-inhabited-Σ-Decomposition l2 (type-𝔽 A) p) ,
        ( is-finite-raise-unit , λ x  is-finite-type-𝔽 A))

module _
  {l1 l2 l3 : Level} (A : 𝔽 l1)
  (D : Σ-Decomposition-𝔽 l2 l3 A)
  where

  is-trivial-Prop-Σ-Decomposition-𝔽 :
    Prop l2
  is-trivial-Prop-Σ-Decomposition-𝔽 =
    is-contr-Prop (indexing-type-Σ-Decomposition-𝔽 A D)

  is-trivial-Σ-Decomposition-𝔽 :
    UU (l2)
  is-trivial-Σ-Decomposition-𝔽 =
    type-Prop (is-trivial-Prop-Σ-Decomposition-𝔽)

is-trivial-trivial-inhabited-Σ-Decomposition-𝔽 :
  {l1 l2 : Level} (A : 𝔽 l1) (p : is-inhabited (type-𝔽 A)) 
  is-trivial-Σ-Decomposition-𝔽
    ( A)
    ( trivial-inhabited-Σ-Decomposition-𝔽 l2 A p)
is-trivial-trivial-inhabited-Σ-Decomposition-𝔽 A p =
  is-trivial-trivial-inhabited-Σ-Decomposition p

type-trivial-Σ-Decomposition-𝔽 :
  {l1 l2 l3 : Level} (A : 𝔽 l1)  UU (l1  lsuc l2  lsuc l3)
type-trivial-Σ-Decomposition-𝔽 {l1} {l2} {l3} A =
  type-subtype (is-trivial-Prop-Σ-Decomposition-𝔽 {l1} {l2} {l3} A)

Propositions

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

  equiv-trivial-is-trivial-Σ-Decomposition-𝔽 :
    equiv-Σ-Decomposition-𝔽
      ( A)
      ( D)
      ( trivial-inhabited-Σ-Decomposition-𝔽
        ( l4)
        ( A)
        ( is-inhabited-base-type-is-trivial-Σ-Decomposition {l1} {l2} {l3} {l4}
          ( Σ-Decomposition-Σ-Decomposition-𝔽 A D)
          ( is-trivial)))
  equiv-trivial-is-trivial-Σ-Decomposition-𝔽 =
    equiv-trivial-is-trivial-Σ-Decomposition
      ( Σ-Decomposition-Σ-Decomposition-𝔽 A D)
      ( is-trivial)

is-contr-type-trivial-Σ-Decomposition-𝔽 :
  {l1 l2 : Level} (A : 𝔽 l1)  (p : is-inhabited (type-𝔽 A)) 
  is-contr (type-trivial-Σ-Decomposition-𝔽 {l1} {l2} {l1} A)
pr1 ( is-contr-type-trivial-Σ-Decomposition-𝔽 {l1} {l2} A p) =
  ( trivial-inhabited-Σ-Decomposition-𝔽 l2 A p ,
    is-trivial-trivial-inhabited-Σ-Decomposition-𝔽 A p)
pr2 ( is-contr-type-trivial-Σ-Decomposition-𝔽 {l1} {l2} A p) =
   ( λ x 
     eq-type-subtype
       ( is-trivial-Prop-Σ-Decomposition-𝔽 A)
       ( inv
         ( eq-equiv-Σ-Decomposition-𝔽
           ( A)
           ( pr1 x)
           ( trivial-inhabited-Σ-Decomposition-𝔽 l2 A p)
           ( equiv-trivial-is-trivial-Σ-Decomposition-𝔽 A (pr1 x) (pr2 x)))))