summaryrefslogtreecommitdiff
path: root/examples/nqueens/Nat.gf
blob: 8c8b5d5426a15d5d30e58d289faad30268551f61 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
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) ;

}