Twins use Popeye solving program syntax, with one little difference: in case of Zero-position first twin must be labeled 'a)', the second - 'b)' etc, and in case of normal twins the first is 'b)', the second - 'c)' and so on. Helpmate Analyzer supports the following subset of Popeye twin types:
|Move <square1> <square2>||Move the piece from square1 to square2. A piece accidentally standing on square2 will be removed.||move a3 b4|
|Exchange <square1> <square2>||The pieces on <square1> and <square2> exchange places.||exchange a3 b4|
|Remove <square>||The piece located on the square specified is removed.||remove e5|
|Add <color> <piece><square>||Add pieces.||add black Sa6|
|Substitute <piece1> <piece2>||All pieces of type <piece1> are replaced by pieces of type <piece2>.||substitute R B. All rooks are replaced by bishops.|
|Rotate n||Turns the board by n degrees to the left (n=90, 180, 270).||rotate 180|
|Shift <square1> <square2>||Shift the whole position into the direction determined by the two squares entered.||shift a1 a2. All pieces are moved one square up.|
|PolishType||All pieces change colour.|
|Mirror a1<-->h1||Mirrors the position on the vertical middle line.|
|Mirror a1<-->a8||Mirrors the position on the horizontal middle line.|
|Mirror a1<-->h8||Mirrors the position on the diagonal a8-h1.|
|Mirror a8<-->h1||Mirrors the position on the diagonal a1-h8.|
More than one change may be specified, for example rem e7 add white qe8 . By default the changes refer to the position initially set. Alternatively the changes can be applied to the position solved most recently. Just enter "continued" (or "cont") immediately after "twin". Example: cont rem a1 .
Helpmate analyzer support also more complex twin types that cannot be defined by typical twin types. Just enter "fen" and position in FEN notation. Example: fen 2k5/8/3K4/8/8/8/3R4/8.