/* 012345 ######0 # #@ #1 # $* #2 # .* #3 # #4 ######5 */ instances stone 1..3. row 1..4. col 1..4. ext_row 0..5. % include the surrounding borders ext_col 0..5. rules valid_pos(1,1). valid_pos(1,3). valid_pos(1,4). valid_pos(R,C) :- vars R:{2..4}, C:{1..4}. is_goal(2,3). is_goal(3,2). is_goal(3,3). initially stone_pos(1,r)=2. stone_pos(1,c)=2. stone_pos(2,r)=2. stone_pos(2,c)=3. stone_pos(3,r)=3. stone_pos(3,c)=3. robot(r)=1. robot(c)=3.