title: How to tell if list length is odd or even in Prolog
body: <p>I'm attempting to determine whether a Prolog list has an odd or even number of elements.  I realize there are likely better solutions using <code>length/2</code> and I would be willing to mark a better solution than this one the right answer, I would just like to know what I am doing wrong in this example.</p>
  
  <p>I have code detailed as:</p>
  
  <pre><code>oddSize([]) :-
      false.
  oddSize([_]).
  oddSize([_,_|T]) :-
      oddSize(T).
  </code></pre>
  
  <p>The output I receive when I attempt to test this code is:</p>
  
  <pre><code>1 ?- oddSize([]).
  false.
  
  2 ?- oddSize([1]).
  true ;
  false.
  
  3 ?- oddSize([1,2]).
  false.
  
  4 ?- oddSize([1,2,3]).
  true ;
  false.
  </code></pre>
  
  <p>It seems to be detecting which of the lists have an odd number of elements, but why do I get the extra result of <code>false</code>?</p>