Axiom L

module foundation.axiom-l where
Imports
open import foundation.embeddings
open import foundation.equivalences
open import foundation.full-subtypes
open import foundation.function-extensionality
open import foundation.functoriality-dependent-function-types
open import foundation.sets
open import foundation.type-theoretic-principle-of-choice
open import foundation.universal-property-identity-types

open import foundation-core.contractible-types
open import foundation-core.dependent-pair-types
open import foundation-core.fibers-of-maps
open import foundation-core.functions
open import foundation-core.functoriality-dependent-pair-types
open import foundation-core.fundamental-theorem-of-identity-types
open import foundation-core.identity-types
open import foundation-core.injective-maps
open import foundation-core.propositions
open import foundation-core.univalence
open import foundation-core.universe-levels

Idea

Axiom L, which is due to Peter Lumsdaine, asserts that for any two types X and Y in a common universe, the map X = Y → X ≃ Y is an embedding. This axiom is a common generalization of the univalence axiom and axiom K, in the sense that both univalence and axiom K imply axiom L.

Definition

axiom-L : (l : Level)  UU (lsuc l)
axiom-L l = (X Y : UU l)  is-emb (equiv-eq {A = X} {B = Y})

emb-L : {l : Level}  axiom-L l  (X Y : UU l)  (X  Y)  (X  Y)
pr1 (emb-L H X Y) = equiv-eq
pr2 (emb-L H X Y) = H X Y

Properties

Axiom L generalizes the univalence axiom

axiom-L-univalence :
  {l : Level}  ((A B : UU l)  UNIVALENCE A B)  axiom-L l
axiom-L-univalence ua A B = is-emb-is-equiv (ua A B)

Axiom L generalizes axiom K

axiom-L-axiom-K :
  {l : Level}  ((A : UU l)  axiom-K A)  axiom-K (UU l)  axiom-L l
axiom-L-axiom-K K K-UU A B =
  is-emb-is-prop-is-set
    ( is-set-axiom-K K-UU A B)
    ( is-set-equiv-is-set
      ( is-set-axiom-K (K A))
      ( is-set-axiom-K (K B)))

Axiom L implies that Id : A → A → UU l is an embedding

module _
  {l : Level} (L : axiom-L l) (A : UU l)
  where

  is-emb-Id : is-emb (Id {A = A})
  is-emb-Id x =
    fundamental-theorem-id
      ( pair
        ( pair x refl)
        ( λ _ 
          is-injective-emb
            ( emb-fib x)
            ( eq-is-contr (is-contr-total-path x))))
      ( λ _  ap Id)
    where
    emb-fib : (x : A)  fib' Id (Id x)  Σ A (Id x)
    emb-fib x =
      comp-emb
        ( comp-emb
          ( emb-equiv
            ( equiv-tot
              ( λ y 
                ( equiv-ev-refl y) ∘e
                ( ( equiv-inclusion-is-full-subtype
                    ( Π-Prop A  (is-equiv-Prop ∘_))
                    ( fundamental-theorem-id (is-contr-total-path x))) ∘e
                  ( distributive-Π-Σ)))))
          ( emb-Σ
            ( λ y  (z : A)  Id y z  Id x z)
            ( id-emb)
            ( λ y 
              comp-emb
                ( emb-Π  z  emb-L L (Id y z) (Id x z)))
                ( emb-equiv equiv-funext))))
        ( emb-equiv (inv-equiv (equiv-fib Id (Id x))))