diff options
Diffstat (limited to 'book/examples/chapter6/Nat.gf')
| -rw-r--r-- | book/examples/chapter6/Nat.gf | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/book/examples/chapter6/Nat.gf b/book/examples/chapter6/Nat.gf new file mode 100644 index 000000000..ba0dfe4a1 --- /dev/null +++ b/book/examples/chapter6/Nat.gf @@ -0,0 +1,22 @@ +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) ; +} |
