even simpler version of NQueens

This commit is contained in:
krasimir
2010-03-24 21:04:37 +00:00
parent ab3127b5dd
commit 69535e2b6b
4 changed files with 5 additions and 11 deletions

View File

@@ -6,7 +6,9 @@ cat Vec (s,l : Nat) Constr ;
cat Sat Nat Nat Constr ;
data nilV : (s : Nat) -> (c : Constr) -> Vec s zero c ;
consV : (s,l,j : Nat) -> (c : Constr) -> LT j s -> Sat j (succ zero) c -> Vec s l (consC j c) -> Vec s (succ l) c ;
consV : (l,j,k : Nat) ->
let s = succ (plus j k)
in (c : Constr) -> Sat j (succ zero) c -> Vec s l (consC j c) -> Vec s (succ l) c ;
nilC : Constr ;
consC : (j : Nat) -> Constr -> Constr ;

View File

@@ -4,7 +4,7 @@ lincat Matrix, Vec = Str ;
Constr, Sat = {} ;
lin nilV _ _ = "" ;
consV _ _ f _ l _ v = f ++ "X" ++ l ++ "\n" ++ v ;
consV _ j k _ _ v = j ++ "X" ++ k ++ "\n" ++ v ;
matrix _ v = v ;

View File

@@ -6,15 +6,11 @@ data zero : Nat ;
succ : Nat -> Nat ;
cat NE (i,j : Nat) ;
cat LT (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 ;
zLT : (n : Nat) -> LT zero (succ n) ;
sLT : (m,n : Nat) -> LT m n -> LT (succ m) (succ n) ;
fun plus : Nat -> Nat -> Nat ;
def plus zero n = n ;
plus (succ m) n = succ (plus m n) ;

View File

@@ -5,10 +5,6 @@ lincat Nat = Str ;
lin zero = "" ;
succ n = "_" ++ n ;
lincat LT = Str ;
NE = {} ;
lin zLT n = n ;
sLT _ _ l = l ;
lincat NE = {} ;
}