1
votes

example:

PREDICATES
nondeterm likes (symbol,symbol)

CLAUSES
likes (ali,football).
likes (ali,tenis).
likes (ahmad,tenis).
likes (ahmad,handball).
likes (samir,handball).
likes (samir,swimming).
likes (khaled,horseriding).

GOAL
%
likes (Person, G1), likes (Person,G2), G1<>G2.
1
Maybe this helps: Prolog - Operator in predicatemattja

1 Answers

3
votes

In that example, <> means "is not equal". The query:

likes(Person, G1),
likes(Person, G2),
G1 <> G2.

Is meant to find a Person that likes two things. Without the <>, G1 and G2 could be equal to each other and the query could find a Person that likes only one thing.

<> may be specific to Visual Prolog. In other Prolog environments you would use \= or \== instead.