Gegeven een database van entiteiten die deelnemen aan activiteiten met volgende predicaten:
took_part(N, A)
: N
nam deel aan activiteit A
day(A,Day)
: Activiteit A
was op Day
Hierbij is Day
een van monday
, tuesday
, wednesday
, thursday
, friday
, saturday
of sunday
.
Hieronder zie je een deel van de database:
took_part(fenchurch, dining_at_the_end_of_the_universe).
took_part(slartibartfast, the_42_club).
took_part(zaphod_beeblebrox, painting_the_hart_of_gold).
took_part(marvin, dining_at_the_end_of_the_universe).
took_part(trillian, the_42_club).
took_part(tricha_mc_millen, painting_the_hart_of_gold).
took_part(arthur_dent, dining_at_the_end_of_the_universe).
day(dining_at_the_end_of_the_universe ,monday).
day(the_42_club ,monday).
day(painting_the_hart_of_gold ,monday).
We vragen ons nu af welke entiteiten elkaar wel of niet kunnen ontmoet hebben. Schrijf hiervoor:
have_met(X,Y)
: X
en Y
waren op op dezelfde activiteit en kunnen elkaar ontmoet hebben.dif_place(X,Y,Day)
: X
en Y
waren op een verschillende activiteit op Day
.did_not_meet(X,Y)
: X
en Y
hebben elkaar niet ontmoet deze weekOm te testen kun je deze database1 gebruiken. Tip: typ LifeTheUniverseAndEverything.
ENTER in SWI Prolog.