summaryrefslogtreecommitdiff
path: root/examples/nqueens/Nat.gf
diff options
context:
space:
mode:
authorkrasimir <krasimir@chalmers.se>2010-03-21 19:01:57 +0000
committerkrasimir <krasimir@chalmers.se>2010-03-21 19:01:57 +0000
commitf4574a4cfa97e8f501967cf86f33beaf105d0497 (patch)
treeadca1cd0dc2594f947273175ef5e9560aee68687 /examples/nqueens/Nat.gf
parent68840a3d6a745b0c98ee63e070afce22e10c3ba4 (diff)
the NQueens algorithm written in GF
Diffstat (limited to 'examples/nqueens/Nat.gf')
-rw-r--r--examples/nqueens/Nat.gf22
1 files changed, 22 insertions, 0 deletions
diff --git a/examples/nqueens/Nat.gf b/examples/nqueens/Nat.gf
new file mode 100644
index 000000000..8c8b5d542
--- /dev/null
+++ b/examples/nqueens/Nat.gf
@@ -0,0 +1,22 @@
+abstract Nat = {
+
+cat Nat ;
+
+data zero : Nat ;
+ succ : Nat -> Nat ;
+
+cat NE (i,j : Nat) ;
+cat LT (i,j : Nat) ;
+cat Plus Nat Nat Nat ;
+
+data zNE : (i,j : Nat) -> NE i j -> NE (succ i) (succ j) ;
+ lNE : (j : Nat) -> NE zero (succ j) ;
+ rNE : (j : Nat) -> NE (succ j) zero ;
+
+ zLT : (n : Nat) -> LT zero (succ n) ;
+ sLT : (m,n : Nat) -> LT m n -> LT (succ m) (succ n) ;
+
+ zP : (n : Nat) -> Plus zero n n ;
+ sP : (m,n,s : Nat) -> Plus m n s -> Plus (succ m) n (succ s) ;
+
+} \ No newline at end of file