room(bedroom; diningroom; kitchen). %location(bedroom). door(bedroom, diningroom). door(diningroom, kitchen). {move(A, B)} :- location(A); door(A, B); room(A); room(B). {move(A, B)} :- move(_, A); door(A, B); room(A); room(B). goal:- location(kitchen). goal:- move(_, kitchen). :- not goal.