{-# OPTIONS --safe --without-K #-}

module Canon.Nat where

open import Data.Product
open import Data.Nat
open import Data.Vec

open import Core
open import Signature
open import Canon

open import Level as L


module NatCanon where

  data TNatShape : Set where nat : TNatShape
  TNatΣ = TNatShape  λ where nat  0

  nat′ :  TNatΣ  σ   μ σ
  nat′ = inject (nat , L.lift [])

  open Algebra

  NatVal : Algebra TNatΣ Set Set
  alg NatVal (nat , L.lift []) = 

  natCanon : Canon
  Canon.ty natCanon = TNatΣ
  Canon.val natCanon = NatVal

open NatCanon public