user32755: I notice that when Stockfish has solved a position to mate it announces that checkmate is unavoidable in some number of moves so it's impossible to mistaken a position Stockfish has solved as a win for one player for a position that Stockfish has merely evaluated as being a position, for which one player has a huge advantage but not solved to the end yet.
On the other hand if Stockfish solves a position as being a draw with best play it just shows the position as being evaluated as 0.0 instead of announcing that it's a draw with best play, however an evaluation of 0.0 can also just indicate that Stockfish can't find an advantage for either player and doesn't necessarily mean it solved it to the end and found it to be a draw with best play from both players.
So my question is when Stockfish can solve a position as being a draw with best play from both players why doesn't the evaluation start saying "Draw" instead of "0.0" to show that the engine has solved it?

user4418: 
Why doesn't Stockfish announce when it solved a position as a book draw similar to how it announces a forced mate?

Very simple. Checkmate ends the game. Once checkmate has been delivered there are no more moves in the game. That is a defined endpoint.
A book draw does not end the game. For instance there are several RKP vs RK which are book draws. If the player without the pawn knows how to draw the game, i.e. stop the opponent from queening the pawn, then they can stop their opponent from winning and the game will eventually be a draw.
There are various ways this can happen. The player with the pawn can realize that they are wasting their time and agree a draw. The position might repeat 3 times allowing the other player to claim a draw or there might be 50 moves without any captures or pawn moves when, again, the other player can claim a draw. However there is no clear point where the game ends. When exactly it ends depends of the choices of the players.

user30536: Unless the Stockfish creators have documented this question, any answer will  basically be based on speculation, more or less well-founded.
It should (theoretically) be possible to separate an evaluated draw and a draw due to endgame table hits: the first is an approximation to truth, based on the scoring function, and the second is truth (assuming suitable endgame tables).
However, this would require that the score of a search would have two components: the score itself, and a flag that says if that score is absolute or approximate. (EGTB mates would probably need to show a 'mate in n moves' and so be adjusted for each depth level of the score, while evaluated scores would not have the same relation to the level on which the score was evaluated, and so be handled differently.) This probably has additional effects on the code, when that composite score is used or passed on, and such effects are likely to have impact on search efficiency.
In general, engine makers focus on play engines rather than analysis engines, and so optimize their code in a particular direction, such as number of nodes per second. Stockfish seems to be a play engine, and so changes that improve non-play aspects are unlikely to be considered as important.
I suspect any definite answer is related to such considerations.  But for a definitive answer, the Stockfish team should be the ultimate source, presumably through the forums indicated on their https://stockfishchess.org/get-involved/ web page.

32755: <p>I notice that when Stockfish has solved a position to mate it announces that checkmate is unavoidable in some number of moves so it's impossible to mistaken a position Stockfish has solved as a win for one player for a position that Stockfish has merely evaluated as being a position, for which one player has a huge advantage but not solved to the end yet.</p>
<p>On the other hand if Stockfish solves a position as being a draw with best play it just shows the position as being evaluated as 0.0 instead of announcing that it's a draw with best play, however an evaluation of 0.0 can also just indicate that Stockfish can't find an advantage for either player and doesn't necessarily mean it solved it to the end and found it to be a draw with best play from both players.</p>
<p>So my question is when Stockfish can solve a position as being a draw with best play from both players why doesn't the evaluation start saying &quot;Draw&quot; instead of &quot;0.0&quot; to show that the engine has solved it?</p>
 4418: <blockquote>
<p>Why doesn't Stockfish announce when it solved a position as a book draw similar to how it announces a forced mate?</p>
</blockquote>
<p>Very simple. Checkmate ends the game. Once checkmate has been delivered there are no more moves in the game. That is a defined endpoint.</p>
<p>A book draw does not end the game. For instance there are several RKP vs RK which are book draws. If the player without the pawn knows how to draw the game, i.e. stop the opponent from queening the pawn, then they can stop their opponent from winning and the game will eventually be a draw.</p>
<p>There are various ways this can happen. The player with the pawn can realize that they are wasting their time and agree a draw. The position might repeat 3 times allowing the other player to claim a draw or there might be 50 moves without any captures or pawn moves when, again, the other player can claim a draw. However there is no clear point where the game ends. When exactly it ends depends of the choices of the players.</p>
 30536: <p>Unless the Stockfish creators have documented this question, any answer will  basically be based on speculation, more or less well-founded.</p>
<p>It should (theoretically) be possible to separate an evaluated draw and a draw due to endgame table hits: the first is an approximation to truth, based on the scoring function, and the second is truth (assuming suitable endgame tables).</p>
<p>However, this would require that the score of a search would have two components: the score itself, and a flag that says if that score is absolute or approximate. (EGTB mates would probably need to show a 'mate in n moves' and so be adjusted for each depth level of the score, while evaluated scores would not have the same relation to the level on which the score was evaluated, and so be handled differently.) This probably has additional effects on the code, when that composite score is used or passed on, and such effects are likely to have impact on search efficiency.</p>
<p>In general, engine makers focus on play engines rather than analysis engines, and so optimize their code in a particular direction, such as number of nodes per second. Stockfish seems to be a play engine, and so changes that improve non-play aspects are unlikely to be considered as important.</p>
<p>I suspect any definite answer is related to such considerations.  But for a definitive answer, the Stockfish team should be the ultimate source, presumably through the forums indicated on their <a href="https://stockfishchess.org/get-involved/" rel="noreferrer">https://stockfishchess.org/get-involved/</a> web page.</p>
