Add Primitives
This commit is contained in:
parent
8b6ee46128
commit
37cb8e0541
62
src/Primitives.agda
Normal file
62
src/Primitives.agda
Normal file
|
@ -0,0 +1,62 @@
|
|||
{-# OPTIONS --cubical #-}
|
||||
module Primitives where
|
||||
|
||||
|
||||
|
||||
module Postulates where
|
||||
open import Agda.Primitive public
|
||||
open CubicalPrimitives public renaming (isOneEmpty to empty)
|
||||
|
||||
postulate
|
||||
Path : ∀ {a} {A : Set a} → A → A → Set a
|
||||
PathP : ∀ {a} → (A : I → Set a) → A i0 → A i1 → Set a
|
||||
|
||||
{-# BUILTIN PATH Path #-}
|
||||
{-# BUILTIN PATHP PathP #-}
|
||||
|
||||
primitive
|
||||
primPathApply : ∀ {a} {A : Set a} {x y : A} → Path x y → I → A
|
||||
primPathPApply : ∀ {a} → {A : I → Set a} → ∀ {x y} → PathP A x y → (i : I) → A i
|
||||
|
||||
postulate
|
||||
Id : ∀ {a} {A : Set a} → A → A → Set a
|
||||
|
||||
{-# BUILTIN ID Id #-}
|
||||
{-# BUILTIN CONID conid #-}
|
||||
|
||||
primitive
|
||||
primDepIMin : _
|
||||
primIdFace : {a : Level} {A : Set a} {x y : A} → Id x y → I
|
||||
primIdPath : {a : Level} {A : Set a} {x y : A} → Id x y → Path x y
|
||||
|
||||
primitive
|
||||
primIdJ : ∀ {a}{p}{A : Set a}{x : A}(P : ∀ y → Id x y → Set p) → P x (conid i1 (\ i -> x)) → ∀ {y} (p : Id x y) → P y p
|
||||
|
||||
{-# BUILTIN SUB Sub #-}
|
||||
|
||||
postulate
|
||||
inc : ∀ {a} {A : Set a} {φ} (x : A) → Sub {A = A} φ (\ _ → x)
|
||||
|
||||
{-# BUILTIN SUBIN inc #-}
|
||||
|
||||
primitive
|
||||
primSubOut : {a : Level} {A : Set a} {φ : I} {u : Partial A φ} → Sub φ u → A
|
||||
|
||||
|
||||
open Postulates public renaming (primPathApply to _∙_; primIMin to _∧_; primIMax to _∨_; primINeg to ~_
|
||||
; primPFrom1 to p[_]
|
||||
; primIdJ to J
|
||||
; primSubOut to ouc
|
||||
; Path to Path'
|
||||
)
|
||||
|
||||
module Unsafe' (dummy : Set₁) = Postulates
|
||||
|
||||
unsafeComp = Unsafe'.primComp Set
|
||||
unsafePOr = Unsafe'.primPOr Set
|
||||
|
||||
Path : ∀ {a} {A : Set a} → A → A → Set a
|
||||
Path {A = A} = PathP (\ _ → A)
|
||||
|
||||
infix 4 _≡_
|
||||
_≡_ = Path
|
Loading…
Reference in a new issue