mirror of
https://github.com/GrammaticalFramework/gf-core.git
synced 2026-04-10 05:29:30 -06:00
22 lines
652 B
Plaintext
22 lines
652 B
Plaintext
abstract NQueens = Nat ** {
|
|
|
|
cat S ;
|
|
cat Matrix Nat ;
|
|
cat [Nat] ;
|
|
cat Vec (s,l : Nat) [Nat] ;
|
|
cat Sat Nat Nat [Nat] ;
|
|
|
|
data nqueens : (n : Nat) -> Matrix n -> S ;
|
|
|
|
data nilV : ({s} : Nat) -> ({c} : [Nat]) -> Vec s zero c ;
|
|
consV : ({l},j,k : Nat) ->
|
|
let s = succ (plus j k)
|
|
in ({c} : [Nat]) -> Sat j (succ zero) c -> Vec s l (ConsNat j c) -> Vec s (succ l) c ;
|
|
|
|
nilS : ({j,d} : Nat) -> Sat j d BaseNat ;
|
|
consS : ({i,j,d} : Nat) -> ({c} : [Nat]) -> NE i j -> NE i (plus d j) -> NE (plus d i) j -> Sat j (succ d) c -> Sat j d (ConsNat i c) ;
|
|
|
|
matrix : ({s} : Nat) -> Vec s s BaseNat -> Matrix s ;
|
|
|
|
}
|