Slide 139
Slide 139 text
has(Thing, Person) :- nationality(Thing), Person = [Thing, _, _, _, _].
has(Thing, Person) :- color(Thing), Person = [_, Thing, _, _, _].
has(Thing, Person) :- pet(Thing), Person = [_, _, Thing, _, _].
has(Thing, Person) :- beverage(Thing), Person = [_, _, _, Thing, _].
has(Thing, Person) :- cigars(Thing), Person = [_, _, _, _, Thing].
same(A, B, People) :- has(A, Person),
has(B, Person),
member(Person, People).
first_house(A, People) :- has(A, Person), People = [Person, _, _, _, _].
center_house(A, People) :- has(A, Person), People = [_, _, Person, _, _].
left_of(A, B, People) :- has(A, PersonA),
has(B, PersonB),
nextto(PersonA, PersonB, People).
neighbors(A, B, People) :- left_of(A, B, People); left_of(B, A, People).