instances tile 1 .. 8. dir u,d,l,r. coord r,c. int 1..3. fluents board : int x int -> tile+{empty} = empty. hole: coord -> int. actions move_dir: dir. static inc: coord x dir -> {-1..1} = 0. rules inc(r,u)= -1. inc(r,d)= 1. inc(c,l)= -1. inc(c,r)= 1. vars X:coord. rules hole'(X)=hole(X)+inc(X,move_dir). board(hole(r),hole(c))=empty. board'(hole(r),hole(c)) = board(hole'(r),hole'(c)).