language ESSENCE 1.2.0
$prob110.essence: Peaceably Co-existing Armies of Queens$ Problem details available in:
$Models and Symmetry Breaking for Peaceable Armies of Queens'$   B. M. Smith, K. E. Petrie, I. P. Gent.
$Proc. First International Conference on Integration of AI and OR Techniques$   in Constraint Programming for Combinatorial Optimization Problems (CPAIOR
$2004), LNCS 3011, pp. 271-286, 2004.$
$26 July 2007$

$n: the side length of the board given n : int(1..)$ Index: square indicies can be between 1 and n on both axes
$Square: a square is a tuple made up of two elements, an x-index and a y-index letting Index be domain int(1..n), Square be domain tuple (Index,Index)$ black: the set of squares that contain a black queen
$white: the set of squares that contain a white queen find black, white : set of Square$ maximise the number of squares that contain queens
maximising |black| + |white|

such that
$there are an equal number of black and white queens on the board |black| = |white|,$ no row/column/diagonal has both black and white queens on it
forAll (rb,cb) in black . forAll (rw,cw) in white .
(rb != rw) /\ (cb != cw) /\ (|rw - rb| != |cw - cb|)

`