title: Prolog for Beginners
body: <p>I'm new to prolog and have a rookie question:</p>
  
  <p>Suppose I have these lines of code: </p>
  
  <pre><code>p(1).
  p(2):-!.
  p(3).
  </code></pre>
  
  <p>and I am running <code>p(X)</code>.  </p>
  
  <p>The question: I'm getting <code>X=1 , X=2</code>.<br>
  Why does <code>X</code> not equal <code>3</code> as well? </p>