Answers.Body: <p>Fist things first, I put the position into another chess program (Chessmaster, because I find it has the most reliable mate-search function) and told it to brute-force search for a mate. This is what it found:
  <img src="https://i.sstatic.net/AKpDZ.jpg" alt="mate-search result"></p>
  
  <p>So to answer one part of your question, no, there isn't a mate in 7 here.</p>
  
  <p>That leaves the question of why you are getting the lines:</p>
  
  <pre><code>engine: info depth 32 seldepth 52 score mate -7 lowerbound nodes 3696286819 nps 6601691 time 559900 multipv 7 pv d8e7 a1c1 a8c8 c3e4 e6e5 d4d5 b7c5 d5d6 c5d3 d1d3 c8c1 e1d2 e7e6
  engine: info depth 32 seldepth 52 score mate -7 nodes 3992249349 nps 6653549 time 600018 multipv 7 pv d8e7 a1c1 a8c8 c3e4 e6e5 d4d5 b7c5 d5d6 c5d3 d1d3 c8c1 e1d2 e7e6
  </code></pre>
  
  <p>I would suggest that the first of these is stating that as far as the engine has calculated, there is <em>no</em> mate in 7, hence the term lowerbound. The next line indicates that the engine is initiating a PV-search <em>for</em> a mate in 7.</p>
  
Answers.ContentLicense: CC BY-SA 3.0
Answers.CreationDate: 2014-12-02T14:35:12.737Z
Answers.Text: The output would mean that if black plays d8e7 (not the best move, but it is calculated and output because multi-pv is in use), there is a mate in 7. Based on the screenshot, you are calculating whether there is a mate in the position before that move, which the original question is not about.
Answers.UserDisplayName: JiK
Answers.ContentLicense: CC BY-SA 4.0
Answers.CreationDate: 2021-03-24T18:10:35.900Z
Answers.Text: I had the brilliant idea to press "Solve for mate" on the starting position of Chessmaster 3000. It never did finish.
Answers.UserDisplayName: Joshua
Answers.ContentLicense: CC BY-SA 3.0
Answers.CreationDate: 2014-11-20T22:54:38.167Z
Answers.LastActivityDate: 2014-11-20T22:54:38.167Z
Answers.UserDisplayName: DTR
Answers.Body: <p>Your largest issue here is the fact that you are using mutli-PV at 7. They often yield unreliable results, so I would recommend moving that down to 3 or lower. When I am doing serious analysis, I often keep it on 1 to maximize performance. After all, it takes more than n times longer per depth per PV.</p>
  
  <p>Otherwise, the engine has no issue evaluating the position and does not find a false mate.</p>
  
Answers.ContentLicense: CC BY-SA 3.0
Answers.CreationDate: 2014-12-02T04:21:43.697Z
Answers.Text: While multi-PV to 7 might or might not make the engine unstable, it doesn't answer the question at all.
Answers.UserDisplayName: SmallChess
Answers.ContentLicense: CC BY-SA 3.0
Answers.CreationDate: 2014-12-02T06:29:20.107Z
Answers.Text: It does. The incorrect evaluation is only given why multi-pv is put at 7. What else is there?
Answers.UserDisplayName: Colin Evans
Answers.ContentLicense: CC BY-SA 3.0
Answers.CreationDate: 2014-12-02T06:31:39.510Z
Answers.Text: Of course not. This doesn't explain why exactly this occurred. Multi-pv to 7 might be okay for any other position, this issue could also come up with multi-pv to 4 or 5. The issue is more likely related to transposition tables, search stability etc.
Answers.UserDisplayName: SmallChess
Answers.ContentLicense: CC BY-SA 3.0
Answers.CreationDate: 2014-12-02T06:39:06.690Z
Answers.Text: Using MultiPV is never reliable and should only be used as a guide. It has nothing to do with transposition tables or search stability. After all, I am not writing a technical report, simply noting that one cannot rely on the results of a low-ranked option in MultiPV.
Answers.UserDisplayName: Colin Evans
Answers.ContentLicense: CC BY-SA 3.0
Answers.CreationDate: 2014-12-02T06:41:49.663Z
Answers.Text: Multi-PV is not reliable in the sense that the PVs might not be accurate. But the algorithm should still not return a checkmate in a position when it isn't. Your answer is like a doctor saying a patent that "you're not feeling well because you're sick, it has nothing to do with anything else. Your body is simply not reliable."
Answers.UserDisplayName: SmallChess
Answers.ContentLicense: CC BY-SA 3.0
Answers.CreationDate: 2014-12-02T06:47:17.117Z
Answers.Text: More accurately, I am like a doctor saying "You are sick because you often lick subway benches". It does not make sense to go into long discussions on germ theory for such a simple topic. If you can offer a better solution, feel free to provide an answer.
Answers.UserDisplayName: Colin Evans
Answers.ContentLicense: CC BY-SA 3.0
Answers.CreationDate: 2014-12-02T04:02:08.540Z
Answers.LastActivityDate: 2014-12-02T04:02:08.540Z
Answers.UserDisplayName: Colin Evans
Body: <p>I'm running Stockfish with MultiPV=7:</p>
  
  <pre><code>script: setoption name MultiPV value 7
  script: ucinewgame
  script: position startpos moves d2d4 g8f6 c2c4 g7g6 b1c3 d7d5 c1f4 f8g7 f4e5 d5c4 e2e3 b8c6 d1a4 e8g8 e5f6 g7f6 f1c4 a7a6 c4d5 b7b5 a4d1 c8b7 a2a3 e7e6 d5f3 c6a5 f3b7 a5b7 b2b4 c7c5 b4c5
  script: isready
  engine: readyok
  script: go movetime 600000.0
  </code></pre>
  
  <p>When I look at the "multipv 7" lines, I see a strange evaluation at the end of the analysis:</p>
  
  <pre><code>engine: info depth 1 seldepth 1 score cp -74 nodes 463 nps 66142 time 7 multipv 7 pv e6e5 g1e2 e5d4 e3d4
  engine: info depth 2 seldepth 2 score cp -74 nodes 1314 nps 187714 time 7 multipv 7 pv e6e5 g1e2 e5d4 e3d4
  engine: info depth 3 seldepth 4 score cp -79 nodes 3193 nps 399125 time 8 multipv 7 pv d8c7 c3e4 c7a5 d1d2
  engine: info depth 4 seldepth 6 score cp -106 nodes 6224 nps 622400 time 10 multipv 7 pv d8c7 g1e2 c7a5 d1d2
  [268 lines omitted]
  engine: info depth 31 seldepth 52 score cp -70 nodes 3472890690 nps 6622358 time 524419 multipv 7 pv e6e5 c5c6 a8c8 d4d5 d8a5 g1e2 e5e4 a1c1 b7c5 e1g1 f6e5 d5d6 f8d8 c3e4 c5e4 d6d7 c8c7 d1d5 e4c3 e2c3 e5c3 d5d6 c3b2
  engine: info depth 31 seldepth 52 score mate 0 upperbound nodes 3666345467 nps 6585523 time 556728 multipv 7 pv d8e7 a1c1 a8c8 c3e4 e6e5 d4d5 b7c5 d5d6 c5d3 d1d3 c8c1 e1d2
  engine: info depth 32 seldepth 52 score mate -7 lowerbound nodes 3696286819 nps 6601691 time 559900 multipv 7 pv d8e7 a1c1 a8c8 c3e4 e6e5 d4d5 b7c5 d5d6 c5d3 d1d3 c8c1 e1d2 e7e6
  engine: info depth 32 seldepth 52 score mate -7 nodes 3992249349 nps 6653549 time 600018 multipv 7 pv d8e7 a1c1 a8c8 c3e4 e6e5 d4d5 b7c5 d5d6 c5d3 d1d3 c8c1 e1d2 e7e6
  engine: info nodes 3992249349 time 600018
  engine: bestmove d8a5 ponder g1e2
  </code></pre>
  
  <p>Why does the 3rd-to-last line give "score mate -7"?
  I believe this is a lower bound due to pruning (as in my <a href="https://chess.stackexchange.com/questions/7680/stop-sf-multipv-from-returning-an-upperbound">previous question</a>), but the line does not say "lowerbound".
  How can I extract the correct evaluation? I doubt the position is a mate in 7.</p>
  
  <p>Full output is <a href="http://pastebin.com/raw.php?i=kt89NXPZ" rel="nofollow noreferrer">here</a>.</p>
  
  <pre><code>[FEN ""]
  
  1. d4 Nf6 2. c4 g6 3. Nc3 d5 4. Bf4 Bg7 5. Be5 dxc4 6. e3 Nc6 7. Qa4 O-O 8.
  Bxf6 Bxf6 9. Bxc4 a6 10. Bd5 b5 11. Qd1 Bb7 12. a3 e6 13. Bf3 Na5 14. Bxb7
  Nxb7 15. b4 c5 16. bxc5
  </code></pre>
  
  
  
Comments.ContentLicense: CC BY-SA 3.0
Comments.CreationDate: 2014-11-21T13:01:57.523Z
Comments.Text: Can you please tell what MultiPV=7 means?
Comments.UserDisplayName: Salvador Dali
Comments.ContentLicense: CC BY-SA 3.0
Comments.CreationDate: 2014-11-21T16:58:21.597Z
Comments.Text: It means "search for the 7 best moves"
Comments.UserDisplayName: tba
Tags: <analysis><engines><stockfish><uci>
Title: Why does Stockfish give "score mate -7" for this position?
ThreadText: # Why does Stockfish give "score mate -7" for this position?
  
  (Asked by: username_0 on 2014-11-20)
  
  I'm running Stockfish with MultiPV=7:
  
  ```
  script: setoption name MultiPV value 7
  script: ucinewgame
  script: position startpos moves d2d4 g8f6 c2c4 g7g6 b1c3 d7d5 c1f4 f8g7 f4e5 d5c4 e2e3 b8c6 d1a4 e8g8 e5f6 g7f6 f1c4 a7a6 c4d5 b7b5 a4d1 c8b7 a2a3 e7e6 d5f3 c6a5 f3b7 a5b7 b2b4 c7c5 b4c5
  script: isready
  engine: readyok
  script: go movetime 600000.0
  
  ```
  
  When I look at the "multipv 7" lines, I see a strange evaluation at the end of the analysis:
  
  ```
  engine: info depth 1 seldepth 1 score cp -74 nodes 463 nps 66142 time 7 multipv 7 pv e6e5 g1e2 e5d4 e3d4
  engine: info depth 2 seldepth 2 score cp -74 nodes 1314 nps 187714 time 7 multipv 7 pv e6e5 g1e2 e5d4 e3d4
  engine: info depth 3 seldepth 4 score cp -79 nodes 3193 nps 399125 time 8 multipv 7 pv d8c7 c3e4 c7a5 d1d2
  engine: info depth 4 seldepth 6 score cp -106 nodes 6224 nps 622400 time 10 multipv 7 pv d8c7 g1e2 c7a5 d1d2
  [268 lines omitted]
  engine: info depth 31 seldepth 52 score cp -70 nodes 3472890690 nps 6622358 time 524419 multipv 7 pv e6e5 c5c6 a8c8 d4d5 d8a5 g1e2 e5e4 a1c1 b7c5 e1g1 f6e5 d5d6 f8d8 c3e4 c5e4 d6d7 c8c7 d1d5 e4c3 e2c3 e5c3 d5d6 c3b2
  engine: info depth 31 seldepth 52 score mate 0 upperbound nodes 3666345467 nps 6585523 time 556728 multipv 7 pv d8e7 a1c1 a8c8 c3e4 e6e5 d4d5 b7c5 d5d6 c5d3 d1d3 c8c1 e1d2
  engine: info depth 32 seldepth 52 score mate -7 lowerbound nodes 3696286819 nps 6601691 time 559900 multipv 7 pv d8e7 a1c1 a8c8 c3e4 e6e5 d4d5 b7c5 d5d6 c5d3 d1d3 c8c1 e1d2 e7e6
  engine: info depth 32 seldepth 52 score mate -7 nodes 3992249349 nps 6653549 time 600018 multipv 7 pv d8e7 a1c1 a8c8 c3e4 e6e5 d4d5 b7c5 d5d6 c5d3 d1d3 c8c1 e1d2 e7e6
  engine: info nodes 3992249349 time 600018
  engine: bestmove d8a5 ponder g1e2
  
  ```
  
  Why does the 3rd-to-last line give "score mate -7"?
  I believe this is a lower bound due to pruning (as in my [previous question](https://chess.stackexchange.com/questions/7680/stop-sf-multipv-from-returning-an-upperbound)), but the line does not say "lowerbound".
  How can I extract the correct evaluation? I doubt the position is a mate in 7.
  
  Full output is [here](http://pastebin.com/raw.php?i=kt89NXPZ).
  
  ```
  [FEN ""]
  
  1. d4 Nf6 2. c4 g6 3. Nc3 d5 4. Bf4 Bg7 5. Be5 dxc4 6. e3 Nc6 7. Qa4 O-O 8.
  Bxf6 Bxf6 9. Bxc4 a6 10. Bd5 b5 11. Qd1 Bb7 12. a3 e6 13. Bf3 Na5 14. Bxb7
  Nxb7 15. b4 c5 16. bxc5
  
  ```
  
  **Tags:** analysis, engines, stockfish, uci
  
  > **Comments:**
  > **username_1**: Can you please tell what MultiPV=7 means?  
  > **username_0**: It means "search for the 7 best moves"  
  
  ---
  
  ## 2 answers
  
  ### Answer by username_2 on 2014-11-20. Score: 4
  
  Fist things first, I put the position into another chess program (Chessmaster, because I find it has the most reliable mate-search function) and told it to brute-force search for a mate. This is what it found:
  ![mate-search result](https://i.sstatic.net/AKpDZ.jpg)
  
  So to answer one part of your question, no, there isn't a mate in 7 here.
  
  That leaves the question of why you are getting the lines:
  
  ```
  engine: info depth 32 seldepth 52 score mate -7 lowerbound nodes 3696286819 nps 6601691 time 559900 multipv 7 pv d8e7 a1c1 a8c8 c3e4 e6e5 d4d5 b7c5 d5d6 c5d3 d1d3 c8c1 e1d2 e7e6
  engine: info depth 32 seldepth 52 score mate -7 nodes 3992249349 nps 6653549 time 600018 multipv 7 pv d8e7 a1c1 a8c8 c3e4 e6e5 d4d5 b7c5 d5d6 c5d3 d1d3 c8c1 e1d2 e7e6
  
  ```
  
  I would suggest that the first of these is stating that as far as the engine has calculated, there is *no* mate in 7, hence the term lowerbound. The next line indicates that the engine is initiating a PV-search *for* a mate in 7.
  
  > **Comments:**
  > **username_3**: The output would mean that if black plays d8e7 (not the best move, but it is calculated and output because multi-pv is in use), there is a mate in 7. Based on the screenshot, you are calculating whether there is a mate in the position before that move, which the original question is not about.  
  > **username_4**: I had the brilliant idea to press "Solve for mate" on the starting position of Chessmaster 3000. It never did finish.  
  
  ---
  
  ### Answer by username_5 on 2014-12-02. Score: -1
  
  Your largest issue here is the fact that you are using mutli-PV at 7. They often yield unreliable results, so I would recommend moving that down to 3 or lower. When I am doing serious analysis, I often keep it on 1 to maximize performance. After all, it takes more than n times longer per depth per PV.
  
  Otherwise, the engine has no issue evaluating the position and does not find a false mate.
  
  > **Comments:**
  > **username_6**: While multi-PV to 7 might or might not make the engine unstable, it doesn't answer the question at all.  
  > **username_5**: It does. The incorrect evaluation is only given why multi-pv is put at 7. What else is there?  
  > **username_6**: Of course not. This doesn't explain why exactly this occurred. Multi-pv to 7 might be okay for any other position, this issue could also come up with multi-pv to 4 or 5. The issue is more likely related to transposition tables, search stability etc.  
  > **username_5**: Using MultiPV is never reliable and should only be used as a guide. It has nothing to do with transposition tables or search stability. After all, I am not writing a technical report, simply noting that one cannot rely on the results of a low-ranked option in MultiPV.  
  > **username_6**: Multi-PV is not reliable in the sense that the PVs might not be accurate. But the algorithm should still not return a checkmate in a position when it isn't. Your answer is like a doctor saying a patent that "you're not feeling well because you're sick, it has nothing to do with anything else. Your body is simply not reliable."  
  > **username_5**: More accurately, I am like a doctor saying "You are sick because you often lick subway benches". It does not make sense to go into long discussions on germ theory for such a simple topic. If you can offer a better solution, feel free to provide an answer.  
  
  ---
  
  