Hacker News
July 21, 20261 min read
The tool to determine whether a player can be checkmated by any means , not necessarily by force, in a given chess position.
Required for fair timeout adjudication under FIDE Article 6.9 .
Try the Analyzer Peer-reviewed (FUN 2022) Open source · MIT crates.io v3.0.0 White ran out of time. Draw!
Real Lichess game hPiwD75i , incorrectly adjudicated as a loss.
When a player runs out of time, the game is almost always ruled a loss, but it is exceptionally declared a draw if their opponent cannot possibly checkmate them . Indeed, Article 6.9 of the FIDE Laws of Chess states:
“[...] the game is drawn if the position is such that the opponent cannot checkmate the player’s king by any possible series of legal moves.”
Chess servers have historically ignored this rule, treating the problem as computationally intractable , leading to many wrongly decided games .
CHA-Solver is an efficient algorithm that decides with mathematical certainty whether a position is unwinnable.
How do chess servers adjudicate timeouts? Can I see examples of unfairly adjudicated games? Can I try CHA-Solver? How
How reliable are CHA-Solver's verdicts? How do I interpret "Unwinnable"? Next
Will Lichess adopt/integrate CHA-Solver? We found 199,186 wrongly decided games on Lichess Every rated game where a timeout was misjudged, scanned across the entire Lichess Open Database . Browse them all, or see how the numbers break down.
Browse the games Browse every misjudged game, or search by username to check your own.
See the statistics How the numbers break down: by reason, rating, time control and over time.
Read what's here, then head to the original whenever you're ready - never required.
Continue Reading on Hacker NewsMeasuring What Matters with Jules
Google Developers July 21, 2026