Martin Escardo
\begin{code}
{-# OPTIONS --safe --without-K #-}
module UF.Universes where
open import MLTT.Plus-Properties
open import MLTT.Spartan hiding (๐)
open import UF.Equiv
open import UF.Sets
open import UF.Univalence
universes-are-not-sets : is-univalent ๐ค โ ยฌ (is-set (๐ค ฬ ))
universes-are-not-sets {๐ค} ua = ฮณ
where
๐ : ๐ค ฬ
๐ = ๐ {๐ค} + ๐ {๐ค}
swap : ๐ โ ๐
swap (inl โ) = inr โ
swap (inr โ) = inl โ
swap-involutive : (b : ๐) โ swap (swap b) ๏ผ b
swap-involutive (inl โ) = refl
swap-involutive (inr โ) = refl
eโ eโ : ๐ โ ๐
eโ = โ-refl ๐
eโ = qinveq swap (swap , swap-involutive , swap-involutive)
eโ-is-not-eโ : eโ โ eโ
eโ-is-not-eโ p = +disjoint r
where
q : id ๏ผ swap
q = ap โ_โ p
r : inl โ ๏ผ inr โ
r = ap (ฮป - โ - (inl โ)) q
pโ pโ : ๐ ๏ผ ๐
pโ = eqtoid ua ๐ ๐ eโ
pโ = eqtoid ua ๐ ๐ eโ
pโ-is-not-pโ : pโ โ pโ
pโ-is-not-pโ q = eโ-is-not-eโ r
where
r = eโ ๏ผโจ (inverses-are-sections (idtoeq ๐ ๐) (ua ๐ ๐) eโ)โปยน โฉ
idtoeq ๐ ๐ pโ ๏ผโจ ap (idtoeq ๐ ๐) q โฉ
idtoeq ๐ ๐ pโ ๏ผโจ inverses-are-sections (idtoeq ๐ ๐) (ua ๐ ๐) eโ โฉ
eโ โ
ฮณ : ยฌ (is-set (๐ค ฬ ))
ฮณ s = pโ-is-not-pโ q
where
q : pโ ๏ผ pโ
q = s pโ pโ
\end{code}