1:- use_module(library(pita)).
    2
    3:- pita.
    4
    5:- begin_lpad.
    6
    7? :: marketed(theo).
    8? :: marketed(bernd).
    9? :: marketed(guy).
   10? :: marketed(ingo).
   11? :: marketed(angelika). 
   12? :: marketed(martijn).
   13? :: marketed(laura).
   14? :: marketed(kurt).
   15
   16utility(marketed(theo),-2).
   17utility(marketed(bernd),-2).
   18utility(marketed(guy),-2).
   19utility(marketed(ingo),-2).
   20utility(marketed(angelika),-2).
   21utility(marketed(martijn),-2).
   22utility(marketed(laura),-2).
   23utility(marketed(kurt),-2).
   24
   25utility(buys(theo),5).
   26utility(buys(bernd),5).
   27utility(buys(guy),5).
   28utility(buys(ingo),5).
   29utility(buys(angelika),5).
   30utility(buys(martijn),5).
   31utility(buys(laura),5).
   32utility(buys(kurt),5).
   33
   340.2 :: buy_from_marketing(_).
   350.3 :: buy_from_trust(_,_).
   36
   37trusts(X,Y) :- trusts_directed(X,Y).
   38trusts(X,Y) :- trusts_directed(Y,X).
   39
   40trusts_directed(bernd,ingo).
   41trusts_directed(ingo,theo).
   42trusts_directed(theo,angelika).
   43trusts_directed(bernd,martijn).
   44trusts_directed(ingo,martijn).
   45trusts_directed(martijn,guy).
   46trusts_directed(guy,theo).
   47trusts_directed(guy,angelika).
   48trusts_directed(laura,ingo).
   49trusts_directed(laura,theo).
   50trusts_directed(laura,guy).
   51trusts_directed(laura,martijn).
   52trusts_directed(kurt,bernd).
   53
   54buys(X):-
   55    marketed(X),
   56    buy_from_marketing(X).
   57buys(X):-
   58    trusts(X,Y),
   59    buy_from_trust(X,Y),
   60    buys(Y).
   61
   62:- end_lpad.
   63
   64/*
   65 * ?- dt_solve(Strategy,Value).
   66 * Expected result:
   67 * Strategy = [[marketed(theo)],[marketed(martijn)],[marketed(ingo)],[marketed(guy)]]
   68 * Value = 3.21
   69*/