1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
|
human(jack).
income(jack, 480).
human(jones).
income(jones, 20).
human(joe).
income(joe, 1000).
human(jeremy).
product(jeremy).
product(grapes).
cost(grapes, 5).
product(pasta).
cost(pasta, 1).
product(car).
cost(car, 400).
likes(jack, pasta).
likes(jones, car).
likes(joe, car).
can_afford(X, Y) :-
income(X, Income),
cost(Y, Cost),
Income > Cost.
will_buy(X, Y) :-
human(X),
product(Y),
likes(X, Y),
can_afford(X, Y).
|