Tom de Jong 22nd May 2019
The lifting of a set is a set.
We need to assume propositional extensionality for the fixed universe 𝓣 of
propositions and two instances of function extensionality.
\begin{code}
{-# OPTIONS --safe --without-K #-}
open import MLTT.Spartan
module Lifting.Set
(𝓣 : Universe)
where
open import Lifting.Construction 𝓣
open import UF.Base
open import UF.FunExt
open import UF.Retracts
open import UF.Sets
open import UF.Sets-Properties
open import UF.Subsingletons
open import UF.Subsingletons-FunExt
open import UF.Subsingletons-Properties
lifting-of-set-is-set : funext 𝓣 𝓤
→ funext 𝓣 𝓣
→ propext 𝓣
→ (X : 𝓤 ̇ )
→ is-set X
→ is-set (𝓛 X)
lifting-of-set-is-set fe' fe pe X i {l} {m} p q = retract-of-prop r j p q
where
r : Σ has-section
r = (to-Σ-= , from-Σ-= , tofrom-Σ-=)
j : is-prop (Σ (λ p₁ → transport (λ P → (P → X) × is-prop P)
p₁ (pr₂ l) = pr₂ m))
j = Σ-is-prop
(identifications-with-props-are-props pe fe (is-defined m)
(being-defined-is-prop m) (is-defined l))
(λ d → ×-is-set (Π-is-set fe' λ _ → i)
(props-are-sets (being-prop-is-prop fe)))
\end{code}