title: cut processing in prolog
body: <p>can somebody please explain the processing of the following command:</p>
  
  <pre><code>max(X,Y,Max) :- X &gt;= Y, !, Max = X ; Max = Y. 
  </code></pre>
  
  <p>I can't understand, what exactly does it mean <code>!</code> in the middle, thanks in advance</p>