Files
gf-core/gf-book/examples/chapter6/Nat.gf
2011-01-11 15:46:43 +00:00

23 lines
527 B
Plaintext

abstract Nat = {
cat
Prop ; -- proposition
Nat ; -- natural number
data
Zero : Nat ; -- 0
Succ : Nat -> Nat ; -- the successor of x
fun
Even : Nat -> Prop ; -- x is even
And : Prop -> Prop -> Prop ; -- A and B
fun one : Nat ;
def one = Succ Zero ;
fun twice : Nat -> Nat ;
def twice x = plus x x ;
fun plus : Nat -> Nat -> Nat ;
def
plus x Zero = x ;
plus x (Succ y) = Succ (plus x y) ;
}