blk(1). blk(2). blk(3). blk(4). blk(5). fluent(on_table(X)):- blk(X). fluent(clear(X)):- blk(X). fluent(on(X,Y)):- blk(X), blk(Y), neq(X,Y). fluent(space_on_table). %(6): action(move(X,Y)):- blk(X), blk(Y), neq(X,Y). %(6'): %action(move(X,Y)):- blk(X), blk(Y), X>Y. action(to_table(X)):- blk(X). initially(clear(5)). initially(mneg(clear(X))) :- blk(X), X<5. initially(on_table(1)). initially(mneg(on_table(X))) :- blk(X), X>1. initially(space_on_table). initially(on(X,Y)) :- blk(X), blk(Y), Y<5, X is Y+1. initially(mneg(on(X,Y))):- blk(X), blk(Y), X