{-# OPTIONS --without-K --safe #-} module Util.HoTT.Singleton where open import Util.HoTT.HLevel.Core open import Util.Prelude private variable α : Level A : Set α Singleton : {A : Set α} (x : A) → Set α Singleton x = ∃[ y ] (y ≡ x) IsContr-Singleton : {x : A} → IsContr (Singleton x) IsContr-Singleton {x = x} = (x , refl) , λ { (x′ , refl) → refl } Singleton-HContr : {A : Set α} (x : A) → HContr α Singleton-HContr x = HLevel⁺ (Singleton x) IsContr-Singleton Singleton′ : {A : Set α} (x : A) → Set α Singleton′ x = ∃[ y ] (x ≡ y) IsContr-Singleton′ : {x : A} → IsContr (Singleton′ x) IsContr-Singleton′ {x = x} = (x , refl) , λ { (x′ , refl) → refl } Singleton′-HContr : {A : Set α} (x : A) → HContr α Singleton′-HContr x = HLevel⁺ (Singleton′ x) IsContr-Singleton′