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

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

%                      b1
%  b2  b10 b8          b2  b00
%  b1  b9  b7  ->  b7  b10 b0
%  b0  b4  b6      b8  b5  b4
%  b00 b3  b5      b3  b6  b9

:- not on(b3 ,table,#maxint).
:- not on(b6 ,table,#maxint).
:- not on(b9 ,table,#maxint).
:- not on(b4 ,b9   ,#maxint).
:- not on(b8 ,b3   ,#maxint).
:- not on(b5 ,b6   ,#maxint).
:- not on(b0 ,b4   ,#maxint).
:- not on(b7 ,b8   ,#maxint).
:- not on(b10,b5   ,#maxint).
:- not on(b2 ,b10  ,#maxint).
:- not on(b1 ,b2   ,#maxint).
:- not on(b00,b0   ,#maxint).
