Equivalence induction

module foundation-core.equivalence-induction where
Imports
open import foundation-core.contractible-types
open import foundation-core.dependent-pair-types
open import foundation-core.equivalences
open import foundation-core.functions
open import foundation-core.homotopies
open import foundation-core.identity-types
open import foundation-core.sections
open import foundation-core.singleton-induction
open import foundation-core.universe-levels

Idea

Equivalence induction is a condition equivalent to the univalence axiom

Properties

module _
  {l1 : Level} {A : UU l1}
  where

  ev-id :
    { l : Level} (P : (B : UU l1)  (A  B)  UU l) 
    ( (B : UU l1) (e : A  B)  P B e)  P A id-equiv
  ev-id P f = f A id-equiv

  IND-EQUIV :
    {l : Level} (P : (B : UU l1) (e : A  B)  UU l)  UU (lsuc l1  l)
  IND-EQUIV P = sec (ev-id P)

  triangle-ev-id :
    { l : Level}
    ( P : (Σ (UU l1)  X  A  X))  UU l) 
    ( ev-point (pair A id-equiv) {P}) ~
    ( ( ev-id  X e  P (pair X e))) 
      ( ev-pair {A = UU l1} {B = λ X  A  X} {C = P}))
  triangle-ev-id P f = refl

Contractibility of the total space of equivalences implies equivalence induction

  abstract
    IND-EQUIV-is-contr-total-equiv :
      is-contr (Σ (UU l1)  X  A  X)) 
      {l : Level} 
      (P : (Σ (UU l1)  X  A  X))  UU l)  IND-EQUIV  B e  P (pair B e))
    IND-EQUIV-is-contr-total-equiv c P =
      section-left-factor
        ( ev-id  X e  P (pair X e)))
        ( ev-pair)
        ( is-singleton-is-contr
          ( pair A id-equiv)
          ( pair
            ( pair A id-equiv)
            ( λ t  ( inv (contraction c (pair A id-equiv))) 
                    ( contraction c t)))
          ( P))

Equivalence induction implies contractibility of the total space of equivalences

  abstract
    is-contr-total-equiv-IND-EQUIV :
      ( {l : Level} (P : (Σ (UU l1)  X  A  X))  UU l) 
        IND-EQUIV  B e  P (pair B e))) 
      is-contr (Σ (UU l1)  X  A  X))
    is-contr-total-equiv-IND-EQUIV ind =
      is-contr-is-singleton
        ( Σ (UU l1)  X  A  X))
        ( pair A id-equiv)
        ( λ P  section-comp
          ( ev-id  X e  P (pair X e)))
          ( ev-pair {A = UU l1} {B = λ X  A  X} {C = P})
          ( pair ind-Σ refl-htpy)
          ( ind P))