1234567891011121314151617181920212223242526272829303132 |
- module Nat where
- open import Prelude
- open import Star
- Nat : Set
- Nat = Star One _ _
- zero : Nat
- zero = ε
- suc : Nat -> Nat
- suc n = _ • n
- infixl 50 _+_ _-_
- infixl 60 _*_
- _+_ : Nat -> Nat -> Nat
- _+_ = _++_
- _*_ : Nat -> Nat -> Nat
- x * y = bind id (\ _ -> y) x
- _-_ : Nat -> Nat -> Nat
- n - ε = n
- ε - m = ε
- (_ • n) - (_ • m) = n - m
- test : Nat
- test = suc (suc zero) * suc (suc zero)
|