title: What do results like Z = [_G305] mean in prolog?
body: <p>I've got these definitions:</p>
  
  <pre><code>memberx(X, [X|_]).
  memberx(X, [_|T]) :- memberx(X, T).
  
  intersectionx([], _, []).
  intersectionx([H|T], Y, [_|Z]) :- memberx(H, Y), !, intersectionx(T, Y, Z).
  intersectionx([_|T], Y, Z) :- intersectionx(T, Y, Z).
  </code></pre>
  
  <p>I get the following result:</p>
  
  <pre><code>?- intersectionx([1], [1], Z).
  Z = [_G305].
  </code></pre>
  
  <p>Why doesn't it result in Z = [1]??</p>