Il dominio è costituito da alcuni tavoli, un insieme di oggetti e un unico robot. Gli oggetti sono collocati sui tavoli e il robot può spostare gli oggetti da un tavolo a un altro. Gli oggetti hanno diversi colori, che non si possono modificare.
Rappresentare il dominio utilizzando l'unico fluente on(X,T,S) (l'oggetto X si trova sul tavolo T nella situazione S) e l'unica azione move(X,From,To) (il robot sposta l'oggetto X dal tavolo From al tavolo To. Rappresentare i colori degli oggetti mediante il predicato statico colore(X,C) (il colore di X è C).
Rappresentare una situazione iniziale qualsiasi con almeno 3 tavoli e diversi oggetti, di almeno 3 colori diversi, e scrivere le seguenti procedure:
Per ciascuna delle procedure spostatutti(C,T) e toglitutti(C,T), scriverne due versioni: una che utilizzi il costrutto while e l'altra senza l'uso di while.
marta