{-# OPTIONS --safe #-} module Cubical.Data.Unit.Base where open import Cubical.Foundations.Prelude -- Obtain Unit open import Agda.Builtin.Unit public renaming ( ⊤ to Unit ) -- Universe polymorphic version Unit* : {ℓ : Level} → Type ℓ Unit* = Lift Unit pattern tt* = lift tt -- Pointed version Unit*∙ : ∀ {ℓ} → Σ[ X ∈ Type ℓ ] X fst Unit*∙ = Unit* snd Unit*∙ = tt* -- Universe polymorphic version without definitional equality -- Allows us to "lock" proofs. See "Locking, unlocking" in -- https://coq.inria.fr/refman/proof-engine/ssreflect-proof-language.html data lockUnit {ℓ} : Type ℓ where unlock : lockUnit