Martin wrote:hgm wrote:WinBoard would not recognize such a draw claim as valid. I did decide against putting that in, because it will not occur in practice, and because doing it would still not cover all draw cases. Because according to FIDE rules a game is draw if no mate is possible, not because of the material that is on the board. So K+4P vs K+4P can also be a legal draw. And it is actually a lot more likely than KBBKB. But there is no way a GUI is going to recognize that, so why bother with KBBKB?
Yes, agree, why bother?
To avoid any problems with WinBoard or another GUI I will remove this claim from my engine and let it only claim a draw for K+B vs K+B with B's of the same color.
Not that I ever saw something like K+B vs K+B+B with B's of the same color, but you never know ..

I think the policy should be the other way round. This is my proposal:
1) In general, a GUI should *never* reject an engine's draw claim as "illegal" if it is really a draw according to FIDE chess rules. I would regard it as extremely disappointing if an engine were punished although behaving correctly.
2) In practice it is clear that there are some types of positions (like the KPPPP vs. KPPPP position shown above) for which neither an engine nor a GUI can "easily" and "quickly" detect the draw, from today's viewpoint. Such types of positions should be excluded from the general rule in 1).
3) All regular draw positions where the draw can be seen statically by looking only at the set of pieces present on the board [EDIT: including their square's color, of course

] - not their current squares - should be detected by a GUI, and engines should be allowed to claim a draw in these cases. This would especially include the "KB* vs. KB*" case with all bishops on same color and no other pieces than kings and bishops on the board.
4) "Lazyness" and likelyhood of some positions are no strong arguments for a GUI not to implement all cases of 3). Especially in the "bishops" case I think that it is very easy to have a function that returns a square's color, and to have code that loops over all squares of bishops to find out whether they are all on the same color or not.
If this can be agreed I propose to add the necessary "all bishops on same color" code to WinBoard.
Sven