Files
gf-core/examples/nqueens/Nat.gf
2010-03-24 21:04:37 +00:00

18 lines
340 B
Plaintext

abstract Nat = {
cat Nat ;
data zero : Nat ;
succ : Nat -> Nat ;
cat NE (i,j : 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 ;
fun plus : Nat -> Nat -> Nat ;
def plus zero n = n ;
plus (succ m) n = succ (plus m n) ;
}