%% cook([lit,fire],[[[lit,fire],[heated,pan]],[[heated,pan],[boiled,water]],[[boiled,water],[boiled,tofu]]]). cook(_, []). cook(Start, Pairs1) :- delete(Pairs1, Pair, Pairs2), Pair = [Start, Next], cook(Next, Pairs2). %% Obstacle in wind-pipe %% in(0,2,0,2,1,2,A). in(X1, X2, Y1, Y2, X3, Y3, 0) :- X1 =< X3, X3 =< X2, Y1 =< Y3, Y3 =< Y2.