Derivatives for Containers in Univalent Foundations
Cubical.Data.Unit.Base
Initializing search
    phijor/derivatives
    • Overview
    • Library
    phijor/derivatives
    • Overview
      • Derivative.Bag
      • Derivative.Adjunction
      • Derivative.Basics.Sum
      • Derivative.Basics.Unit
      • Derivative.Basics.W
      • Derivative.Basics.Decidable
      • Derivative.Basics.Embedding
      • Derivative.Basics.Equiv
      • Derivative.Basics.Maybe
      • Derivative.Basics.Sigma
      • Derivative.Category
      • Derivative.ChainRule
      • Derivative.Container
      • Derivative.Derivative
      • Derivative.Indexed.Mu
      • Derivative.Indexed.ChainRule
      • Derivative.Indexed.Container
      • Derivative.Indexed.Derivative
      • Derivative.Indexed.MuRule
      • Derivative.Indexed.Univalence
      • Derivative.Isolated.Base
      • Derivative.Isolated
      • Derivative.Isolated.S1
      • Derivative.Isolated.Sum
      • Derivative.Isolated.W
      • Derivative.Isolated.DependentGrafting
      • Derivative.Isolated.Grafting
      • Derivative.Isolated.Maybe
      • Derivative.Isolated.Sigma
      • Derivative.Prelude
      • Derivative.Properties
      • Derivative.Remove

    Cubical.Data.Unit.Base

    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
    
    Made with Material for MkDocs