title: Get unique results with Prolog
body: <p>I have this Prolog code that returns: <code>[[vincent,vincent],[vincent,marcellus],[marcellus,vincent],[marcellus,marcellus],[pumpkin,pumpkin],[honey_bunny,honey_bunny]]</code>. </p>
  
  <pre><code>:- initialization main.
  
  loves(vincent, mia).
  loves(marcellus, mia).
  loves(pumpkin, honey_bunny).
  loves(honey_bunny, pumpkin).
  
  jealous(X, Y) :-
      loves(X, Z),
      loves(Y, Z).
  
  main :- 
      findall([X, Y], jealous(X, Y), L),
      write(L),
      halt.
  </code></pre>
  
  <p>How to get the only results when X != Y?
  I tried the following code to get the same results as before.</p>
  
  <pre><code>jealous(X, Y) :-
      X \== Y,
      loves(X, Z),
      loves(Y, Z).
  </code></pre>
  
  <p>With <code>\=</code>, I got <code>[]</code>.
  How to get only <code>[vincent,marcellus]</code> as a result?</p>