// state 1 // plan is trivial
Initial state: Clear(A), Clear(B), On(A,Fl), On(B,C), On(C,Fl), Clear(Fl)

// state 2 // plan is correct 
//Initial state: Clear(A), Clear(B), Clear(C), On(A,Fl), On(B,Fl), On(C,Fl), Clear(Fl)

// state 3 // plan is correct but not optimal
//Initial state: Clear(C), On(C,A), On(A,B), On(B,Fl), Clear(Fl)

// state 4 // Sussman anomaly - plan is not found
//Initial state: Clear(C), On(C,A), On(A,Fl), On(B,Fl), Clear(Fl)

Goal state:    On(A,B), On(B,C)

Actions:
               // move from X on Y to Z
               Move(X, Y, Z)
               Preconditions:  Clear(X), On(X,Y), Clear(Z), !Y=Z
               Postconditions: !Clear(Z), !On(X,Y), On(X,Z), Clear(Y), Clear(Fl)
               