
% CS/ECE348 - Summer 2001
% MP3 - Planning in Prolog
% Name: Joseph S Kim
% Email: jskim5@uiuc.edu
% Due Date: July 19

:- discontiguous(init_state/2,goal/2,move/3).
:- include('planner').

% type "reload." to reload this file
reload :- ['mp3.pl'].


move(paint(X,Y), [ontable(X), clear(X), holding(brush(Y))], [add(color(X,Y))]).

% init_state()
init_state(q1, [clear(a),clear(c),ontable(b),ontable(c),on(a,b), handempty]).
init_state(q3p1, [clear(a),ontable(a),clear(brush(red)),ontable(brush(red)), handempty]).
init_state(q3p2, [clear(a),ontable(a),clear(b),ontable(b),clear(brush(red)),ontable(brush(red)), handempty]).
init_state(q4, [clear(a),on(a,b),ontable(b),clear(brush(blue)),ontable(brush(blue)),clear(brush(red)),ontable(brush(red)), handempty]).


% Goal()
goal(q1, [on(c,b), on(b,a), clear(c), ontable(a)]).
goal(q3p1, [color(a,red)]).
goal(q3p2, [on(a,b),color(a,red)]).
goal(q4, [on(a,b),color(a, blue),color(b,red)]).



