diff --git a/chapter-06/exercises.pl b/chapter-06/exercises.pl index 89ed5e5..c415fe7 100644 --- a/chapter-06/exercises.pl +++ b/chapter-06/exercises.pl @@ -120,7 +120,7 @@ %% constraints in Prolog. member and sublist might be useful predicates. %% I believe this is the correct answer: -%% (green, Japanese, zebra) | (red, English, snail) | (blue, Spanish, jaguar) +%% (red, englishman, snail) | (green, japanese, zebra) | (blue, spanish, jaguar) prefix(P,L) :- append(P,_,L). suffix(S,L) :- append(_,S,L). @@ -128,8 +128,11 @@ zebra_owner(ZebraOwner) :- Street = [_, _, _], + member(house(red, _, _), Street), + member(house(blue, _, _), Street), + member(house(green, _, _), Street), member(house(red, englishman, _), Street), member(house(_, spanish, jaguar), Street), - member(house(_, ZebraOwner, zebra), Street), sublist([house(_, _, snail), house(_, japanese, _)], Street), - sublist([house(_, _, snail), house(blue, _, _)], Street). + sublist([house(_, _, snail), house(blue, _, _)], Street), + member(house(_, ZebraOwner, zebra), Street).