open import 1Lab.Path
open import 1Lab.Type
open import Data.String.Base
open import Data.String.Show
open import Data.Bool.Base
open import Data.List.Base
open import Data.Dec.Base
open import Data.Nat.Base
open import Data.Id.Base
module Data.Reflection.Meta where
postulate Meta : Type
{-# BUILTIN AGDAMETA Meta #-}
private module P where primitive
primMetaEquality : Meta → Meta → Bool
primMetaLess : Meta → Meta → Bool
primShowMeta : Meta → String
primMetaToNat : Meta → Nat
primMetaToNatInjective : ∀ x y → primMetaToNat x ≡ᵢ primMetaToNat y → x ≡ᵢ y
instance
Discrete-Meta : Discrete Meta
Discrete-Meta = Discrete-inj' _ (P.primMetaToNatInjective _ _)
Show-Meta : Show Meta
Show-Meta = default-show P.primShowMeta
data Blocker : Type where
blocker-any : List Blocker → Blocker
blocker-all : List Blocker → Blocker
blocker-meta : Meta → Blocker
{-# BUILTIN AGDABLOCKER Blocker #-}
{-# BUILTIN AGDABLOCKERANY blocker-any #-}
{-# BUILTIN AGDABLOCKERALL blocker-all #-}
{-# BUILTIN AGDABLOCKERMETA blocker-meta #-}