(role white) (role black) (init (cell 1 1 whiterook)) (init (cell 2 1 whiteknight)) (init (cell 3 1 whitebishop)) (init (cell 4 1 whitequeen)) (init (cell 5 1 whiteking)) (init (cell 6 1 whitebishop)) (init (cell 7 1 whiteknight)) (init (cell 8 1 whiterook)) (init (cell 1 2 whitepawn)) (init (cell 2 2 whitepawn)) (init (cell 3 2 whitepawn)) (init (cell 4 2 whitepawn)) (init (cell 5 2 whitepawn)) (init (cell 6 2 whitepawn)) (init (cell 7 2 whitepawn)) (init (cell 8 2 whitepawn)) (init (cell 1 7 blackpawn)) (init (cell 2 7 blackpawn)) (init (cell 3 7 blackpawn)) (init (cell 4 7 blackpawn)) (init (cell 5 7 blackpawn)) (init (cell 6 7 blackpawn)) (init (cell 7 7 blackpawn)) (init (cell 8 7 blackpawn)) (init (cell 1 8 blackrook)) (init (cell 2 8 blackknight)) (init (cell 3 8 blackbishop)) (init (cell 4 8 blackqueen)) (init (cell 5 8 blackking)) (init (cell 6 8 blackbishop)) (init (cell 7 8 blackknight)) (init (cell 8 8 blackrook)) (init (control white)) (init (step 1)) (<= (legal ?player (move ?x1 ?y1 ?x2 ?y2)) (true (control ?player)) (celloccupiedby ?x1 ?y1 ?player) (validmove ?x1 ?y1 ?x2 ?y2) (not (celloccupiedby ?x2 ?y2 ?player))) (<= (legal ?player noop) (role ?player) (not (true (control ?player)))) (<= (next (cell ?x2 ?y2 ?piece)) (role ?player) (does ?player (move ?x1 ?y1 ?x2 ?y2)) (true (cell ?x1 ?y1 ?piece)) (not (type ?piece pawn))) (<= (next (cell ?x2 ?y2 ?piece)) (does white (move ?x1 ?y1 ?x2 ?y2)) (true (cell ?x1 ?y1 ?piece)) (type ?piece pawn) (distinct ?y2 8)) (<= (next (cell ?x2 8 whitequeen)) (does white (move ?x1 ?y1 ?x2 8)) (true (cell ?x1 ?y1 ?piece)) (type ?piece pawn)) (<= (next (cell ?x2 ?y2 ?piece)) (does black (move ?x1 ?y1 ?x2 ?y2)) (true (cell ?x1 ?y1 ?piece)) (type ?piece pawn) (distinct ?y2 1)) (<= (next (cell ?x2 8 blackqueen)) (does black (move ?x1 ?y1 ?x2 8)) (true (cell ?x1 ?y1 ?piece)) (type ?piece pawn)) (<= (next (cell ?x ?y ?piece)) (true (cell ?x ?y ?piece)) (role ?player) (does ?player (move ?x1 ?y1 ?x2 ?y2)) (distinctcell ?x ?y ?x1 ?y1) (distinctcell ?x ?y ?x2 ?y2)) (<= (next (won white)) (true (cell ?x2 ?y2 blackking)) (does white (move ?x1 ?y1 ?x2 ?y2))) (<= (next (won black)) (true (cell ?x2 ?y2 whiteking)) (does black (move ?x1 ?y1 ?x2 ?y2))) (<= (next (control white)) (true (control black))) (<= (next (control black)) (true (control white))) (<= (next (step ?t++)) (true (step ?t)) (++ ?t ?t++)) (<= terminal (role ?player) (true (won ?player))) (<= terminal (true (step 70))) (<= (goal ?winner 100) (true (won ?winner))) (<= (goal ?loser 0) (true (won ?winner)) (role ?loser) (distinct ?winner ?loser)) (<= (goal ?player 50) (role ?player) (true (step 70)) (not (true (won black))) (not (true (won white)))) (<= (validmove ?x1 ?y1 ?x2 ?y2) (true (cell ?x1 ?y1 ?piece)) (type ?piece pawn) (owns ?piece white) (whitepawnmove ?x1 ?y1 ?x2 ?y2)) (<= (validmove ?x1 ?y1 ?x2 ?y2) (true (cell ?x1 ?y1 ?piece)) (type ?piece pawn) (owns ?piece black) (blackpawnmove ?x1 ?y1 ?x2 ?y2)) (<= (validmove ?x1 ?y1 ?x2 ?y2) (true (cell ?x1 ?y1 ?piece)) (type ?piece rook) (rookmove ?x1 ?y1 ?x2 ?y2)) (<= (validmove ?x1 ?y1 ?x2 ?y2) (true (cell ?x1 ?y1 ?piece)) (type ?piece knight) (knightmove ?x1 ?y1 ?x2 ?y2)) (<= (validmove ?x1 ?y1 ?x2 ?y2) (true (cell ?x1 ?y1 ?piece)) (type ?piece bishop) (bishopmove ?x1 ?y1 ?x2 ?y2)) (<= (validmove ?x1 ?y1 ?x2 ?y2) (true (cell ?x1 ?y1 ?piece)) (type ?piece queen) (queenmove ?x1 ?y1 ?x2 ?y2)) (<= (validmove ?x1 ?y1 ?x2 ?y2) (true (cell ?x1 ?y1 ?piece)) (type ?piece king) (kingmove ?x1 ?y1 ?x2 ?y2)) (<= (whitepawnmove ?x 2 ?x 4) (cellempty ?x 3) (cellempty ?x 4)) (<= (whitepawnmove ?x ?y1 ?x ?y2) (plus 1 ?y1 ?y2) (cellempty ?x ?y2)) (<= (whitepawnmove ?x1 ?y1 ?x2 ?y2) (plus 1 ?x1 ?x2) (plus 1 ?y1 ?y2) (celloccupiedby ?x2 ?y2 black)) (<= (whitepawnmove ?x1 ?y1 ?x2 ?y2) (plus 1 ?x2 ?x1) (plus 1 ?y1 ?y2) (celloccupiedby ?x2 ?y2 black)) (<= (blackpawnmove ?x 7 ?x 5) (cellempty ?x 6) (cellempty ?x 5)) (<= (blackpawnmove ?x ?y1 ?x ?y2) (plus 1 ?y2 ?y1) (cellempty ?x ?y2)) (<= (blackpawnmove ?x1 ?y1 ?x2 ?y2) (plus 1 ?x1 ?x2) (plus 1 ?y2 ?y1) (celloccupiedby ?x2 ?y2 white)) (<= (blackpawnmove ?x1 ?y1 ?x2 ?y2) (plus 1 ?x2 ?x1) (plus 1 ?y2 ?y1) (celloccupiedby ?x2 ?y2 white)) (<= (rookmove ?x1 ?y1 ?x2 ?y2) (horizontalmove ?x1 ?y1 ?x2 ?y2)) (<= (rookmove ?x1 ?y1 ?x2 ?y2) (horizontalmove ?x2 ?y2 ?x1 ?y1)) (<= (rookmove ?x1 ?y1 ?x2 ?y2) (verticalmove ?x1 ?y1 ?x2 ?y2)) (<= (rookmove ?x1 ?y1 ?x2 ?y2) (verticalmove ?x2 ?y2 ?x1 ?y1)) (<= (knightmove ?x1 ?y1 ?x2 ?y2) (plus 2 ?x1 ?x2) (plus 1 ?y1 ?y2)) (<= (knightmove ?x1 ?y1 ?x2 ?y2) (plus 2 ?x1 ?x2) (plus 1 ?y2 ?y1)) (<= (knightmove ?x1 ?y1 ?x2 ?y2) (plus 2 ?x2 ?x1) (plus 1 ?y1 ?y2)) (<= (knightmove ?x1 ?y1 ?x2 ?y2) (plus 2 ?x2 ?x1) (plus 1 ?y2 ?y1)) (<= (knightmove ?x1 ?y1 ?x2 ?y2) (plus 2 ?y1 ?y2) (plus 1 ?x1 ?x2)) (<= (knightmove ?x1 ?y1 ?x2 ?y2) (plus 2 ?y1 ?y2) (plus 1 ?x2 ?x1)) (<= (knightmove ?x1 ?y1 ?x2 ?y2) (plus 2 ?y2 ?y1) (plus 1 ?x1 ?x2)) (<= (knightmove ?x1 ?y1 ?x2 ?y2) (plus 2 ?y2 ?y1) (plus 1 ?x2 ?x1)) (<= (bishopmove ?x1 ?y1 ?x2 ?y2) (diagonalupmove ?x1 ?y1 ?x2 ?y2)) (<= (bishopmove ?x1 ?y1 ?x2 ?y2) (diagonalupmove ?x2 ?y2 ?x1 ?y1)) (<= (bishopmove ?x1 ?y1 ?x2 ?y2) (diagonaldownmove ?x1 ?y1 ?x2 ?y2)) (<= (bishopmove ?x1 ?y1 ?x2 ?y2) (diagonaldownmove ?x2 ?y2 ?x1 ?y1)) (<= (queenmove ?x1 ?y1 ?x2 ?y2) (rookmove ?x1 ?y1 ?x2 ?y2)) (<= (queenmove ?x1 ?y1 ?x2 ?y2) (bishopmove ?x1 ?y1 ?x2 ?y2)) (<= (kingmove ?x1 ?y ?x2 ?y) (plus 1 ?x1 ?x2) (index ?y)) (<= (kingmove ?x1 ?y ?x2 ?y) (plus 1 ?x2 ?x1) (index ?y)) (<= (kingmove ?x ?y1 ?x ?y2) (plus 1 ?y1 ?y2) (index ?x)) (<= (kingmove ?x ?y1 ?x ?y2) (plus 1 ?y2 ?y1) (index ?x)) (<= (kingmove ?x1 ?y1 ?x2 ?y2) (plus 1 ?x1 ?x2) (plus 1 ?y1 ?y2)) (<= (kingmove ?x1 ?y1 ?x2 ?y2) (plus 1 ?x2 ?x1) (plus 1 ?y1 ?y2)) (<= (kingmove ?x1 ?y1 ?x2 ?y2) (plus 1 ?x1 ?x2) (plus 1 ?y2 ?y1)) (<= (kingmove ?x1 ?y1 ?x2 ?y2) (plus 1 ?x2 ?x1) (plus 1 ?y2 ?y1)) (<= (horizontalmove ?x1 ?y ?x3 ?y) (plus 1 ?x1 ?x2) (cellempty ?x2 ?y) (horizontalmove ?x2 ?y ?x3 ?y) (index ?y)) (<= (horizontalmove ?x1 ?y ?x2 ?y) (plus 1 ?x1 ?x2) (index ?y)) (<= (verticalmove ?x ?y1 ?x ?y3) (plus 1 ?y1 ?y2) (cellempty ?x ?y2) (verticalmove ?x ?y2 ?x ?y3) (index ?x)) (<= (verticalmove ?x ?y1 ?x ?y2) (plus 1 ?y1 ?y2) (index ?x)) (<= (diagonalupmove ?x1 ?y1 ?x3 ?y3) (plus 1 ?x1 ?x2) (plus 1 ?y1 ?y2) (cellempty ?x2 ?y2) (diagonalupmove ?x2 ?y2 ?x3 ?y3)) (<= (diagonalupmove ?x1 ?y1 ?x2 ?y2) (plus 1 ?x1 ?x2) (plus 1 ?y1 ?y2)) (<= (diagonaldownmove ?x1 ?y1 ?x3 ?y3) (plus 1 ?x1 ?x2) (plus 1 ?y2 ?y1) (cellempty ?x2 ?y2) (diagonaldownmove ?x2 ?y2 ?x3 ?y3)) (<= (diagonaldownmove ?x1 ?y1 ?x2 ?y2) (plus 1 ?x1 ?x2) (plus 1 ?y2 ?y1)) (<= (haslegalmove ?player) (celloccupiedby ?x1 ?y1 ?player) (validmove ?x1 ?y1 ?x2 ?y2) (not (celloccupiedby ?x2 ?y2 ?player))) (<= (haspiece ?player) (true (cell ?x ?y ?piece)) (owns ?piece ?player)) (<= (distinctcell ?x1 ?y1 ?x2 ?y2) (cell ?x1 ?y1) (cell ?x2 ?y2) (distinct ?x1 ?x2)) (<= (distinctcell ?x1 ?y1 ?x2 ?y2) (cell ?x1 ?y1) (cell ?x2 ?y2) (distinct ?y1 ?y2)) (<= (celloccupiedby ?x ?y ?player) (true (cell ?x ?y ?piece)) (owns ?piece ?player)) (<= (cellempty ?x ?y) (cell ?x ?y) (not (celloccupiedby ?x ?y black)) (not (celloccupiedby ?x ?y white))) (<= (cell ?x ?y) (index ?x) (index ?y)) (index 1) (index 2) (index 3) (index 4) (index 5) (index 6) (index 7) (index 8) (plus 1 1 2) (plus 1 2 3) (plus 1 3 4) (plus 1 4 5) (plus 1 5 6) (plus 1 6 7) (plus 1 7 8) (plus 2 1 3) (plus 2 2 4) (plus 2 3 5) (plus 2 4 6) (plus 2 5 7) (plus 2 6 8) (++ 1 2) (++ 2 3) (++ 3 4) (++ 4 5) (++ 5 6) (++ 6 7) (++ 7 8) (++ 8 9) (++ 9 10) (++ 10 11) (++ 11 12) (++ 12 13) (++ 13 14) (++ 14 15) (++ 15 16) (++ 16 17) (++ 17 18) (++ 18 19) (++ 19 20) (++ 20 21) (++ 21 22) (++ 22 23) (++ 23 24) (++ 24 25) (++ 25 26) (++ 26 27) (++ 27 28) (++ 28 29) (++ 29 30) (++ 30 31) (++ 31 32) (++ 32 33) (++ 33 34) (++ 34 35) (++ 35 36) (++ 36 37) (++ 37 38) (++ 38 39) (++ 39 40) (++ 40 41) (++ 41 42) (++ 42 43) (++ 43 44) (++ 44 45) (++ 45 46) (++ 46 47) (++ 47 48) (++ 48 49) (++ 49 50) (++ 50 51) (++ 51 52) (++ 52 53) (++ 53 54) (++ 54 55) (++ 55 56) (++ 56 57) (++ 57 58) (++ 58 59) (++ 59 60) (++ 60 61) (++ 61 62) (++ 62 63) (++ 63 64) (++ 64 65) (++ 65 66) (++ 66 67) (++ 67 68) (++ 68 69) (++ 69 70) (++ 70 71) (++ 71 72) (++ 72 73) (++ 73 74) (++ 74 75) (++ 75 76) (++ 76 77) (++ 77 78) (++ 78 79) (++ 79 80) (++ 80 81) (++ 81 82) (++ 82 83) (++ 83 84) (++ 84 85) (++ 85 86) (++ 86 87) (++ 87 88) (++ 88 89) (++ 89 90) (++ 90 91) (++ 91 92) (++ 92 93) (++ 93 94) (++ 94 95) (++ 95 96) (++ 96 97) (++ 97 98) (++ 98 99) (++ 99 100) (scoremap 0 0) (scoremap 1 6) (scoremap 2 12) (scoremap 3 18) (scoremap 4 24) (scoremap 5 30) (scoremap 6 36) (scoremap 7 42) (scoremap 8 48) (scoremap 9 54) (scoremap 10 60) (scoremap 11 66) (scoremap 12 72) (scoremap 13 79) (scoremap 14 86) (scoremap 15 93) (scoremap 16 100) (owns whitepawn white) (owns whiterook white) (owns whiteknight white) (owns whitebishop white) (owns whitequeen white) (owns whiteking white) (owns blackpawn black) (owns blackrook black) (owns blackknight black) (owns blackbishop black) (owns blackqueen black) (owns blackking black) (type whitepawn pawn) (type whiterook rook) (type whiteknight knight) (type whitebishop bishop) (type whitequeen queen) (type whiteking king) (type blackpawn pawn) (type blackrook rook) (type blackknight knight) (type blackbishop bishop) (type blackqueen queen) (type blackking king)