Peter Harris (South Africa)


Original Problems, Julia’s Fairies – 2016 (I): January – June

   →Previous ; →Next ; →List 2016(I)

Please send your original fairy problems to:

Definitions: (click to show/hide)

No.1045 Peter Harris
South Africa

original – 10.04.2016
Dedicated to Vlaicu Crișan

Solutions: (click to show/hide)

white pe5 black kc5 pf6

h#2.5                                           (1+2)
Super Anti-Circe
White Maximummer
Sentinels Pion Advers
a) + Chameleon Chess
b) + Einstein Chess

Notify of

Newest Most Voted
Inline Feedbacks
View all comments
Vlaicu Crisan
Vlaicu Crisan
April 11, 2016 20:50

Peter, thank you very much for dedication!!

This problem is indeed a miraculous achievement, taking into consideration the twinning changing Chameleon Chess in Einstein and the highly dangerous AntiSuperCirce condition. Moreover, it shows convincingly the difficulties a chess programmer might encounter when developing a chess solving application!

The cooks reported in b) by Popeye seem to be due to the wrong implementation of Sentinelles-family conditions (pawns left on 1st / 8th ranks). A bug was reported to the Popeye-team and it seems it is still open.
For those who are interested in getting more details about this issue, please refer to:

Why Winchloé fails to see the solution from the first twin? Apparently Winchloé considers pieces captured on their rebirth squares must disappear, while Popeye applies the rebirth rule strictly to the definition.

To make things even more complicated, one may reluctantly ask: when should the emptiness of the rebirth square be checked? There are several conditions to be considered – in which order do we apply them? You will soon get a headache trying to formalize the answers to all these questions!

However, judging strictly from a composer’s point of view, we have to admire the composer’s skill. I can only guess the second twin was composed first (with its specific Sentinelles en pion advers model mate). The first twin, which might seem a “lucky discovery” it has also some very interesting specific points, with an exquisite control of white chameleon length movement.

Is this problem solver-friendly? Yes. Even for an experienced solver, definitely this composition is much too difficult. It takes a lot of time to solve it and there is no way to build the final positions other than trial-error.

Are 5 fairy conditions too many? Perhaps. But once you fully grasp the intricate yet subtle relationships between their usage, mixing both restrictive (White Maximum) and powerful (AntiSuperCirce) fairy conditions, and discover why they are all needed, you can only be amazed by the precision of the whole sequence.

One of a kind!

peter harris
peter harris
April 12, 2016 11:46

Thank you for your kind words Vlaicu.

Regarding the many solutions given by Py 4.73 for (b), it may help to give a full explanation.

The solutions appear because the program is not abiding by the Sentinelles Pionadvers condition.

The condition says Ps do not appear when a piece vacates a square on the first or last ranks.

Using one of the solutions as an example:

1…e5*f6=S[wSf6->e5][+bPf7] 2.Kc5-b4[+wPc5] Se5*f7=B[wBf7->a2][+bPf7][+bPe5] 3.Kb4*c5[bKc5->a1][+wPc2][+wPb4] Ba2*f7=R[wRf7->c1][+bPf7][+bPa2] #

In the final position the program mistakenly assumes that the bK although on a first rank square a1 WOULD leave a wPa1 behind if it moved to b2 whereto as a consequence it cannot move – to escape mate – because it would be self-check.

On another matter:

I have been told that the Popeye input specifications in Py 4.73 can be differently formatted whereby there are NO SOLUTIONS for (b). I do not know what the two different inputs are. I also do not know what effect the differences have. I am wondering how many do know. It makes life difficult for composers, solvers and for Julia.

Whilst this is an unsatisfactory state of affairs, I do not know how it can be remedied!

[I have Py 4.47]

Geoff Foster
Geoff Foster
April 13, 2016 00:38
Reply to  Julia

To avoid this kind of confusion, “einstein” should be specified before the circe condition, as follows:

cond whitemaxi einstein antisupercirce circe sentinelles pionadvers

Alternatively, the conditions can be specified separately, as follows:

cond whitemaxi
cond antisupercirce
cond circe
cond einstein
cond sentinelles pionadvers

peter harris
peter harris
April 13, 2016 11:59

Popeye gives two different outputs according to whether the Input for Condition is

Einstein Circe


Circe Einstein

Popeye has made Circe Einstein a single condition.

When a composer who is unaware of Circe Einstein – and there must be many – wishes to use the Einstein and Circe conditions, there is a 50/50 chance that his/her Input will be erroneous.

And he/she will be greatly perplexed if Circe Einstein was the Input used!

To avoid this unsatisfactory state of affairs, Popeye should re-name Circe Einstein.

The name could for example be Cirein.

Geoff Foster
Geoff Foster
April 14, 2016 00:50
Reply to  peter harris

The suggestion to rename Circe Einstein must have been made “tongue in cheek”, because there are a huge number of ways of combining all the options and they can’t all be renamed. Perhaps a suitable delimiter could be used between options. For example, using a back-slash the input for EquipollentsCirce Einstein would be as follows:

condition Circe \ Equipollents \ Einstein

That would remove confusion and ensure that the new format is not used unintentionally.

peter harris
peter harris
April 14, 2016 09:45

Dear Geoff,

It was not said “tongue in cheek”.

There is a definition of Circe and there is a definition of Einstein.

There is also Circe Einstein.

Why is there no solution with Circe Einstein?

All 5 moves in the solution given are in conformity with Circe and with Einstein.

The question of in what order the two conditions are applied does not arise.

A new element has been introduced. This is why Circe Einstein should be renamed..

What is the definition of Circe Einstein?

Geoff Foster
Geoff Foster
April 14, 2016 12:20
Reply to  peter harris

Dear Peter,

A recent version of Popeye introduced a very powerful way of specifying Circe and AntiCirce options. Using these options, new Circe/AntiCirce varieties can be created. For example, under the category of “Behaviour in case of occupied rebirth square” the options are “Relaxed”, “Strict”, “Assassin”, “Volcanic” and “Parachute”. A while ago I tried the “Relaxed” option with AntiCirce to create a new condition that I used in problem no.905 on this site. The condition had not been used before, but I was able to create it and it has now been added to WinChloe as “Captures autorisées si case de renaissance occupée”.

Another category is “Adaptation of the reborn piece’s walk”, for which the options are “Chameleon”, “Turncoat”, “Einstein” and “ReversalEinstein”. If “Circe Einstein” is specified then when a piece is captured it transforms to the next piece in Einstein sequence before being reborn. For example, a white rook captured on a white square would be reborn as a white bishop on f1, and a white knight captured on the c-file would be reborn as a white pawn on c2. “Circe Einstein” does not mean “Circe” + “Einstein”. It is a new condition that has been created using the powerful options available in Popeye. It is pointless trying to assign a new name for each possible combination, because the options can be combined in countless weird and wonderful ways, some of which don’t even make sense. It is great fun to try out these new options, although when I did so I found many bugs!

peter harris
peter harris
April 14, 2016 14:33

Dear Geoff,

Thank you for the information.

I did not know about subjecting a captured piece to Einstein rules.

I suggest Popeye implements the following:

(1) Entering as input Circe Einstein or Einstein Circe means the same

(2) Rename the present Circe Einstein to CirceEinstein

This will avoid the 50/50 chance of error I mentioned previously.

I suggest you formulate and post herein the definition of Circe Einstein for all to see.

peter harris
peter harris
April 14, 2016 17:22

Dear Geoff,

Einstein Chess: All units (Ks excluded) change their type when they move, according to a precise pattern. For non-capture moves: Q>R, R>B, B>S, S>P, P remains P. For capture-moves: R>Q, B>R, S>B, P>S, Q remains Q.

Based on what you said about Circe Einstein, why does it not give a solution to the problem? [I am told it doesn’t]

1…e5*f6=S [+bPf7][wSf6->a3] 2.Kc5-b4[+wPc5] Sa3-b5=P[+bPa3] 3.Kb4*b5 [+wPb2][bKb5->a6][+wPb4] b2*a3=S [+bPa7][wSa3->c7] #

I would be interested in the explanation.

The explanation could affect the definition you are undoubtedly working on.

Julia may put your definition in her Library of definitions.

April 14, 2016 18:51

On one side, it might be a source of confusion to name A B a condition which is not equivalent to A+B. On the other side this is already the case – Circe Kamikake for example – the capturing piece, which should disappear according to Kamikake rules, in fact rebirths according to Circe rules (more precisely to Anticirce rules, as we are speaking about a capturing unit).

As it exists such antecedents, I would say Circe Einstein is correct, as far as the composer (and publisher) take care to avoid any possible confusion – by putting the set of different conditions on different lines. With this simple and customary trick, it becomes impossible to confound a problem with one condition

Circe Einstein

with a problem with two conditions


peter harris
peter harris
April 14, 2016 20:30

Concerning the idea that Conditions be entered:

Condition Einstein, Condition Circe or on different lines or in different order:

The suggestion does not take cognisance of the fact that many if not most composers are unaware of the existence of the condition Circe Einstein.

It would never cross the minds of such composers who wanted to use the two conditions, Circe and Einstein, to enter them into Popeye in the manner suggested.

So it does not address the issue of 50% input error – and perplexed users.

If Popeye did as I suggested namely:

(1) Make entering as input Circe Einstein or Einstein Circe mean the same thing

(2) Rename the present Circe Einstein to CirceEinstein

then in practical terms:

Circe and Einstein could be entered in any order 99% of the time.

CirceEinstein would be entered 1% of the time by composers who desired that condition.

[Para (1) above sounds like plain commonsense to me].

April 14, 2016 21:38

My above post mainly addressed to solvers faced to a diagram. If they don’t know THE condition Circe Einstein, well they may learn it! The important point is that the statement of the problem must be unambiguous.

Concerning Popeye, my suggestion is to avoid the possibility to enter several conditions after a unique symbol “cond”. As a consequence, “cond Circe Einstein” would mean that we are working under THE condition Circe Einstein, while “cond Circe cond Einstein” – equivalent to “cond Einstein cond Circe” – would mean that we are working under TWO conditions – Circe and Einstein.

Geoff Foster
Geoff Foster
April 15, 2016 01:55
Reply to  dupont

Dear Peter,

You suggested that I “formulate and post herein the definition of Circe Einstein for all to see”. I have no inside knowledge, so I can only work with the documentation supplied with Popeye. In other words, as far as definitions go, we are all in the same boat. Nevertheless I will attempt a definition, even though there doesn’t seem much point, because as far as I am aware no problem using this condition has ever been composed.

Circe Einstein: Upon being captured, units transform in the sequence Q>R>B>S>P>P and are then reborn on their Circe rebirth square. If the rebirth square is occupied then the unit disappears as usual.

You gave a suggested solution using Circe Einstein, beginning with 1…exf6=S. However, this is not a valid move, because after 1…exf6 the capturing pawn does not transform according to Einstein rules.

I agree that the current method for specifying Circe conditions in Popeye is unsatisfactory. A possible way to fix things would be to require a delimiter (such as “\”) to be used between Circe options, as I suggested earlier. If no delimiter is used then “Circe Einstein” or “Einstein Circe” would mean “Circe + Einstein”, as any untrained user of Popeye would expect.

peter harris
peter harris
April 15, 2016 09:18

Dear Geoff,

Surely it is not pointless to find out what the definition of Circe Einstein is. If it was, the last 10 comments would be pointless. [They have nothing to do with my problem].

I would guess that Circe Einstein only alters the fate of a captured piece – that the rules concerning a capturing piece would not be altered.

If this is so the e5*f6=S would be a valid move and your attempted definition would be wrong.

I have been told that Circe Einstein solves the problem on an H#2 basis – that is from the position after the first move – wSa3, bKc5, bPf7. The last move in the solution to would be b2*a3=S.

“We are all in the same boat” you wrote. It is indeed a strange boat that we do not know how to find out the definition of Circe Einstein.

Geoff Foster
Geoff Foster
April 15, 2016 11:28

Dear Peter,

It is true that Circe Einstein solves the problem on an H#2 basis, but the last move is not b2*a3=S. The solution is as follows:

1.Kc5-b4[+wPc5] Sa3-b5[+bPa3] 2.Kb4*b5[bKb5->a8][+wPb2][+wPb4] b2*a3[wPa3->c8=Q][+bPa7] #

The Circe Einstein effects are:
{captured wSb5 transforms to a pawn and is reborn on c2}
{captured bP remains as a pawn and is reborn on a7}

There are no “EinsteinChess” effects, because EinsteinChess has not been specified as one of the fairy conditions.

I think you are being misled by the use of the word “Einstein” in “Circe Einstein”. Popeye allows one to specify how a captured piece will be transformed prior to being reborn. One of the options is “Einstein”, which means that the captured piece will be transformed in accordance with Einstein rules. If you specify “Circe Einstein” it definitely does NOT mean that the condition EinsteinChess will somehow come into effect.

It is true that there is no place where a definition of Circe Einstein is explicitly given. However that does not mean we are helpless. The Popeye documentation gives enough information to work things out, and I’m confident that the definition I gave earlier is correct. If there are any doubts then the answer can be found by experimentation. For example, consider the following Popeye code:

stipulation h~0.5
pieces white pd4 black se5
condition Circe Einstein

The “h~” stipulation means “any helpmove”.

The output from this is as follows:


The white pawn has 2 options: either move one square ahead, or capture the black knight (which transforms to a pawn and is reborn on e7). There is no suggestion of the white pawn being transformed in accordance with EinsteinChess.

peter harris
peter harris
April 15, 2016 13:11

Thank you Geoff.

I see that I have been wrongly thinking that Circe Einstein is equivalent to Einstein Circe Einstein.

Would love your thoughts, please comment.x