I'm need to use SWI-prolog to solve a logic puzzle for homework, but I find the syntax and meaning very cumbersome even with my programming background. The problem I'm facing are error about singleton variables and the puzzle return false.
This is what i've done so far:
:- use_module(library(clpfd)).
sends(K,priscilla,C),
C#\=rose.
sends(carol,L,rose).
sends(dick,L,sun).
sends(K,L,landscape).
sends(bob,rhonda,C).
sends(edna,quincy,C).
sends(K,simon,deer).
sends(K,tina,C).
solve :-
sends(
[alice,bob,carol,dick,edna],
[priscilla,rhonda,quincy,simon,tina],
[rose,heart,sun,landscape,deer]).
This is the question, a gentle nudge in the right direction or a answer which helps me understand the language better would be greatly appreciated!