The dog can perform the following actions: walk on floor; climb the box (if it is already at the box); and grasp the meat if standing on the box directly under the meat. but when i run the code below but i get an Error
procedure `(A:-B)' does not exist Reachable from:
swish_trace:swish_call((start:-canget(state(atdoor,onfloor,atwindow,hasmeat)))) '$swish wrapper'((start:-canget(state(atdoor,onfloor,atwindow,hasmeat))),A)
move(state(middle,onbox,middle,has_no_meat),state(middle,onbox,middle,has_meat)).
/*climbing the box*/
move(state(middle_floor, onfloor, middle_floor,has_no_meat), climb,
state(middle_floor,onbox, middle_floor,has_meat)).
/*pushing the box to the middle of the room*/
move(state(atwindow,onfloor,atwindow,has_box),
push(atwindow,middle_floor),
state(middle_floor,onfloor,middle_floor,has_box)).
/*dog walks from the door to the window*/
move(state(atdoor,onfloor,box,has_not), walk(atdoor,atwindow),
state(atwindow,onfloor,box,has_box)).
canget(state(_, _, _, has_meat)).
canget(State1) :- move(State1, Move, State2), canget(State2).