Losing Chess

Wikipedia page on Losing Chess


Solving Status

The move 1. e3 has been solved as a win for White under both FICS and
International Rules. The final leg was actually much easier than expected,
as I wasted around a year on false leads. In fact, the not-too-deep idea
1. e3 b6 2. a4 e6 3. Ra3 Bxa3 4. Nxa3 Qh4 5. a5 bxa5 6. Qh5! leads to
some queen races where White just needs a bit deeper search to show
a good score, and the proof only took a few hours (128 cores).

The largest part of 1. e3 b6 remains 1. e3 b6 2. a4 e6 3. Ra3 Bxa3 4. Nxa3 b5,
and the 2... b5 lines are also quite nontrivial. However, both of those were
done in August 2015, a few months after the 2. a4 idea was first tried.

This email (or a small variant) was circulated to a number of associated
Losing Chess mailing lists, some for programmers, some for aficionados,
or mathematics colleagues, or interested chess (grand)masters, ...

Some effort was made to reduce the original proof size, and eliminate overly
complicated sequences of reversible moves.

The revised proof is here, and the online browser is currently here.


NOTE: The Browser is still available, but could be terminated at any time.

29 Sep 2020: Klaas Steenhuis has found a simplification to part of
the 1. e3 c5 proof. See the revision page.

15 Apr 2019: As pointed out by Anatoli Shmarlouski, there is a bug in
the tablebases. Namely the position with White pawns on f5/g2 and Black
pawns on f4/h4 is scored as a Win, even though there are no winning moves.
The issue seems to be with the double en passant after g4. This position
actually occurs in the 1. e3 c6 solution.

There appear to be 40 positions in e3wins.rev2 that are affected by this
(in fact, the above position is actually also reached after 1. e3 b5).
I think every file except the "easy" wins and 1. e3 e6 was affected.

Five TBs used in e3wins.rev2 proof were wrong, but as Klaas Steenhuis points
out, other 4-piece TBs are also incorrect.

The new revised proof is on the revision page, and a new source tarball
is also available.

NOTE (7 Jul 2017): Some of the older now-unused files (linked on some pages)
were deleted off the web server for reasons of space. If you really want
one, I probably still have it on a local hard drive.

Some links to historical pages are here


Status report

Losing Chess: 1. e3 wins for White (PDF, short form)
Appeared in ICGA Journal 39/2.

Losing Chess: 1. e3 wins for White (Oct 2016) (PDF, 240K, 18 pages)

(Old versions)
Status report (Aug 2014) (PDF, 115K, short form, ICGA Journal 37/2)
Status report (Aug 2013) (PDF, longer, with positions)
Status report (Sep 2012) (PDF, longer, with positions)


Source code

source tarball (1MB) (Linux-based)

(Apr 2019) Fixes TB_populate.c with double en passant.
Also TB_index2.c now is ep-compliant (was merely cosmetically wrong before).
Finally, verify_win.c gives a bit more information on a TB result failure.

(Jan 2020) No real changes, make quickstart.sh link LCTB.


Proof trees (with md5sum of bz2 file)

easy12.done.bz2 (1.5MB) 5d7fede37dafc29509ef7cf118574334
e3c6.done.bz2 (2.3MB) 382021495d0d34403fe2d4dc22c815b2
e3Nc6.done.bz2 (13MB) 00c913623d16c7892833b65ca28b36e3
e3Nh6.done.bz2 (20MB) 417b33f08fd90afa017931e2ed9cde48
e3g5.done.bz2 (54MB) 1f6fee7a9d0acfa3c1c3fb5cdc21da26
e3b5.done.bz2 (103MB) 4fe3f64fae21247092499dd8263fe4f7
e3e6.done.bz2 (63MB) 54149388cd3fca7b84f867e846e5a3a0
e3c5.done.bz2 (289MB) 65f52983aa0b99444c1e7c799943b223
e3b6.proof.bz2(740MB) d19df1d18518c7a216b44a1e878550cd
Warning: this last file will not load in 32-bit Windows WinningGUI.
See the 1. e3 b6 page for a splitting into smaller parts. The b6 proof
will probably also be revised somewhat in the next few days (when the
word "done" might replace "proof" in the filename).

Here is everything but c5 and b6 in one file:
easy18done.bz2 (254MB) 45ae6e978ad4e9c64934ae6e8e940c42

1. e3 c6 was first solved by Ben Nye in Feb 2003, and 1. e3 Nh6 was first
solved by Catalin Francu soon after I told him of my 2012 solving of 1. e3 b5.

There is also the revision project that is aimed at producing "better" solutions.



Page for proof lines
Page about tablebases


White moves that lose

The Sep 28 (2014) update contains the ability to have "NULL" moves.
This was to expedite some proofs asked for by Klaas Steenhuis,
most notably 1. h3 and 1. b4 (which appeared reversed as 1. NULL h6, etc).
[He has more recently shown that Black wins both 1. c3 e5! and 1. f3 e6].

h3.LOST.proof.bz2 (5.3MB) 889dcb5385118405109a0b0038f9eba3
b4.LOST.proof.bz2 (19MB) fca952417d69964be773a9883b29cd58

Note: These files are "inverted" and thus break the verifier.
They can be uninverted with "./proof_invert uninvert FILENAME"

Here are the latest solved lines by Klaas, which he asked me to put here.
c3.LOST.proof.bz2 (9.8MB) 829c2ff9cefa3fc93b10e41f5da4db43
c3e5.rev.bz2 (8.5MB) 00fb6e80d2a303e13f155143beb595bf (Jun 2020)

Oct 7 (2015): Klaas has solved 1. a3 e6 as a win for Black.
He also has simplified 1. f3 d5! by a significant margin over 1. f3 e6.
a3e6_rev_new.proof.bz2 (250MB) c5b5971331aa01cef46974347eb302fc
old_f3d5_rev.proof.bz2 (18MB) 5a48582282beda9a29c3d45e721fd36d
(Jan 2020): versions that fix the double-ep bug are now provided above.

Jan 17 (2016): Klaas has simplified the b4 proof.
b4.new.LOST.proof.bz2 (7.9MB) 7b0b0c67da856b68e4b8153b59f74a1b

Feb 23: Some reduction (from Klaas) of the 1. f3 d5 proof.
f3d5_new.proof.bz2 (14MB) 15e50e95b4207880f47615903cbeb996

After intensive effort, Klaas managed to solve Na3 as lost to e6, with the
final file being larger than than that for 1. e3.
Na3e6.proof.bz2 (1.3GB) 460e368abcc20693f8c7afc6b8ac45d4 (Jun 2020)

Here is a much smaller file that includes everything but 1. Na3 e6 2. b3.
Na3e6_no_b3.proof.bz2 (45MB) 0327098542cdc59d91fe37f7a42322c7
15 Oct 2020: I reduced this file by about a factor of 2.
myNa6e3.nob3v2.proof.bz2 (23MB) 307ab4bfba5620a4eb9286931617b9e9

May 2021: Klaas has reduced the size of b4 by another 50%.
b4c5_rev.proof.bz2 (4.1MB) fa6b1d24032597f97c9f5c1176b8551e


Windows usage

For Windows users, thanks to Klaas Steenhuis I have a RAR file
that contains Java classes and the proof tree parser.

LOSING_CHESS32.rar (145K) 91ca08bee3d6bd585618ff6a0d03b207
LOSING_CHESS64.rar (145K) 11c14dd41adc36f96b64adeda8d5c934

The "32" version is for 32-bit Windows, and "64" for 64-bit Windows.
I have not tested the latter, and it should only be necessary for proof
files larger than about 250 million nodes.

First you need to have the Java Runtime environment installed.

Then you will need to expand either the above LOSING_CHESS32.rar or
LOSING_CHESS64.rar archive, putting all files (.class files, PARSE_WIN.exe,
and MERIFONT.TTF) into a directory named C:\LOSING_CHESS (this is so that
Java knows where the .exe file is -- I can make a FileChooser for it, but
it seems overkill).

Then you should be able to open a Command Prompt, change directories via


and then run the Java applet with

  java WinningGUI

It should bring up a FileChooser, which is a loader for the proof tree.

However, this FileChooser fails for me sometimes, and it is probably better
to move the desired proof file (say easy12.done) to the C:\LOSING_CHESS
directory, and run via "java WinningGUI easy12.done"