% This example is adapted from http://eclipse.crosscoreop.com/examples/puzzle1.pl.txt
:- use_module(library('clpfd')).
solve(Board) :-
Board = [NW,N,NE,W,E,SW,S,SE],
maplist(in_board(0..12), Board),
sum(Board, #=, 12),
NW + N + NE #= 5,
NE + E + SE #= 5,
NW + W + SW #= 5,
SW + S + SE #= 5,
label(Board).
in_board(D, V) :- V in D.