Go To School Go To Class Go To Supermarket Buy Tuna Fish Start Go To Sleep Buy Arugula Read A Book Buy Milk ... Finish Sit in Chair Sit Some More Etc. Etc. ... ... Read A Book At(p) Sells(p,x) Buy(x) Have(x) Start Start Left Right Sock Sock LeftShoeOn, RightShoeOn LeftSockOn RightSockOn Left Right Finish Shoe Shoe LeftShoeOn, RightShoeOn Finish DEMOTION Go(HWS) Go(Home) At(Home) At(HWS) Buy(Drill) PROMOTION At(Home) Finish "Sussman anomaly" problem A C B B A C Start State Goal State Clear(x) On(x,z) Clear(y) Clear(x) On(x,z) PutOn(x,y) PutOnTable(x) ~On(x,z) ~Clear(y) ~On(x,z) Clear(z) On(x,Table) Clear(z) On(x,y) + several inequality constraints C START B A On(C,A) On(A,Table) Cl(B) On(B,Table) Cl(C) A On(A,B) On(B,C) B FINISH C C START B A On(C,A) On(A,Table) Cl(B) On(B,Table) Cl(C) Cl(B) On(B,z) Cl(C) PutOn(B,C) A On(A,B) On(B,C) B FINISH C C START B A On(C,A) On(A,Table) Cl(B) On(B,Table) Cl(C) PutOn(A,B) clobbers Cl(B) => order after PutOn(B,C) Cl(B) On(B,z) Cl(C) Cl(A) On(A,z) Cl(B) PutOn(B,C) PutOn(A,B) A On(A,B) On(B,C) B FINISH C C START B A On(C,A) On(A,Table) Cl(B) On(B,Table) Cl(C) PutOn(A,B) clobbers Cl(B) => order after PutOn(B,C) On(C,z) Cl(C) PutOn(B,C) PutOnTable(C) clobbers Cl(C) => order after PutOnTable(C) Cl(B) On(B,z) Cl(C) Cl(A) On(A,z) Cl(B) PutOn(B,C) PutOn(A,B) A On(A,B) On(B,C) B FINISH C