forked from GitHub/gf-core
23 lines
527 B
Plaintext
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) ;
|
|
}
|