Answers.Body: <p>The specification is correct here. </p>
  
  <p>An appropriate implementation would start a search, and then terminate it once a checkmate has been found in <code>x</code> full moves, or <code>2x</code> plies</p>
  
  <blockquote>
    <p>I believe this should say "search for mate in x plies", as plies are used in most of the protocol.</p>
  </blockquote>
  
  <p>This is not the case.</p>
  
  <p>The way that mate scores are handled is one of the quirks of the UCI Protocol. As it happens, using full moves to describe mates <strong>is consistent</strong> with the rest of the protocol. </p>
  
  <p>For example, here is the section which describes how scores should be reported:</p>
  
  <pre><code>* score
      * cp &lt;x&gt;
          the score from the engine's point of view in centipawns.
      * mate &lt;y&gt;
          mate in y moves, not plies.
          If the engine is getting mated use negative values for y.
  </code></pre>
  
  <p>Here, the mate scores must also be reported in full moves, just like the requirement for <code>go mate &lt;x&gt;</code>.</p>
  
  <p>You are, however, right to find this unusual, as most chess engines do represent mate scores in plies internally.</p>
  
Answers.ContentLicense: CC BY-SA 4.0
Answers.CreationDate: 2019-02-23T16:21:20.803Z
Answers.LastActivityDate: 2019-02-23T16:21:20.803Z
Answers.UserDisplayName: konsolas
Body: <p>In the UCI documentation, it says</p>
  
  <blockquote>
    <ul>
    <li><p>mate x</p>
    
    <p>search for a mate in x moves</p></li>
    </ul>
  </blockquote>
  
  <p>However, I believe this should say "search for mate in x plies", as plies are used in most of the protocol. I can not find any good documentation for this. Which way does it actually work?</p>
  
Comments.ContentLicense: CC BY-SA 4.0
Comments.CreationDate: 2019-01-24T02:28:23.910Z
Comments.Text: Welcome to Chess.SE, and great questioin! Could you elaborate as to where in UCI documentation you found this?
Comments.UserDisplayName: Brandon_J
Comments.ContentLicense: CC BY-SA 4.0
Comments.CreationDate: 2019-01-24T03:12:35.667Z
Comments.Text: The one [here](https://www.shredderchess.com/chess-info/features/uci-universal-chess-interface.html), in the section GUI to Engine (go mate <x>).
Comments.UserDisplayName: me'
Tags: <uci>
Title: How does "go mate <x>" work in UCI
ThreadText: # How does "go mate <x>" work in UCI
  
  (Asked by: username_0 on 2019-01-23)
  
  In the UCI documentation, it says
  
  > * mate x
  >
  >   search for a mate in x moves
  
  However, I believe this should say "search for mate in x plies", as plies are used in most of the protocol. I can not find any good documentation for this. Which way does it actually work?
  
  **Tags:** uci
  
  > **Comments:**
  > **username_1**: Welcome to Chess.SE, and great questioin! Could you elaborate as to where in UCI documentation you found this?  
  > **username_0**: The one [here](https://www.shredderchess.com/chess-info/features/uci-universal-chess-interface.html), in the section GUI to Engine (go mate <x>).  
  
  ---
  
  ## 1 answers
  
  ### Answer by username_2 on 2019-02-23. Score: 1 | Accepted answer
  
  The specification is correct here. 
  An appropriate implementation would start a search, and then terminate it once a checkmate has been found in x full moves, or 2x plies
  
  I believe this should say "search for mate in x plies", as plies are used in most of the protocol.
  
  This is not the case.
  The way that mate scores are handled is one of the quirks of the UCI Protocol. As it happens, using full moves to describe mates is consistent with the rest of the protocol. 
  For example, here is the section which describes how scores should be reported:
  * score
      * cp 
          the score from the engine's point of view in centipawns.
      * mate 
          mate in y moves, not plies.
          If the engine is getting mated use negative values for y.
  
  Here, the mate scores must also be reported in full moves, just like the requirement for go mate .
  You are, however, right to find this unusual, as most chess engines do represent mate scores in plies internally.
  
  
  ---
  
  