module Prelude where
{-# BUILTIN SIZEUNIV SizeU #-}
{-# BUILTIN SIZE Size #-}
{-# BUILTIN SIZELT Size<_ #-}
{-# BUILTIN SIZESUC ↑_ #-}
{-# BUILTIN SIZEINF ∞ #-}
{-# BUILTIN SIZEMAX _⊔_ #-}
record ∃< (i : Size) (F : Size → Set) : Set where
constructor ^
field {j} : Size< i
t : F j
syntax ∃< i (λ j → A) = ∃ j < i , A
record 𝟙 : Set where
record _×_ (A B : Set) : Set where
constructor _,_
field fst : A
snd : B
open _×_ public
data ℕ : Set where
zero : ℕ
suc : (n : ℕ) → ℕ
{-# BUILTIN NATURAL ℕ #-}
_+_ : (n m : ℕ) → ℕ
zero + m = m
suc n + m = suc (n + m)