diff --git a/examples/nqueens/NQueens.gf b/examples/nqueens/NQueens.gf index bd236bf55..960bef6d1 100644 --- a/examples/nqueens/NQueens.gf +++ b/examples/nqueens/NQueens.gf @@ -1,10 +1,13 @@ abstract NQueens = Nat ** { +cat S ; cat Matrix Nat ; cat [Nat] ; cat Vec (s,l : Nat) [Nat] ; cat Sat Nat Nat [Nat] ; +data queens : Matrix (succ (succ (succ (succ (succ (succ (succ (succ zero)))))))) -> S ; + data nilV : ({s} : Nat) -> ({c} : [Nat]) -> Vec s zero c ; consV : ({l},j,k : Nat) -> let s = succ (plus j k) diff --git a/examples/nqueens/NQueensAscii.gf b/examples/nqueens/NQueensAscii.gf index 261d28f7a..a5bb2ed76 100644 --- a/examples/nqueens/NQueensAscii.gf +++ b/examples/nqueens/NQueensAscii.gf @@ -1,8 +1,10 @@ concrete NQueensAscii of NQueens = NatAscii ** { -lincat Matrix, Vec = Str ; +lincat S, Matrix, Vec = Str ; ListNat, Sat = {} ; +lin queens m = m ; + lin nilV _ _ = "" ; consV _ j k _ _ v = j ++ "X" ++ k ++ ";" ++ v ;