diff options
| author | aarne <aarne@chalmers.se> | 2011-01-11 15:46:43 +0000 |
|---|---|---|
| committer | aarne <aarne@chalmers.se> | 2011-01-11 15:46:43 +0000 |
| commit | e7439d65b0e153434d3acc07df6e2a0972ee79ca (patch) | |
| tree | 36716eec18256eeb600b4a552d9cc80f8ad7f16f /gf-book/examples/chapter6/Nat.gf | |
| parent | 276327f7f264e770478a6d8c6e683266505b0a55 (diff) | |
gf-book web page index and toc
Diffstat (limited to 'gf-book/examples/chapter6/Nat.gf')
| -rw-r--r-- | gf-book/examples/chapter6/Nat.gf | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/gf-book/examples/chapter6/Nat.gf b/gf-book/examples/chapter6/Nat.gf new file mode 100644 index 000000000..ba0dfe4a1 --- /dev/null +++ b/gf-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) ; +} |
