Derivatives for Containers in Univalent Foundations
Agda.Primitive
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

    Agda.Primitive

    -- The Agda primitives (preloaded).
    
    {-# OPTIONS --cubical-compatible --no-import-sorts --level-universe #-}
    
    module Agda.Primitive where
    
    ------------------------------------------------------------------------
    -- Universe levels
    ------------------------------------------------------------------------
    
    infixl 6 _⊔_
    
    {-# BUILTIN PROP           Prop      #-}
    {-# BUILTIN TYPE           Set       #-}
    {-# BUILTIN STRICTSET      SSet      #-}
    
    {-# BUILTIN PROPOMEGA      Propω     #-}
    {-# BUILTIN SETOMEGA       Setω      #-}
    {-# BUILTIN STRICTSETOMEGA SSetω     #-}
    
    {-# BUILTIN LEVELUNIV      LevelUniv #-}
    
    -- Level is the first thing we need to define.
    -- The other postulates can only be checked if built-in Level is known.
    
    postulate
      Level : LevelUniv
    
    -- MAlonzo compiles Level to (). This should be safe, because it is
    -- not possible to pattern match on levels.
    
    {-# BUILTIN LEVEL Level #-}
    
    postulate
      lzero : Level
      lsuc  : (ℓ : Level) → Level
      _⊔_   : (ℓ₁ ℓ₂ : Level) → Level
    
    {-# BUILTIN LEVELZERO lzero #-}
    {-# BUILTIN LEVELSUC  lsuc  #-}
    {-# BUILTIN LEVELMAX  _⊔_   #-}
    
    Made with Material for MkDocs