% P4

block(b0).
block(b1).
block(b2).
block(b3).
block(b4).
block(b5).
block(b6).
block(b7).
block(b8).
block(b9).
block(b10).

% planning problem

% initial state:

%   10 8
% 2 9  7
% 1 4  6 
% 0 3  5
%-------

on(b0 ,table,t0).
on(b3 ,table,t0).
on(b5 ,table,t0).
on(b1 ,b0   ,t0).
on(b2 ,b1   ,t0).
on(b4 ,b3   ,t0).
on(b9 ,b4   ,t0).
on(b10,b9   ,t0).
on(b6 ,b5   ,t0).
on(b7 ,b6   ,t0).
on(b8 ,b7   ,t0).

time(t0).
time(t1).
time(t2).
time(t3).
time(t4).
time(t5).

% goal state: 

%     1
%     2
% 0 7 10
% 4 8 6
% 9 3 5 
%-----

goal(T) :- time(T),
on(b9 , table, T),
on(b3 , table, T),
on(b5 , table, T),
on(b4 , b9   , T),
on(b0 , b4   , T),
on(b8 , b3   , T),
on(b7 , b8   , T),
on(b6 , b5   , T),
on(b10, b6   , T),
on(b2 , b10  , T),
on(b1 , b2   , T).
