move(x,y,z) move x from block y to block z precond: on(x,y) & clear(x) & clear(z) & x!=T & y!=T & z!=T effects: clear(y) & on(x,z) & ~on(x,y) & ~clear(z) moveFromTable(x,z) move x from table to block z precond: on(x,T) & clear(x) & clear(z) & x != T & z != T effects: on(x,z) & ~on(x,T) & ~clear(z) moveToTable(x,y) move x from block y to table precond: on(x,y) & clear(x) & x!=T & y!=T effects: clear(y) & on(x,T) & ~on(x,y) clear(C), on(C,A), on(A,T), clear(B), on(B,T) moveToTable(C,A) clear(C), on(A,T), clear(B), on(B,T), on(C,T), clear(A) moveFromTable(B,C) on(A,T), clear(B), on(C,T), clear(A), on(B,C) moveFromTable(A,B) on(C,T), clear(A), on(B,C), on(A,B)