Gamemaster
General
Game
Playing
Protocol: tester
Player: minimaxdepthground
Depth:
4
Game: nineboardground
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%% nineboardtictactoe %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%% metadata %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% role(x) role(o) %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%% init %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% init(cell(1,1,1,1,b)) init(cell(1,1,1,2,b)) init(cell(1,1,1,3,b)) init(cell(1,1,2,1,b)) init(cell(1,1,2,2,b)) init(cell(1,1,2,3,b)) init(cell(1,1,3,1,b)) init(cell(1,1,3,2,b)) init(cell(1,1,3,3,b)) init(cell(1,2,1,1,b)) init(cell(1,2,1,2,b)) init(cell(1,2,1,3,b)) init(cell(1,2,2,1,b)) init(cell(1,2,2,2,b)) init(cell(1,2,2,3,b)) init(cell(1,2,3,1,b)) init(cell(1,2,3,2,b)) init(cell(1,2,3,3,b)) init(cell(1,3,1,1,b)) init(cell(1,3,1,2,b)) init(cell(1,3,1,3,b)) init(cell(1,3,2,1,b)) init(cell(1,3,2,2,b)) init(cell(1,3,2,3,b)) init(cell(1,3,3,1,b)) init(cell(1,3,3,2,b)) init(cell(1,3,3,3,b)) init(cell(2,1,1,1,b)) init(cell(2,1,1,2,b)) init(cell(2,1,1,3,b)) init(cell(2,1,2,1,b)) init(cell(2,1,2,2,b)) init(cell(2,1,2,3,b)) init(cell(2,1,3,1,b)) init(cell(2,1,3,2,b)) init(cell(2,1,3,3,b)) init(cell(2,2,1,1,b)) init(cell(2,2,1,2,b)) init(cell(2,2,1,3,b)) init(cell(2,2,2,1,b)) init(cell(2,2,2,2,b)) init(cell(2,2,2,3,b)) init(cell(2,2,3,1,b)) init(cell(2,2,3,2,b)) init(cell(2,2,3,3,b)) init(cell(2,3,1,1,b)) init(cell(2,3,1,2,b)) init(cell(2,3,1,3,b)) init(cell(2,3,2,1,b)) init(cell(2,3,2,2,b)) init(cell(2,3,2,3,b)) init(cell(2,3,3,1,b)) init(cell(2,3,3,2,b)) init(cell(2,3,3,3,b)) init(cell(3,1,1,1,b)) init(cell(3,1,1,2,b)) init(cell(3,1,1,3,b)) init(cell(3,1,2,1,b)) init(cell(3,1,2,2,b)) init(cell(3,1,2,3,b)) init(cell(3,1,3,1,b)) init(cell(3,1,3,2,b)) init(cell(3,1,3,3,b)) init(cell(3,2,1,1,b)) init(cell(3,2,1,2,b)) init(cell(3,2,1,3,b)) init(cell(3,2,2,1,b)) init(cell(3,2,2,2,b)) init(cell(3,2,2,3,b)) init(cell(3,2,3,1,b)) init(cell(3,2,3,2,b)) init(cell(3,2,3,3,b)) init(cell(3,3,1,1,b)) init(cell(3,3,1,2,b)) init(cell(3,3,1,3,b)) init(cell(3,3,2,1,b)) init(cell(3,3,2,2,b)) init(cell(3,3,2,3,b)) init(cell(3,3,3,1,b)) init(cell(3,3,3,2,b)) init(cell(3,3,3,3,b)) init(current(2,2)) init(control(x)) %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%% legal %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% legal(mark(1,1,1,1)) :- current(1,1) & cell(1,1,1,1,b) legal(mark(1,1,1,2)) :- current(1,1) & cell(1,1,1,2,b) legal(mark(1,1,1,3)) :- current(1,1) & cell(1,1,1,3,b) legal(mark(1,1,2,1)) :- current(1,1) & cell(1,1,2,1,b) legal(mark(1,1,2,2)) :- current(1,1) & cell(1,1,2,2,b) legal(mark(1,1,2,3)) :- current(1,1) & cell(1,1,2,3,b) legal(mark(1,1,3,1)) :- current(1,1) & cell(1,1,3,1,b) legal(mark(1,1,3,2)) :- current(1,1) & cell(1,1,3,2,b) legal(mark(1,1,3,3)) :- current(1,1) & cell(1,1,3,3,b) legal(mark(1,2,1,1)) :- current(1,2) & cell(1,2,1,1,b) legal(mark(1,2,1,2)) :- current(1,2) & cell(1,2,1,2,b) legal(mark(1,2,1,3)) :- current(1,2) & cell(1,2,1,3,b) legal(mark(1,2,2,1)) :- current(1,2) & cell(1,2,2,1,b) legal(mark(1,2,2,2)) :- current(1,2) & cell(1,2,2,2,b) legal(mark(1,2,2,3)) :- current(1,2) & cell(1,2,2,3,b) legal(mark(1,2,3,1)) :- current(1,2) & cell(1,2,3,1,b) legal(mark(1,2,3,2)) :- current(1,2) & cell(1,2,3,2,b) legal(mark(1,2,3,3)) :- current(1,2) & cell(1,2,3,3,b) legal(mark(1,3,1,1)) :- current(1,3) & cell(1,3,1,1,b) legal(mark(1,3,1,2)) :- current(1,3) & cell(1,3,1,2,b) legal(mark(1,3,1,3)) :- current(1,3) & cell(1,3,1,3,b) legal(mark(1,3,2,1)) :- current(1,3) & cell(1,3,2,1,b) legal(mark(1,3,2,2)) :- current(1,3) & cell(1,3,2,2,b) legal(mark(1,3,2,3)) :- current(1,3) & cell(1,3,2,3,b) legal(mark(1,3,3,1)) :- current(1,3) & cell(1,3,3,1,b) legal(mark(1,3,3,2)) :- current(1,3) & cell(1,3,3,2,b) legal(mark(1,3,3,3)) :- current(1,3) & cell(1,3,3,3,b) legal(mark(2,1,1,1)) :- current(2,1) & cell(2,1,1,1,b) legal(mark(2,1,1,2)) :- current(2,1) & cell(2,1,1,2,b) legal(mark(2,1,1,3)) :- current(2,1) & cell(2,1,1,3,b) legal(mark(2,1,2,1)) :- current(2,1) & cell(2,1,2,1,b) legal(mark(2,1,2,2)) :- current(2,1) & cell(2,1,2,2,b) legal(mark(2,1,2,3)) :- current(2,1) & cell(2,1,2,3,b) legal(mark(2,1,3,1)) :- current(2,1) & cell(2,1,3,1,b) legal(mark(2,1,3,2)) :- current(2,1) & cell(2,1,3,2,b) legal(mark(2,1,3,3)) :- current(2,1) & cell(2,1,3,3,b) legal(mark(2,2,1,1)) :- current(2,2) & cell(2,2,1,1,b) legal(mark(2,2,1,2)) :- current(2,2) & cell(2,2,1,2,b) legal(mark(2,2,1,3)) :- current(2,2) & cell(2,2,1,3,b) legal(mark(2,2,2,1)) :- current(2,2) & cell(2,2,2,1,b) legal(mark(2,2,2,2)) :- current(2,2) & cell(2,2,2,2,b) legal(mark(2,2,2,3)) :- current(2,2) & cell(2,2,2,3,b) legal(mark(2,2,3,1)) :- current(2,2) & cell(2,2,3,1,b) legal(mark(2,2,3,2)) :- current(2,2) & cell(2,2,3,2,b) legal(mark(2,2,3,3)) :- current(2,2) & cell(2,2,3,3,b) legal(mark(2,3,1,1)) :- current(2,3) & cell(2,3,1,1,b) legal(mark(2,3,1,2)) :- current(2,3) & cell(2,3,1,2,b) legal(mark(2,3,1,3)) :- current(2,3) & cell(2,3,1,3,b) legal(mark(2,3,2,1)) :- current(2,3) & cell(2,3,2,1,b) legal(mark(2,3,2,2)) :- current(2,3) & cell(2,3,2,2,b) legal(mark(2,3,2,3)) :- current(2,3) & cell(2,3,2,3,b) legal(mark(2,3,3,1)) :- current(2,3) & cell(2,3,3,1,b) legal(mark(2,3,3,2)) :- current(2,3) & cell(2,3,3,2,b) legal(mark(2,3,3,3)) :- current(2,3) & cell(2,3,3,3,b) legal(mark(3,1,1,1)) :- current(3,1) & cell(3,1,1,1,b) legal(mark(3,1,1,2)) :- current(3,1) & cell(3,1,1,2,b) legal(mark(3,1,1,3)) :- current(3,1) & cell(3,1,1,3,b) legal(mark(3,1,2,1)) :- current(3,1) & cell(3,1,2,1,b) legal(mark(3,1,2,2)) :- current(3,1) & cell(3,1,2,2,b) legal(mark(3,1,2,3)) :- current(3,1) & cell(3,1,2,3,b) legal(mark(3,1,3,1)) :- current(3,1) & cell(3,1,3,1,b) legal(mark(3,1,3,2)) :- current(3,1) & cell(3,1,3,2,b) legal(mark(3,1,3,3)) :- current(3,1) & cell(3,1,3,3,b) legal(mark(3,2,1,1)) :- current(3,2) & cell(3,2,1,1,b) legal(mark(3,2,1,2)) :- current(3,2) & cell(3,2,1,2,b) legal(mark(3,2,1,3)) :- current(3,2) & cell(3,2,1,3,b) legal(mark(3,2,2,1)) :- current(3,2) & cell(3,2,2,1,b) legal(mark(3,2,2,2)) :- current(3,2) & cell(3,2,2,2,b) legal(mark(3,2,2,3)) :- current(3,2) & cell(3,2,2,3,b) legal(mark(3,2,3,1)) :- current(3,2) & cell(3,2,3,1,b) legal(mark(3,2,3,2)) :- current(3,2) & cell(3,2,3,2,b) legal(mark(3,2,3,3)) :- current(3,2) & cell(3,2,3,3,b) legal(mark(3,3,1,1)) :- current(3,3) & cell(3,3,1,1,b) legal(mark(3,3,1,2)) :- current(3,3) & cell(3,3,1,2,b) legal(mark(3,3,1,3)) :- current(3,3) & cell(3,3,1,3,b) legal(mark(3,3,2,1)) :- current(3,3) & cell(3,3,2,1,b) legal(mark(3,3,2,2)) :- current(3,3) & cell(3,3,2,2,b) legal(mark(3,3,2,3)) :- current(3,3) & cell(3,3,2,3,b) legal(mark(3,3,3,1)) :- current(3,3) & cell(3,3,3,1,b) legal(mark(3,3,3,2)) :- current(3,3) & cell(3,3,3,2,b) legal(mark(3,3,3,3)) :- current(3,3) & cell(3,3,3,3,b) %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%% operations %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% mark(1,1,1,1) :: control(x) ==> cell(1,1,1,1,x) & ~cell(1,1,1,1,b) mark(1,1,1,1) :: control(o) ==> cell(1,1,1,1,o) & ~cell(1,1,1,1,b) mark(1,1,1,2) :: control(x) ==> cell(1,1,1,2,x) & ~cell(1,1,1,2,b) mark(1,1,1,2) :: control(o) ==> cell(1,1,1,2,o) & ~cell(1,1,1,2,b) mark(1,1,1,3) :: control(x) ==> cell(1,1,1,3,x) & ~cell(1,1,1,3,b) mark(1,1,1,3) :: control(o) ==> cell(1,1,1,3,o) & ~cell(1,1,1,3,b) mark(1,1,2,1) :: control(x) ==> cell(1,1,2,1,x) & ~cell(1,1,2,1,b) mark(1,1,2,1) :: control(o) ==> cell(1,1,2,1,o) & ~cell(1,1,2,1,b) mark(1,1,2,2) :: control(x) ==> cell(1,1,2,2,x) & ~cell(1,1,2,2,b) mark(1,1,2,2) :: control(o) ==> cell(1,1,2,2,o) & ~cell(1,1,2,2,b) mark(1,1,2,3) :: control(x) ==> cell(1,1,2,3,x) & ~cell(1,1,2,3,b) mark(1,1,2,3) :: control(o) ==> cell(1,1,2,3,o) & ~cell(1,1,2,3,b) mark(1,1,3,1) :: control(x) ==> cell(1,1,3,1,x) & ~cell(1,1,3,1,b) mark(1,1,3,1) :: control(o) ==> cell(1,1,3,1,o) & ~cell(1,1,3,1,b) mark(1,1,3,2) :: control(x) ==> cell(1,1,3,2,x) & ~cell(1,1,3,2,b) mark(1,1,3,2) :: control(o) ==> cell(1,1,3,2,o) & ~cell(1,1,3,2,b) mark(1,1,3,3) :: control(x) ==> cell(1,1,3,3,x) & ~cell(1,1,3,3,b) mark(1,1,3,3) :: control(o) ==> cell(1,1,3,3,o) & ~cell(1,1,3,3,b) mark(1,2,1,1) :: control(x) ==> cell(1,2,1,1,x) & ~cell(1,2,1,1,b) mark(1,2,1,1) :: control(o) ==> cell(1,2,1,1,o) & ~cell(1,2,1,1,b) mark(1,2,1,2) :: control(x) ==> cell(1,2,1,2,x) & ~cell(1,2,1,2,b) mark(1,2,1,2) :: control(o) ==> cell(1,2,1,2,o) & ~cell(1,2,1,2,b) mark(1,2,1,3) :: control(x) ==> cell(1,2,1,3,x) & ~cell(1,2,1,3,b) mark(1,2,1,3) :: control(o) ==> cell(1,2,1,3,o) & ~cell(1,2,1,3,b) mark(1,2,2,1) :: control(x) ==> cell(1,2,2,1,x) & ~cell(1,2,2,1,b) mark(1,2,2,1) :: control(o) ==> cell(1,2,2,1,o) & ~cell(1,2,2,1,b) mark(1,2,2,2) :: control(x) ==> cell(1,2,2,2,x) & ~cell(1,2,2,2,b) mark(1,2,2,2) :: control(o) ==> cell(1,2,2,2,o) & ~cell(1,2,2,2,b) mark(1,2,2,3) :: control(x) ==> cell(1,2,2,3,x) & ~cell(1,2,2,3,b) mark(1,2,2,3) :: control(o) ==> cell(1,2,2,3,o) & ~cell(1,2,2,3,b) mark(1,2,3,1) :: control(x) ==> cell(1,2,3,1,x) & ~cell(1,2,3,1,b) mark(1,2,3,1) :: control(o) ==> cell(1,2,3,1,o) & ~cell(1,2,3,1,b) mark(1,2,3,2) :: control(x) ==> cell(1,2,3,2,x) & ~cell(1,2,3,2,b) mark(1,2,3,2) :: control(o) ==> cell(1,2,3,2,o) & ~cell(1,2,3,2,b) mark(1,2,3,3) :: control(x) ==> cell(1,2,3,3,x) & ~cell(1,2,3,3,b) mark(1,2,3,3) :: control(o) ==> cell(1,2,3,3,o) & ~cell(1,2,3,3,b) mark(1,3,1,1) :: control(x) ==> cell(1,3,1,1,x) & ~cell(1,3,1,1,b) mark(1,3,1,1) :: control(o) ==> cell(1,3,1,1,o) & ~cell(1,3,1,1,b) mark(1,3,1,2) :: control(x) ==> cell(1,3,1,2,x) & ~cell(1,3,1,2,b) mark(1,3,1,2) :: control(o) ==> cell(1,3,1,2,o) & ~cell(1,3,1,2,b) mark(1,3,1,3) :: control(x) ==> cell(1,3,1,3,x) & ~cell(1,3,1,3,b) mark(1,3,1,3) :: control(o) ==> cell(1,3,1,3,o) & ~cell(1,3,1,3,b) mark(1,3,2,1) :: control(x) ==> cell(1,3,2,1,x) & ~cell(1,3,2,1,b) mark(1,3,2,1) :: control(o) ==> cell(1,3,2,1,o) & ~cell(1,3,2,1,b) mark(1,3,2,2) :: control(x) ==> cell(1,3,2,2,x) & ~cell(1,3,2,2,b) mark(1,3,2,2) :: control(o) ==> cell(1,3,2,2,o) & ~cell(1,3,2,2,b) mark(1,3,2,3) :: control(x) ==> cell(1,3,2,3,x) & ~cell(1,3,2,3,b) mark(1,3,2,3) :: control(o) ==> cell(1,3,2,3,o) & ~cell(1,3,2,3,b) mark(1,3,3,1) :: control(x) ==> cell(1,3,3,1,x) & ~cell(1,3,3,1,b) mark(1,3,3,1) :: control(o) ==> cell(1,3,3,1,o) & ~cell(1,3,3,1,b) mark(1,3,3,2) :: control(x) ==> cell(1,3,3,2,x) & ~cell(1,3,3,2,b) mark(1,3,3,2) :: control(o) ==> cell(1,3,3,2,o) & ~cell(1,3,3,2,b) mark(1,3,3,3) :: control(x) ==> cell(1,3,3,3,x) & ~cell(1,3,3,3,b) mark(1,3,3,3) :: control(o) ==> cell(1,3,3,3,o) & ~cell(1,3,3,3,b) mark(2,1,1,1) :: control(x) ==> cell(2,1,1,1,x) & ~cell(2,1,1,1,b) mark(2,1,1,1) :: control(o) ==> cell(2,1,1,1,o) & ~cell(2,1,1,1,b) mark(2,1,1,2) :: control(x) ==> cell(2,1,1,2,x) & ~cell(2,1,1,2,b) mark(2,1,1,2) :: control(o) ==> cell(2,1,1,2,o) & ~cell(2,1,1,2,b) mark(2,1,1,3) :: control(x) ==> cell(2,1,1,3,x) & ~cell(2,1,1,3,b) mark(2,1,1,3) :: control(o) ==> cell(2,1,1,3,o) & ~cell(2,1,1,3,b) mark(2,1,2,1) :: control(x) ==> cell(2,1,2,1,x) & ~cell(2,1,2,1,b) mark(2,1,2,1) :: control(o) ==> cell(2,1,2,1,o) & ~cell(2,1,2,1,b) mark(2,1,2,2) :: control(x) ==> cell(2,1,2,2,x) & ~cell(2,1,2,2,b) mark(2,1,2,2) :: control(o) ==> cell(2,1,2,2,o) & ~cell(2,1,2,2,b) mark(2,1,2,3) :: control(x) ==> cell(2,1,2,3,x) & ~cell(2,1,2,3,b) mark(2,1,2,3) :: control(o) ==> cell(2,1,2,3,o) & ~cell(2,1,2,3,b) mark(2,1,3,1) :: control(x) ==> cell(2,1,3,1,x) & ~cell(2,1,3,1,b) mark(2,1,3,1) :: control(o) ==> cell(2,1,3,1,o) & ~cell(2,1,3,1,b) mark(2,1,3,2) :: control(x) ==> cell(2,1,3,2,x) & ~cell(2,1,3,2,b) mark(2,1,3,2) :: control(o) ==> cell(2,1,3,2,o) & ~cell(2,1,3,2,b) mark(2,1,3,3) :: control(x) ==> cell(2,1,3,3,x) & ~cell(2,1,3,3,b) mark(2,1,3,3) :: control(o) ==> cell(2,1,3,3,o) & ~cell(2,1,3,3,b) mark(2,2,1,1) :: control(x) ==> cell(2,2,1,1,x) & ~cell(2,2,1,1,b) mark(2,2,1,1) :: control(o) ==> cell(2,2,1,1,o) & ~cell(2,2,1,1,b) mark(2,2,1,2) :: control(x) ==> cell(2,2,1,2,x) & ~cell(2,2,1,2,b) mark(2,2,1,2) :: control(o) ==> cell(2,2,1,2,o) & ~cell(2,2,1,2,b) mark(2,2,1,3) :: control(x) ==> cell(2,2,1,3,x) & ~cell(2,2,1,3,b) mark(2,2,1,3) :: control(o) ==> cell(2,2,1,3,o) & ~cell(2,2,1,3,b) mark(2,2,2,1) :: control(x) ==> cell(2,2,2,1,x) & ~cell(2,2,2,1,b) mark(2,2,2,1) :: control(o) ==> cell(2,2,2,1,o) & ~cell(2,2,2,1,b) mark(2,2,2,2) :: control(x) ==> cell(2,2,2,2,x) & ~cell(2,2,2,2,b) mark(2,2,2,2) :: control(o) ==> cell(2,2,2,2,o) & ~cell(2,2,2,2,b) mark(2,2,2,3) :: control(x) ==> cell(2,2,2,3,x) & ~cell(2,2,2,3,b) mark(2,2,2,3) :: control(o) ==> cell(2,2,2,3,o) & ~cell(2,2,2,3,b) mark(2,2,3,1) :: control(x) ==> cell(2,2,3,1,x) & ~cell(2,2,3,1,b) mark(2,2,3,1) :: control(o) ==> cell(2,2,3,1,o) & ~cell(2,2,3,1,b) mark(2,2,3,2) :: control(x) ==> cell(2,2,3,2,x) & ~cell(2,2,3,2,b) mark(2,2,3,2) :: control(o) ==> cell(2,2,3,2,o) & ~cell(2,2,3,2,b) mark(2,2,3,3) :: control(x) ==> cell(2,2,3,3,x) & ~cell(2,2,3,3,b) mark(2,2,3,3) :: control(o) ==> cell(2,2,3,3,o) & ~cell(2,2,3,3,b) mark(2,3,1,1) :: control(x) ==> cell(2,3,1,1,x) & ~cell(2,3,1,1,b) mark(2,3,1,1) :: control(o) ==> cell(2,3,1,1,o) & ~cell(2,3,1,1,b) mark(2,3,1,2) :: control(x) ==> cell(2,3,1,2,x) & ~cell(2,3,1,2,b) mark(2,3,1,2) :: control(o) ==> cell(2,3,1,2,o) & ~cell(2,3,1,2,b) mark(2,3,1,3) :: control(x) ==> cell(2,3,1,3,x) & ~cell(2,3,1,3,b) mark(2,3,1,3) :: control(o) ==> cell(2,3,1,3,o) & ~cell(2,3,1,3,b) mark(2,3,2,1) :: control(x) ==> cell(2,3,2,1,x) & ~cell(2,3,2,1,b) mark(2,3,2,1) :: control(o) ==> cell(2,3,2,1,o) & ~cell(2,3,2,1,b) mark(2,3,2,2) :: control(x) ==> cell(2,3,2,2,x) & ~cell(2,3,2,2,b) mark(2,3,2,2) :: control(o) ==> cell(2,3,2,2,o) & ~cell(2,3,2,2,b) mark(2,3,2,3) :: control(x) ==> cell(2,3,2,3,x) & ~cell(2,3,2,3,b) mark(2,3,2,3) :: control(o) ==> cell(2,3,2,3,o) & ~cell(2,3,2,3,b) mark(2,3,3,1) :: control(x) ==> cell(2,3,3,1,x) & ~cell(2,3,3,1,b) mark(2,3,3,1) :: control(o) ==> cell(2,3,3,1,o) & ~cell(2,3,3,1,b) mark(2,3,3,2) :: control(x) ==> cell(2,3,3,2,x) & ~cell(2,3,3,2,b) mark(2,3,3,2) :: control(o) ==> cell(2,3,3,2,o) & ~cell(2,3,3,2,b) mark(2,3,3,3) :: control(x) ==> cell(2,3,3,3,x) & ~cell(2,3,3,3,b) mark(2,3,3,3) :: control(o) ==> cell(2,3,3,3,o) & ~cell(2,3,3,3,b) mark(3,1,1,1) :: control(x) ==> cell(3,1,1,1,x) & ~cell(3,1,1,1,b) mark(3,1,1,1) :: control(o) ==> cell(3,1,1,1,o) & ~cell(3,1,1,1,b) mark(3,1,1,2) :: control(x) ==> cell(3,1,1,2,x) & ~cell(3,1,1,2,b) mark(3,1,1,2) :: control(o) ==> cell(3,1,1,2,o) & ~cell(3,1,1,2,b) mark(3,1,1,3) :: control(x) ==> cell(3,1,1,3,x) & ~cell(3,1,1,3,b) mark(3,1,1,3) :: control(o) ==> cell(3,1,1,3,o) & ~cell(3,1,1,3,b) mark(3,1,2,1) :: control(x) ==> cell(3,1,2,1,x) & ~cell(3,1,2,1,b) mark(3,1,2,1) :: control(o) ==> cell(3,1,2,1,o) & ~cell(3,1,2,1,b) mark(3,1,2,2) :: control(x) ==> cell(3,1,2,2,x) & ~cell(3,1,2,2,b) mark(3,1,2,2) :: control(o) ==> cell(3,1,2,2,o) & ~cell(3,1,2,2,b) mark(3,1,2,3) :: control(x) ==> cell(3,1,2,3,x) & ~cell(3,1,2,3,b) mark(3,1,2,3) :: control(o) ==> cell(3,1,2,3,o) & ~cell(3,1,2,3,b) mark(3,1,3,1) :: control(x) ==> cell(3,1,3,1,x) & ~cell(3,1,3,1,b) mark(3,1,3,1) :: control(o) ==> cell(3,1,3,1,o) & ~cell(3,1,3,1,b) mark(3,1,3,2) :: control(x) ==> cell(3,1,3,2,x) & ~cell(3,1,3,2,b) mark(3,1,3,2) :: control(o) ==> cell(3,1,3,2,o) & ~cell(3,1,3,2,b) mark(3,1,3,3) :: control(x) ==> cell(3,1,3,3,x) & ~cell(3,1,3,3,b) mark(3,1,3,3) :: control(o) ==> cell(3,1,3,3,o) & ~cell(3,1,3,3,b) mark(3,2,1,1) :: control(x) ==> cell(3,2,1,1,x) & ~cell(3,2,1,1,b) mark(3,2,1,1) :: control(o) ==> cell(3,2,1,1,o) & ~cell(3,2,1,1,b) mark(3,2,1,2) :: control(x) ==> cell(3,2,1,2,x) & ~cell(3,2,1,2,b) mark(3,2,1,2) :: control(o) ==> cell(3,2,1,2,o) & ~cell(3,2,1,2,b) mark(3,2,1,3) :: control(x) ==> cell(3,2,1,3,x) & ~cell(3,2,1,3,b) mark(3,2,1,3) :: control(o) ==> cell(3,2,1,3,o) & ~cell(3,2,1,3,b) mark(3,2,2,1) :: control(x) ==> cell(3,2,2,1,x) & ~cell(3,2,2,1,b) mark(3,2,2,1) :: control(o) ==> cell(3,2,2,1,o) & ~cell(3,2,2,1,b) mark(3,2,2,2) :: control(x) ==> cell(3,2,2,2,x) & ~cell(3,2,2,2,b) mark(3,2,2,2) :: control(o) ==> cell(3,2,2,2,o) & ~cell(3,2,2,2,b) mark(3,2,2,3) :: control(x) ==> cell(3,2,2,3,x) & ~cell(3,2,2,3,b) mark(3,2,2,3) :: control(o) ==> cell(3,2,2,3,o) & ~cell(3,2,2,3,b) mark(3,2,3,1) :: control(x) ==> cell(3,2,3,1,x) & ~cell(3,2,3,1,b) mark(3,2,3,1) :: control(o) ==> cell(3,2,3,1,o) & ~cell(3,2,3,1,b) mark(3,2,3,2) :: control(x) ==> cell(3,2,3,2,x) & ~cell(3,2,3,2,b) mark(3,2,3,2) :: control(o) ==> cell(3,2,3,2,o) & ~cell(3,2,3,2,b) mark(3,2,3,3) :: control(x) ==> cell(3,2,3,3,x) & ~cell(3,2,3,3,b) mark(3,2,3,3) :: control(o) ==> cell(3,2,3,3,o) & ~cell(3,2,3,3,b) mark(3,3,1,1) :: control(x) ==> cell(3,3,1,1,x) & ~cell(3,3,1,1,b) mark(3,3,1,1) :: control(o) ==> cell(3,3,1,1,o) & ~cell(3,3,1,1,b) mark(3,3,1,2) :: control(x) ==> cell(3,3,1,2,x) & ~cell(3,3,1,2,b) mark(3,3,1,2) :: control(o) ==> cell(3,3,1,2,o) & ~cell(3,3,1,2,b) mark(3,3,1,3) :: control(x) ==> cell(3,3,1,3,x) & ~cell(3,3,1,3,b) mark(3,3,1,3) :: control(o) ==> cell(3,3,1,3,o) & ~cell(3,3,1,3,b) mark(3,3,2,1) :: control(x) ==> cell(3,3,2,1,x) & ~cell(3,3,2,1,b) mark(3,3,2,1) :: control(o) ==> cell(3,3,2,1,o) & ~cell(3,3,2,1,b) mark(3,3,2,2) :: control(x) ==> cell(3,3,2,2,x) & ~cell(3,3,2,2,b) mark(3,3,2,2) :: control(o) ==> cell(3,3,2,2,o) & ~cell(3,3,2,2,b) mark(3,3,2,3) :: control(x) ==> cell(3,3,2,3,x) & ~cell(3,3,2,3,b) mark(3,3,2,3) :: control(o) ==> cell(3,3,2,3,o) & ~cell(3,3,2,3,b) mark(3,3,3,1) :: control(x) ==> cell(3,3,3,1,x) & ~cell(3,3,3,1,b) mark(3,3,3,1) :: control(o) ==> cell(3,3,3,1,o) & ~cell(3,3,3,1,b) mark(3,3,3,2) :: control(x) ==> cell(3,3,3,2,x) & ~cell(3,3,3,2,b) mark(3,3,3,2) :: control(o) ==> cell(3,3,3,2,o) & ~cell(3,3,3,2,b) mark(3,3,3,3) :: control(x) ==> cell(3,3,3,3,x) & ~cell(3,3,3,3,b) mark(3,3,3,3) :: control(o) ==> cell(3,3,3,3,o) & ~cell(3,3,3,3,b) mark(1,1,1,1) :: ~current(1,1) & current(1,1) mark(1,1,1,2) :: ~current(1,1) & current(1,2) mark(1,1,1,3) :: ~current(1,1) & current(1,3) mark(1,1,2,1) :: ~current(1,1) & current(2,1) mark(1,1,2,2) :: ~current(1,1) & current(2,2) mark(1,1,2,3) :: ~current(1,1) & current(2,3) mark(1,1,3,1) :: ~current(1,1) & current(3,1) mark(1,1,3,2) :: ~current(1,1) & current(3,2) mark(1,1,3,3) :: ~current(1,1) & current(3,3) mark(1,2,1,1) :: ~current(1,2) & current(1,1) mark(1,2,1,2) :: ~current(1,2) & current(1,2) mark(1,2,1,3) :: ~current(1,2) & current(1,3) mark(1,2,2,1) :: ~current(1,2) & current(2,1) mark(1,2,2,2) :: ~current(1,2) & current(2,2) mark(1,2,2,3) :: ~current(1,2) & current(2,3) mark(1,2,3,1) :: ~current(1,2) & current(3,1) mark(1,2,3,2) :: ~current(1,2) & current(3,2) mark(1,2,3,3) :: ~current(1,2) & current(3,3) mark(1,3,1,1) :: ~current(1,3) & current(1,1) mark(1,3,1,2) :: ~current(1,3) & current(1,2) mark(1,3,1,3) :: ~current(1,3) & current(1,3) mark(1,3,2,1) :: ~current(1,3) & current(2,1) mark(1,3,2,2) :: ~current(1,3) & current(2,2) mark(1,3,2,3) :: ~current(1,3) & current(2,3) mark(1,3,3,1) :: ~current(1,3) & current(3,1) mark(1,3,3,2) :: ~current(1,3) & current(3,2) mark(1,3,3,3) :: ~current(1,3) & current(3,3) mark(2,1,1,1) :: ~current(2,1) & current(1,1) mark(2,1,1,2) :: ~current(2,1) & current(1,2) mark(2,1,1,3) :: ~current(2,1) & current(1,3) mark(2,1,2,1) :: ~current(2,1) & current(2,1) mark(2,1,2,2) :: ~current(2,1) & current(2,2) mark(2,1,2,3) :: ~current(2,1) & current(2,3) mark(2,1,3,1) :: ~current(2,1) & current(3,1) mark(2,1,3,2) :: ~current(2,1) & current(3,2) mark(2,1,3,3) :: ~current(2,1) & current(3,3) mark(2,2,1,1) :: ~current(2,2) & current(1,1) mark(2,2,1,2) :: ~current(2,2) & current(1,2) mark(2,2,1,3) :: ~current(2,2) & current(1,3) mark(2,2,2,1) :: ~current(2,2) & current(2,1) mark(2,2,2,2) :: ~current(2,2) & current(2,2) mark(2,2,2,3) :: ~current(2,2) & current(2,3) mark(2,2,3,1) :: ~current(2,2) & current(3,1) mark(2,2,3,2) :: ~current(2,2) & current(3,2) mark(2,2,3,3) :: ~current(2,2) & current(3,3) mark(2,3,1,1) :: ~current(2,3) & current(1,1) mark(2,3,1,2) :: ~current(2,3) & current(1,2) mark(2,3,1,3) :: ~current(2,3) & current(1,3) mark(2,3,2,1) :: ~current(2,3) & current(2,1) mark(2,3,2,2) :: ~current(2,3) & current(2,2) mark(2,3,2,3) :: ~current(2,3) & current(2,3) mark(2,3,3,1) :: ~current(2,3) & current(3,1) mark(2,3,3,2) :: ~current(2,3) & current(3,2) mark(2,3,3,3) :: ~current(2,3) & current(3,3) mark(3,1,1,1) :: ~current(3,1) & current(1,1) mark(3,1,1,2) :: ~current(3,1) & current(1,2) mark(3,1,1,3) :: ~current(3,1) & current(1,3) mark(3,1,2,1) :: ~current(3,1) & current(2,1) mark(3,1,2,2) :: ~current(3,1) & current(2,2) mark(3,1,2,3) :: ~current(3,1) & current(2,3) mark(3,1,3,1) :: ~current(3,1) & current(3,1) mark(3,1,3,2) :: ~current(3,1) & current(3,2) mark(3,1,3,3) :: ~current(3,1) & current(3,3) mark(3,2,1,1) :: ~current(3,2) & current(1,1) mark(3,2,1,2) :: ~current(3,2) & current(1,2) mark(3,2,1,3) :: ~current(3,2) & current(1,3) mark(3,2,2,1) :: ~current(3,2) & current(2,1) mark(3,2,2,2) :: ~current(3,2) & current(2,2) mark(3,2,2,3) :: ~current(3,2) & current(2,3) mark(3,2,3,1) :: ~current(3,2) & current(3,1) mark(3,2,3,2) :: ~current(3,2) & current(3,2) mark(3,2,3,3) :: ~current(3,2) & current(3,3) mark(3,3,1,1) :: ~current(3,3) & current(1,1) mark(3,3,1,2) :: ~current(3,3) & current(1,2) mark(3,3,1,3) :: ~current(3,3) & current(1,3) mark(3,3,2,1) :: ~current(3,3) & current(2,1) mark(3,3,2,2) :: ~current(3,3) & current(2,2) mark(3,3,2,3) :: ~current(3,3) & current(2,3) mark(3,3,3,1) :: ~current(3,3) & current(3,1) mark(3,3,3,2) :: ~current(3,3) & current(3,2) mark(3,3,3,3) :: ~current(3,3) & current(3,3) mark(1,1,1,1) :: control(x) ==> ~control(x) & control(o) mark(1,1,1,2) :: control(x) ==> ~control(x) & control(o) mark(1,1,1,3) :: control(x) ==> ~control(x) & control(o) mark(1,1,2,1) :: control(x) ==> ~control(x) & control(o) mark(1,1,2,2) :: control(x) ==> ~control(x) & control(o) mark(1,1,2,3) :: control(x) ==> ~control(x) & control(o) mark(1,1,3,1) :: control(x) ==> ~control(x) & control(o) mark(1,1,3,2) :: control(x) ==> ~control(x) & control(o) mark(1,1,3,3) :: control(x) ==> ~control(x) & control(o) mark(1,2,1,1) :: control(x) ==> ~control(x) & control(o) mark(1,2,1,2) :: control(x) ==> ~control(x) & control(o) mark(1,2,1,3) :: control(x) ==> ~control(x) & control(o) mark(1,2,2,1) :: control(x) ==> ~control(x) & control(o) mark(1,2,2,2) :: control(x) ==> ~control(x) & control(o) mark(1,2,2,3) :: control(x) ==> ~control(x) & control(o) mark(1,2,3,1) :: control(x) ==> ~control(x) & control(o) mark(1,2,3,2) :: control(x) ==> ~control(x) & control(o) mark(1,2,3,3) :: control(x) ==> ~control(x) & control(o) mark(1,3,1,1) :: control(x) ==> ~control(x) & control(o) mark(1,3,1,2) :: control(x) ==> ~control(x) & control(o) mark(1,3,1,3) :: control(x) ==> ~control(x) & control(o) mark(1,3,2,1) :: control(x) ==> ~control(x) & control(o) mark(1,3,2,2) :: control(x) ==> ~control(x) & control(o) mark(1,3,2,3) :: control(x) ==> ~control(x) & control(o) mark(1,3,3,1) :: control(x) ==> ~control(x) & control(o) mark(1,3,3,2) :: control(x) ==> ~control(x) & control(o) mark(1,3,3,3) :: control(x) ==> ~control(x) & control(o) mark(2,1,1,1) :: control(x) ==> ~control(x) & control(o) mark(2,1,1,2) :: control(x) ==> ~control(x) & control(o) mark(2,1,1,3) :: control(x) ==> ~control(x) & control(o) mark(2,1,2,1) :: control(x) ==> ~control(x) & control(o) mark(2,1,2,2) :: control(x) ==> ~control(x) & control(o) mark(2,1,2,3) :: control(x) ==> ~control(x) & control(o) mark(2,1,3,1) :: control(x) ==> ~control(x) & control(o) mark(2,1,3,2) :: control(x) ==> ~control(x) & control(o) mark(2,1,3,3) :: control(x) ==> ~control(x) & control(o) mark(2,2,1,1) :: control(x) ==> ~control(x) & control(o) mark(2,2,1,2) :: control(x) ==> ~control(x) & control(o) mark(2,2,1,3) :: control(x) ==> ~control(x) & control(o) mark(2,2,2,1) :: control(x) ==> ~control(x) & control(o) mark(2,2,2,2) :: control(x) ==> ~control(x) & control(o) mark(2,2,2,3) :: control(x) ==> ~control(x) & control(o) mark(2,2,3,1) :: control(x) ==> ~control(x) & control(o) mark(2,2,3,2) :: control(x) ==> ~control(x) & control(o) mark(2,2,3,3) :: control(x) ==> ~control(x) & control(o) mark(2,3,1,1) :: control(x) ==> ~control(x) & control(o) mark(2,3,1,2) :: control(x) ==> ~control(x) & control(o) mark(2,3,1,3) :: control(x) ==> ~control(x) & control(o) mark(2,3,2,1) :: control(x) ==> ~control(x) & control(o) mark(2,3,2,2) :: control(x) ==> ~control(x) & control(o) mark(2,3,2,3) :: control(x) ==> ~control(x) & control(o) mark(2,3,3,1) :: control(x) ==> ~control(x) & control(o) mark(2,3,3,2) :: control(x) ==> ~control(x) & control(o) mark(2,3,3,3) :: control(x) ==> ~control(x) & control(o) mark(3,1,1,1) :: control(x) ==> ~control(x) & control(o) mark(3,1,1,2) :: control(x) ==> ~control(x) & control(o) mark(3,1,1,3) :: control(x) ==> ~control(x) & control(o) mark(3,1,2,1) :: control(x) ==> ~control(x) & control(o) mark(3,1,2,2) :: control(x) ==> ~control(x) & control(o) mark(3,1,2,3) :: control(x) ==> ~control(x) & control(o) mark(3,1,3,1) :: control(x) ==> ~control(x) & control(o) mark(3,1,3,2) :: control(x) ==> ~control(x) & control(o) mark(3,1,3,3) :: control(x) ==> ~control(x) & control(o) mark(3,2,1,1) :: control(x) ==> ~control(x) & control(o) mark(3,2,1,2) :: control(x) ==> ~control(x) & control(o) mark(3,2,1,3) :: control(x) ==> ~control(x) & control(o) mark(3,2,2,1) :: control(x) ==> ~control(x) & control(o) mark(3,2,2,2) :: control(x) ==> ~control(x) & control(o) mark(3,2,2,3) :: control(x) ==> ~control(x) & control(o) mark(3,2,3,1) :: control(x) ==> ~control(x) & control(o) mark(3,2,3,2) :: control(x) ==> ~control(x) & control(o) mark(3,2,3,3) :: control(x) ==> ~control(x) & control(o) mark(3,3,1,1) :: control(x) ==> ~control(x) & control(o) mark(3,3,1,2) :: control(x) ==> ~control(x) & control(o) mark(3,3,1,3) :: control(x) ==> ~control(x) & control(o) mark(3,3,2,1) :: control(x) ==> ~control(x) & control(o) mark(3,3,2,2) :: control(x) ==> ~control(x) & control(o) mark(3,3,2,3) :: control(x) ==> ~control(x) & control(o) mark(3,3,3,1) :: control(x) ==> ~control(x) & control(o) mark(3,3,3,2) :: control(x) ==> ~control(x) & control(o) mark(3,3,3,3) :: control(x) ==> ~control(x) & control(o) mark(1,1,1,1) :: control(o) ==> ~control(o) & control(x) mark(1,1,1,2) :: control(o) ==> ~control(o) & control(x) mark(1,1,1,3) :: control(o) ==> ~control(o) & control(x) mark(1,1,2,1) :: control(o) ==> ~control(o) & control(x) mark(1,1,2,2) :: control(o) ==> ~control(o) & control(x) mark(1,1,2,3) :: control(o) ==> ~control(o) & control(x) mark(1,1,3,1) :: control(o) ==> ~control(o) & control(x) mark(1,1,3,2) :: control(o) ==> ~control(o) & control(x) mark(1,1,3,3) :: control(o) ==> ~control(o) & control(x) mark(1,2,1,1) :: control(o) ==> ~control(o) & control(x) mark(1,2,1,2) :: control(o) ==> ~control(o) & control(x) mark(1,2,1,3) :: control(o) ==> ~control(o) & control(x) mark(1,2,2,1) :: control(o) ==> ~control(o) & control(x) mark(1,2,2,2) :: control(o) ==> ~control(o) & control(x) mark(1,2,2,3) :: control(o) ==> ~control(o) & control(x) mark(1,2,3,1) :: control(o) ==> ~control(o) & control(x) mark(1,2,3,2) :: control(o) ==> ~control(o) & control(x) mark(1,2,3,3) :: control(o) ==> ~control(o) & control(x) mark(1,3,1,1) :: control(o) ==> ~control(o) & control(x) mark(1,3,1,2) :: control(o) ==> ~control(o) & control(x) mark(1,3,1,3) :: control(o) ==> ~control(o) & control(x) mark(1,3,2,1) :: control(o) ==> ~control(o) & control(x) mark(1,3,2,2) :: control(o) ==> ~control(o) & control(x) mark(1,3,2,3) :: control(o) ==> ~control(o) & control(x) mark(1,3,3,1) :: control(o) ==> ~control(o) & control(x) mark(1,3,3,2) :: control(o) ==> ~control(o) & control(x) mark(1,3,3,3) :: control(o) ==> ~control(o) & control(x) mark(2,1,1,1) :: control(o) ==> ~control(o) & control(x) mark(2,1,1,2) :: control(o) ==> ~control(o) & control(x) mark(2,1,1,3) :: control(o) ==> ~control(o) & control(x) mark(2,1,2,1) :: control(o) ==> ~control(o) & control(x) mark(2,1,2,2) :: control(o) ==> ~control(o) & control(x) mark(2,1,2,3) :: control(o) ==> ~control(o) & control(x) mark(2,1,3,1) :: control(o) ==> ~control(o) & control(x) mark(2,1,3,2) :: control(o) ==> ~control(o) & control(x) mark(2,1,3,3) :: control(o) ==> ~control(o) & control(x) mark(2,2,1,1) :: control(o) ==> ~control(o) & control(x) mark(2,2,1,2) :: control(o) ==> ~control(o) & control(x) mark(2,2,1,3) :: control(o) ==> ~control(o) & control(x) mark(2,2,2,1) :: control(o) ==> ~control(o) & control(x) mark(2,2,2,2) :: control(o) ==> ~control(o) & control(x) mark(2,2,2,3) :: control(o) ==> ~control(o) & control(x) mark(2,2,3,1) :: control(o) ==> ~control(o) & control(x) mark(2,2,3,2) :: control(o) ==> ~control(o) & control(x) mark(2,2,3,3) :: control(o) ==> ~control(o) & control(x) mark(2,3,1,1) :: control(o) ==> ~control(o) & control(x) mark(2,3,1,2) :: control(o) ==> ~control(o) & control(x) mark(2,3,1,3) :: control(o) ==> ~control(o) & control(x) mark(2,3,2,1) :: control(o) ==> ~control(o) & control(x) mark(2,3,2,2) :: control(o) ==> ~control(o) & control(x) mark(2,3,2,3) :: control(o) ==> ~control(o) & control(x) mark(2,3,3,1) :: control(o) ==> ~control(o) & control(x) mark(2,3,3,2) :: control(o) ==> ~control(o) & control(x) mark(2,3,3,3) :: control(o) ==> ~control(o) & control(x) mark(3,1,1,1) :: control(o) ==> ~control(o) & control(x) mark(3,1,1,2) :: control(o) ==> ~control(o) & control(x) mark(3,1,1,3) :: control(o) ==> ~control(o) & control(x) mark(3,1,2,1) :: control(o) ==> ~control(o) & control(x) mark(3,1,2,2) :: control(o) ==> ~control(o) & control(x) mark(3,1,2,3) :: control(o) ==> ~control(o) & control(x) mark(3,1,3,1) :: control(o) ==> ~control(o) & control(x) mark(3,1,3,2) :: control(o) ==> ~control(o) & control(x) mark(3,1,3,3) :: control(o) ==> ~control(o) & control(x) mark(3,2,1,1) :: control(o) ==> ~control(o) & control(x) mark(3,2,1,2) :: control(o) ==> ~control(o) & control(x) mark(3,2,1,3) :: control(o) ==> ~control(o) & control(x) mark(3,2,2,1) :: control(o) ==> ~control(o) & control(x) mark(3,2,2,2) :: control(o) ==> ~control(o) & control(x) mark(3,2,2,3) :: control(o) ==> ~control(o) & control(x) mark(3,2,3,1) :: control(o) ==> ~control(o) & control(x) mark(3,2,3,2) :: control(o) ==> ~control(o) & control(x) mark(3,2,3,3) :: control(o) ==> ~control(o) & control(x) mark(3,3,1,1) :: control(o) ==> ~control(o) & control(x) mark(3,3,1,2) :: control(o) ==> ~control(o) & control(x) mark(3,3,1,3) :: control(o) ==> ~control(o) & control(x) mark(3,3,2,1) :: control(o) ==> ~control(o) & control(x) mark(3,3,2,2) :: control(o) ==> ~control(o) & control(x) mark(3,3,2,3) :: control(o) ==> ~control(o) & control(x) mark(3,3,3,1) :: control(o) ==> ~control(o) & control(x) mark(3,3,3,2) :: control(o) ==> ~control(o) & control(x) mark(3,3,3,3) :: control(o) ==> ~control(o) & control(x) %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%% goal %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% goal(x,100) :- line(x) & ~line(o) goal(x,50) :- line(x) & line(o) goal(x,50) :- ~line(x) & ~line(o) goal(x,0) :- ~line(x) & line(o) goal(o,100) :- ~line(x) & line(o) goal(o,50) :- line(x) & line(o) goal(o,50) :- ~line(x) & ~line(o) goal(o,0) :- line(x) & ~line(o) %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%% terminal %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% terminal :- line(x) terminal :- line(o) terminal :- current(1,1) & ~open(1,1) terminal :- current(1,2) & ~open(1,2) terminal :- current(1,3) & ~open(1,3) terminal :- current(2,1) & ~open(2,1) terminal :- current(2,2) & ~open(2,2) terminal :- current(2,3) & ~open(2,3) terminal :- current(3,1) & ~open(3,1) terminal :- current(3,2) & ~open(3,2) terminal :- current(3,3) & ~open(3,3) %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%% Views %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% row(1,1,1,x) :- cell(1,1,1,1,x) & cell(1,1,1,2,x) & cell(1,1,1,3,x) row(1,1,1,o) :- cell(1,1,1,1,o) & cell(1,1,1,2,o) & cell(1,1,1,3,o) row(1,1,2,x) :- cell(1,1,2,1,x) & cell(1,1,2,2,x) & cell(1,1,2,3,x) row(1,1,2,o) :- cell(1,1,2,1,o) & cell(1,1,2,2,o) & cell(1,1,2,3,o) row(1,1,3,x) :- cell(1,1,3,1,x) & cell(1,1,3,2,x) & cell(1,1,3,3,x) row(1,1,3,o) :- cell(1,1,3,1,o) & cell(1,1,3,2,o) & cell(1,1,3,3,o) row(1,2,1,x) :- cell(1,2,1,1,x) & cell(1,2,1,2,x) & cell(1,2,1,3,x) row(1,2,1,o) :- cell(1,2,1,1,o) & cell(1,2,1,2,o) & cell(1,2,1,3,o) row(1,2,2,x) :- cell(1,2,2,1,x) & cell(1,2,2,2,x) & cell(1,2,2,3,x) row(1,2,2,o) :- cell(1,2,2,1,o) & cell(1,2,2,2,o) & cell(1,2,2,3,o) row(1,2,3,x) :- cell(1,2,3,1,x) & cell(1,2,3,2,x) & cell(1,2,3,3,x) row(1,2,3,o) :- cell(1,2,3,1,o) & cell(1,2,3,2,o) & cell(1,2,3,3,o) row(1,3,1,x) :- cell(1,3,1,1,x) & cell(1,3,1,2,x) & cell(1,3,1,3,x) row(1,3,1,o) :- cell(1,3,1,1,o) & cell(1,3,1,2,o) & cell(1,3,1,3,o) row(1,3,2,x) :- cell(1,3,2,1,x) & cell(1,3,2,2,x) & cell(1,3,2,3,x) row(1,3,2,o) :- cell(1,3,2,1,o) & cell(1,3,2,2,o) & cell(1,3,2,3,o) row(1,3,3,x) :- cell(1,3,3,1,x) & cell(1,3,3,2,x) & cell(1,3,3,3,x) row(1,3,3,o) :- cell(1,3,3,1,o) & cell(1,3,3,2,o) & cell(1,3,3,3,o) row(2,1,1,x) :- cell(2,1,1,1,x) & cell(2,1,1,2,x) & cell(2,1,1,3,x) row(2,1,1,o) :- cell(2,1,1,1,o) & cell(2,1,1,2,o) & cell(2,1,1,3,o) row(2,1,2,x) :- cell(2,1,2,1,x) & cell(2,1,2,2,x) & cell(2,1,2,3,x) row(2,1,2,o) :- cell(2,1,2,1,o) & cell(2,1,2,2,o) & cell(2,1,2,3,o) row(2,1,3,x) :- cell(2,1,3,1,x) & cell(2,1,3,2,x) & cell(2,1,3,3,x) row(2,1,3,o) :- cell(2,1,3,1,o) & cell(2,1,3,2,o) & cell(2,1,3,3,o) row(2,2,1,x) :- cell(2,2,1,1,x) & cell(2,2,1,2,x) & cell(2,2,1,3,x) row(2,2,1,o) :- cell(2,2,1,1,o) & cell(2,2,1,2,o) & cell(2,2,1,3,o) row(2,2,2,x) :- cell(2,2,2,1,x) & cell(2,2,2,2,x) & cell(2,2,2,3,x) row(2,2,2,o) :- cell(2,2,2,1,o) & cell(2,2,2,2,o) & cell(2,2,2,3,o) row(2,2,3,x) :- cell(2,2,3,1,x) & cell(2,2,3,2,x) & cell(2,2,3,3,x) row(2,2,3,o) :- cell(2,2,3,1,o) & cell(2,2,3,2,o) & cell(2,2,3,3,o) row(2,3,1,x) :- cell(2,3,1,1,x) & cell(2,3,1,2,x) & cell(2,3,1,3,x) row(2,3,1,o) :- cell(2,3,1,1,o) & cell(2,3,1,2,o) & cell(2,3,1,3,o) row(2,3,2,x) :- cell(2,3,2,1,x) & cell(2,3,2,2,x) & cell(2,3,2,3,x) row(2,3,2,o) :- cell(2,3,2,1,o) & cell(2,3,2,2,o) & cell(2,3,2,3,o) row(2,3,3,x) :- cell(2,3,3,1,x) & cell(2,3,3,2,x) & cell(2,3,3,3,x) row(2,3,3,o) :- cell(2,3,3,1,o) & cell(2,3,3,2,o) & cell(2,3,3,3,o) row(3,1,1,x) :- cell(3,1,1,1,x) & cell(3,1,1,2,x) & cell(3,1,1,3,x) row(3,1,1,o) :- cell(3,1,1,1,o) & cell(3,1,1,2,o) & cell(3,1,1,3,o) row(3,1,2,x) :- cell(3,1,2,1,x) & cell(3,1,2,2,x) & cell(3,1,2,3,x) row(3,1,2,o) :- cell(3,1,2,1,o) & cell(3,1,2,2,o) & cell(3,1,2,3,o) row(3,1,3,x) :- cell(3,1,3,1,x) & cell(3,1,3,2,x) & cell(3,1,3,3,x) row(3,1,3,o) :- cell(3,1,3,1,o) & cell(3,1,3,2,o) & cell(3,1,3,3,o) row(3,2,1,x) :- cell(3,2,1,1,x) & cell(3,2,1,2,x) & cell(3,2,1,3,x) row(3,2,1,o) :- cell(3,2,1,1,o) & cell(3,2,1,2,o) & cell(3,2,1,3,o) row(3,2,2,x) :- cell(3,2,2,1,x) & cell(3,2,2,2,x) & cell(3,2,2,3,x) row(3,2,2,o) :- cell(3,2,2,1,o) & cell(3,2,2,2,o) & cell(3,2,2,3,o) row(3,2,3,x) :- cell(3,2,3,1,x) & cell(3,2,3,2,x) & cell(3,2,3,3,x) row(3,2,3,o) :- cell(3,2,3,1,o) & cell(3,2,3,2,o) & cell(3,2,3,3,o) row(3,3,1,x) :- cell(3,3,1,1,x) & cell(3,3,1,2,x) & cell(3,3,1,3,x) row(3,3,1,o) :- cell(3,3,1,1,o) & cell(3,3,1,2,o) & cell(3,3,1,3,o) row(3,3,2,x) :- cell(3,3,2,1,x) & cell(3,3,2,2,x) & cell(3,3,2,3,x) row(3,3,2,o) :- cell(3,3,2,1,o) & cell(3,3,2,2,o) & cell(3,3,2,3,o) row(3,3,3,x) :- cell(3,3,3,1,x) & cell(3,3,3,2,x) & cell(3,3,3,3,x) row(3,3,3,o) :- cell(3,3,3,1,o) & cell(3,3,3,2,o) & cell(3,3,3,3,o) col(1,1,1,x) :- cell(1,1,1,1,x) & cell(1,1,2,1,x) & cell(1,1,3,1,x) col(1,1,1,o) :- cell(1,1,1,1,o) & cell(1,1,2,1,o) & cell(1,1,3,1,o) col(1,1,2,x) :- cell(1,1,1,2,x) & cell(1,1,2,2,x) & cell(1,1,3,2,x) col(1,1,2,o) :- cell(1,1,1,2,o) & cell(1,1,2,2,o) & cell(1,1,3,2,o) col(1,1,3,x) :- cell(1,1,1,3,x) & cell(1,1,2,3,x) & cell(1,1,3,3,x) col(1,1,3,o) :- cell(1,1,1,3,o) & cell(1,1,2,3,o) & cell(1,1,3,3,o) col(1,2,1,x) :- cell(1,2,1,1,x) & cell(1,2,2,1,x) & cell(1,2,3,1,x) col(1,2,1,o) :- cell(1,2,1,1,o) & cell(1,2,2,1,o) & cell(1,2,3,1,o) col(1,2,2,x) :- cell(1,2,1,2,x) & cell(1,2,2,2,x) & cell(1,2,3,2,x) col(1,2,2,o) :- cell(1,2,1,2,o) & cell(1,2,2,2,o) & cell(1,2,3,2,o) col(1,2,3,x) :- cell(1,2,1,3,x) & cell(1,2,2,3,x) & cell(1,2,3,3,x) col(1,2,3,o) :- cell(1,2,1,3,o) & cell(1,2,2,3,o) & cell(1,2,3,3,o) col(1,3,1,x) :- cell(1,3,1,1,x) & cell(1,3,2,1,x) & cell(1,3,3,1,x) col(1,3,1,o) :- cell(1,3,1,1,o) & cell(1,3,2,1,o) & cell(1,3,3,1,o) col(1,3,2,x) :- cell(1,3,1,2,x) & cell(1,3,2,2,x) & cell(1,3,3,2,x) col(1,3,2,o) :- cell(1,3,1,2,o) & cell(1,3,2,2,o) & cell(1,3,3,2,o) col(1,3,3,x) :- cell(1,3,1,3,x) & cell(1,3,2,3,x) & cell(1,3,3,3,x) col(1,3,3,o) :- cell(1,3,1,3,o) & cell(1,3,2,3,o) & cell(1,3,3,3,o) col(2,1,1,x) :- cell(2,1,1,1,x) & cell(2,1,2,1,x) & cell(2,1,3,1,x) col(2,1,1,o) :- cell(2,1,1,1,o) & cell(2,1,2,1,o) & cell(2,1,3,1,o) col(2,1,2,x) :- cell(2,1,1,2,x) & cell(2,1,2,2,x) & cell(2,1,3,2,x) col(2,1,2,o) :- cell(2,1,1,2,o) & cell(2,1,2,2,o) & cell(2,1,3,2,o) col(2,1,3,x) :- cell(2,1,1,3,x) & cell(2,1,2,3,x) & cell(2,1,3,3,x) col(2,1,3,o) :- cell(2,1,1,3,o) & cell(2,1,2,3,o) & cell(2,1,3,3,o) col(2,2,1,x) :- cell(2,2,1,1,x) & cell(2,2,2,1,x) & cell(2,2,3,1,x) col(2,2,1,o) :- cell(2,2,1,1,o) & cell(2,2,2,1,o) & cell(2,2,3,1,o) col(2,2,2,x) :- cell(2,2,1,2,x) & cell(2,2,2,2,x) & cell(2,2,3,2,x) col(2,2,2,o) :- cell(2,2,1,2,o) & cell(2,2,2,2,o) & cell(2,2,3,2,o) col(2,2,3,x) :- cell(2,2,1,3,x) & cell(2,2,2,3,x) & cell(2,2,3,3,x) col(2,2,3,o) :- cell(2,2,1,3,o) & cell(2,2,2,3,o) & cell(2,2,3,3,o) col(2,3,1,x) :- cell(2,3,1,1,x) & cell(2,3,2,1,x) & cell(2,3,3,1,x) col(2,3,1,o) :- cell(2,3,1,1,o) & cell(2,3,2,1,o) & cell(2,3,3,1,o) col(2,3,2,x) :- cell(2,3,1,2,x) & cell(2,3,2,2,x) & cell(2,3,3,2,x) col(2,3,2,o) :- cell(2,3,1,2,o) & cell(2,3,2,2,o) & cell(2,3,3,2,o) col(2,3,3,x) :- cell(2,3,1,3,x) & cell(2,3,2,3,x) & cell(2,3,3,3,x) col(2,3,3,o) :- cell(2,3,1,3,o) & cell(2,3,2,3,o) & cell(2,3,3,3,o) col(3,1,1,x) :- cell(3,1,1,1,x) & cell(3,1,2,1,x) & cell(3,1,3,1,x) col(3,1,1,o) :- cell(3,1,1,1,o) & cell(3,1,2,1,o) & cell(3,1,3,1,o) col(3,1,2,x) :- cell(3,1,1,2,x) & cell(3,1,2,2,x) & cell(3,1,3,2,x) col(3,1,2,o) :- cell(3,1,1,2,o) & cell(3,1,2,2,o) & cell(3,1,3,2,o) col(3,1,3,x) :- cell(3,1,1,3,x) & cell(3,1,2,3,x) & cell(3,1,3,3,x) col(3,1,3,o) :- cell(3,1,1,3,o) & cell(3,1,2,3,o) & cell(3,1,3,3,o) col(3,2,1,x) :- cell(3,2,1,1,x) & cell(3,2,2,1,x) & cell(3,2,3,1,x) col(3,2,1,o) :- cell(3,2,1,1,o) & cell(3,2,2,1,o) & cell(3,2,3,1,o) col(3,2,2,x) :- cell(3,2,1,2,x) & cell(3,2,2,2,x) & cell(3,2,3,2,x) col(3,2,2,o) :- cell(3,2,1,2,o) & cell(3,2,2,2,o) & cell(3,2,3,2,o) col(3,2,3,x) :- cell(3,2,1,3,x) & cell(3,2,2,3,x) & cell(3,2,3,3,x) col(3,2,3,o) :- cell(3,2,1,3,o) & cell(3,2,2,3,o) & cell(3,2,3,3,o) col(3,3,1,x) :- cell(3,3,1,1,x) & cell(3,3,2,1,x) & cell(3,3,3,1,x) col(3,3,1,o) :- cell(3,3,1,1,o) & cell(3,3,2,1,o) & cell(3,3,3,1,o) col(3,3,2,x) :- cell(3,3,1,2,x) & cell(3,3,2,2,x) & cell(3,3,3,2,x) col(3,3,2,o) :- cell(3,3,1,2,o) & cell(3,3,2,2,o) & cell(3,3,3,2,o) col(3,3,3,x) :- cell(3,3,1,3,x) & cell(3,3,2,3,x) & cell(3,3,3,3,x) col(3,3,3,o) :- cell(3,3,1,3,o) & cell(3,3,2,3,o) & cell(3,3,3,3,o) diag(1,1,x) :- cell(1,1,1,1,x) & cell(1,1,2,2,x) & cell(1,1,3,3,x) diag(1,1,o) :- cell(1,1,1,1,o) & cell(1,1,2,2,o) & cell(1,1,3,3,o) diag(1,2,x) :- cell(1,2,1,1,x) & cell(1,2,2,2,x) & cell(1,2,3,3,x) diag(1,2,o) :- cell(1,2,1,1,o) & cell(1,2,2,2,o) & cell(1,2,3,3,o) diag(1,3,x) :- cell(1,3,1,1,x) & cell(1,3,2,2,x) & cell(1,3,3,3,x) diag(1,3,o) :- cell(1,3,1,1,o) & cell(1,3,2,2,o) & cell(1,3,3,3,o) diag(2,1,x) :- cell(2,1,1,1,x) & cell(2,1,2,2,x) & cell(2,1,3,3,x) diag(2,1,o) :- cell(2,1,1,1,o) & cell(2,1,2,2,o) & cell(2,1,3,3,o) diag(2,2,x) :- cell(2,2,1,1,x) & cell(2,2,2,2,x) & cell(2,2,3,3,x) diag(2,2,o) :- cell(2,2,1,1,o) & cell(2,2,2,2,o) & cell(2,2,3,3,o) diag(2,3,x) :- cell(2,3,1,1,x) & cell(2,3,2,2,x) & cell(2,3,3,3,x) diag(2,3,o) :- cell(2,3,1,1,o) & cell(2,3,2,2,o) & cell(2,3,3,3,o) diag(3,1,x) :- cell(3,1,1,1,x) & cell(3,1,2,2,x) & cell(3,1,3,3,x) diag(3,1,o) :- cell(3,1,1,1,o) & cell(3,1,2,2,o) & cell(3,1,3,3,o) diag(3,2,x) :- cell(3,2,1,1,x) & cell(3,2,2,2,x) & cell(3,2,3,3,x) diag(3,2,o) :- cell(3,2,1,1,o) & cell(3,2,2,2,o) & cell(3,2,3,3,o) diag(3,3,x) :- cell(3,3,1,1,x) & cell(3,3,2,2,x) & cell(3,3,3,3,x) diag(3,3,o) :- cell(3,3,1,1,o) & cell(3,3,2,2,o) & cell(3,3,3,3,o) diag(1,1,x) :- cell(1,1,1,3,x) & cell(1,1,2,2,x) & cell(1,1,3,1,x) diag(1,1,o) :- cell(1,1,1,3,o) & cell(1,1,2,2,o) & cell(1,1,3,1,o) diag(1,2,x) :- cell(1,2,1,3,x) & cell(1,2,2,2,x) & cell(1,2,3,1,x) diag(1,2,o) :- cell(1,2,1,3,o) & cell(1,2,2,2,o) & cell(1,2,3,1,o) diag(1,3,x) :- cell(1,3,1,3,x) & cell(1,3,2,2,x) & cell(1,3,3,1,x) diag(1,3,o) :- cell(1,3,1,3,o) & cell(1,3,2,2,o) & cell(1,3,3,1,o) diag(2,1,x) :- cell(2,1,1,3,x) & cell(2,1,2,2,x) & cell(2,1,3,1,x) diag(2,1,o) :- cell(2,1,1,3,o) & cell(2,1,2,2,o) & cell(2,1,3,1,o) diag(2,2,x) :- cell(2,2,1,3,x) & cell(2,2,2,2,x) & cell(2,2,3,1,x) diag(2,2,o) :- cell(2,2,1,3,o) & cell(2,2,2,2,o) & cell(2,2,3,1,o) diag(2,3,x) :- cell(2,3,1,3,x) & cell(2,3,2,2,x) & cell(2,3,3,1,x) diag(2,3,o) :- cell(2,3,1,3,o) & cell(2,3,2,2,o) & cell(2,3,3,1,o) diag(3,1,x) :- cell(3,1,1,3,x) & cell(3,1,2,2,x) & cell(3,1,3,1,x) diag(3,1,o) :- cell(3,1,1,3,o) & cell(3,1,2,2,o) & cell(3,1,3,1,o) diag(3,2,x) :- cell(3,2,1,3,x) & cell(3,2,2,2,x) & cell(3,2,3,1,x) diag(3,2,o) :- cell(3,2,1,3,o) & cell(3,2,2,2,o) & cell(3,2,3,1,o) diag(3,3,x) :- cell(3,3,1,3,x) & cell(3,3,2,2,x) & cell(3,3,3,1,x) diag(3,3,o) :- cell(3,3,1,3,o) & cell(3,3,2,2,o) & cell(3,3,3,1,o) line(x) :- row(1,1,1,x) line(o) :- row(1,1,1,o) line(x) :- row(1,1,2,x) line(o) :- row(1,1,2,o) line(x) :- row(1,1,3,x) line(o) :- row(1,1,3,o) line(x) :- row(1,2,1,x) line(o) :- row(1,2,1,o) line(x) :- row(1,2,2,x) line(o) :- row(1,2,2,o) line(x) :- row(1,2,3,x) line(o) :- row(1,2,3,o) line(x) :- row(1,3,1,x) line(o) :- row(1,3,1,o) line(x) :- row(1,3,2,x) line(o) :- row(1,3,2,o) line(x) :- row(1,3,3,x) line(o) :- row(1,3,3,o) line(x) :- row(2,1,1,x) line(o) :- row(2,1,1,o) line(x) :- row(2,1,2,x) line(o) :- row(2,1,2,o) line(x) :- row(2,1,3,x) line(o) :- row(2,1,3,o) line(x) :- row(2,2,1,x) line(o) :- row(2,2,1,o) line(x) :- row(2,2,2,x) line(o) :- row(2,2,2,o) line(x) :- row(2,2,3,x) line(o) :- row(2,2,3,o) line(x) :- row(2,3,1,x) line(o) :- row(2,3,1,o) line(x) :- row(2,3,2,x) line(o) :- row(2,3,2,o) line(x) :- row(2,3,3,x) line(o) :- row(2,3,3,o) line(x) :- row(3,1,1,x) line(o) :- row(3,1,1,o) line(x) :- row(3,1,2,x) line(o) :- row(3,1,2,o) line(x) :- row(3,1,3,x) line(o) :- row(3,1,3,o) line(x) :- row(3,2,1,x) line(o) :- row(3,2,1,o) line(x) :- row(3,2,2,x) line(o) :- row(3,2,2,o) line(x) :- row(3,2,3,x) line(o) :- row(3,2,3,o) line(x) :- row(3,3,1,x) line(o) :- row(3,3,1,o) line(x) :- row(3,3,2,x) line(o) :- row(3,3,2,o) line(x) :- row(3,3,3,x) line(o) :- row(3,3,3,o) line(x) :- col(1,1,1,x) line(o) :- col(1,1,1,o) line(x) :- col(1,1,2,x) line(o) :- col(1,1,2,o) line(x) :- col(1,1,3,x) line(o) :- col(1,1,3,o) line(x) :- col(1,2,1,x) line(o) :- col(1,2,1,o) line(x) :- col(1,2,2,x) line(o) :- col(1,2,2,o) line(x) :- col(1,2,3,x) line(o) :- col(1,2,3,o) line(x) :- col(1,3,1,x) line(o) :- col(1,3,1,o) line(x) :- col(1,3,2,x) line(o) :- col(1,3,2,o) line(x) :- col(1,3,3,x) line(o) :- col(1,3,3,o) line(x) :- col(2,1,1,x) line(o) :- col(2,1,1,o) line(x) :- col(2,1,2,x) line(o) :- col(2,1,2,o) line(x) :- col(2,1,3,x) line(o) :- col(2,1,3,o) line(x) :- col(2,2,1,x) line(o) :- col(2,2,1,o) line(x) :- col(2,2,2,x) line(o) :- col(2,2,2,o) line(x) :- col(2,2,3,x) line(o) :- col(2,2,3,o) line(x) :- col(2,3,1,x) line(o) :- col(2,3,1,o) line(x) :- col(2,3,2,x) line(o) :- col(2,3,2,o) line(x) :- col(2,3,3,x) line(o) :- col(2,3,3,o) line(x) :- col(3,1,1,x) line(o) :- col(3,1,1,o) line(x) :- col(3,1,2,x) line(o) :- col(3,1,2,o) line(x) :- col(3,1,3,x) line(o) :- col(3,1,3,o) line(x) :- col(3,2,1,x) line(o) :- col(3,2,1,o) line(x) :- col(3,2,2,x) line(o) :- col(3,2,2,o) line(x) :- col(3,2,3,x) line(o) :- col(3,2,3,o) line(x) :- col(3,3,1,x) line(o) :- col(3,3,1,o) line(x) :- col(3,3,2,x) line(o) :- col(3,3,2,o) line(x) :- col(3,3,3,x) line(o) :- col(3,3,3,o) line(x) :- diag(1,1,x) line(o) :- diag(1,1,o) line(x) :- diag(1,2,x) line(o) :- diag(1,2,o) line(x) :- diag(1,3,x) line(o) :- diag(1,3,o) line(x) :- diag(2,1,x) line(o) :- diag(2,1,o) line(x) :- diag(2,2,x) line(o) :- diag(2,2,o) line(x) :- diag(2,3,x) line(o) :- diag(2,3,o) line(x) :- diag(3,1,x) line(o) :- diag(3,1,o) line(x) :- diag(3,2,x) line(o) :- diag(3,2,o) line(x) :- diag(3,3,x) line(o) :- diag(3,3,o) open(1,1) :- cell(1,1,1,1,b) open(1,1) :- cell(1,1,1,2,b) open(1,1) :- cell(1,1,1,3,b) open(1,1) :- cell(1,1,2,1,b) open(1,1) :- cell(1,1,2,2,b) open(1,1) :- cell(1,1,2,3,b) open(1,1) :- cell(1,1,3,1,b) open(1,1) :- cell(1,1,3,2,b) open(1,1) :- cell(1,1,3,3,b) open(1,2) :- cell(1,2,1,1,b) open(1,2) :- cell(1,2,1,2,b) open(1,2) :- cell(1,2,1,3,b) open(1,2) :- cell(1,2,2,1,b) open(1,2) :- cell(1,2,2,2,b) open(1,2) :- cell(1,2,2,3,b) open(1,2) :- cell(1,2,3,1,b) open(1,2) :- cell(1,2,3,2,b) open(1,2) :- cell(1,2,3,3,b) open(1,3) :- cell(1,3,1,1,b) open(1,3) :- cell(1,3,1,2,b) open(1,3) :- cell(1,3,1,3,b) open(1,3) :- cell(1,3,2,1,b) open(1,3) :- cell(1,3,2,2,b) open(1,3) :- cell(1,3,2,3,b) open(1,3) :- cell(1,3,3,1,b) open(1,3) :- cell(1,3,3,2,b) open(1,3) :- cell(1,3,3,3,b) open(2,1) :- cell(2,1,1,1,b) open(2,1) :- cell(2,1,1,2,b) open(2,1) :- cell(2,1,1,3,b) open(2,1) :- cell(2,1,2,1,b) open(2,1) :- cell(2,1,2,2,b) open(2,1) :- cell(2,1,2,3,b) open(2,1) :- cell(2,1,3,1,b) open(2,1) :- cell(2,1,3,2,b) open(2,1) :- cell(2,1,3,3,b) open(2,2) :- cell(2,2,1,1,b) open(2,2) :- cell(2,2,1,2,b) open(2,2) :- cell(2,2,1,3,b) open(2,2) :- cell(2,2,2,1,b) open(2,2) :- cell(2,2,2,2,b) open(2,2) :- cell(2,2,2,3,b) open(2,2) :- cell(2,2,3,1,b) open(2,2) :- cell(2,2,3,2,b) open(2,2) :- cell(2,2,3,3,b) open(2,3) :- cell(2,3,1,1,b) open(2,3) :- cell(2,3,1,2,b) open(2,3) :- cell(2,3,1,3,b) open(2,3) :- cell(2,3,2,1,b) open(2,3) :- cell(2,3,2,2,b) open(2,3) :- cell(2,3,2,3,b) open(2,3) :- cell(2,3,3,1,b) open(2,3) :- cell(2,3,3,2,b) open(2,3) :- cell(2,3,3,3,b) open(3,1) :- cell(3,1,1,1,b) open(3,1) :- cell(3,1,1,2,b) open(3,1) :- cell(3,1,1,3,b) open(3,1) :- cell(3,1,2,1,b) open(3,1) :- cell(3,1,2,2,b) open(3,1) :- cell(3,1,2,3,b) open(3,1) :- cell(3,1,3,1,b) open(3,1) :- cell(3,1,3,2,b) open(3,1) :- cell(3,1,3,3,b) open(3,2) :- cell(3,2,1,1,b) open(3,2) :- cell(3,2,1,2,b) open(3,2) :- cell(3,2,1,3,b) open(3,2) :- cell(3,2,2,1,b) open(3,2) :- cell(3,2,2,2,b) open(3,2) :- cell(3,2,2,3,b) open(3,2) :- cell(3,2,3,1,b) open(3,2) :- cell(3,2,3,2,b) open(3,2) :- cell(3,2,3,3,b) open(3,3) :- cell(3,3,1,1,b) open(3,3) :- cell(3,3,1,2,b) open(3,3) :- cell(3,3,1,3,b) open(3,3) :- cell(3,3,2,1,b) open(3,3) :- cell(3,3,2,2,b) open(3,3) :- cell(3,3,2,3,b) open(3,3) :- cell(3,3,3,1,b) open(3,3) :- cell(3,3,3,2,b) open(3,3) :- cell(3,3,3,3,b) %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%% Data %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% index(1) index(2) index(3) %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%