module Lib.Nat where
data Nat : Set where
zero : Nat
suc : Nat → Nat
{-# BUILTIN NATURAL Nat #-}
_+_ : Nat → Nat → Nat
zero + n = n
(suc m) + n = suc (m + n)
data Fin : Nat → Set where
zero : ∀ { n } → Fin (suc n)
suc : ∀ { n } → (i : Fin n) → Fin (suc n)