# Qq-rotations.cql

// Download Qq-rotations.cql
// PGN output when run on sample.pgn
```
/*
Find games where a black and white Queen are separated by a single piece,
and where all eight possible orientations of this configuration of queens occurs.
Actually we find games where at least 5 of the orientations occur, sorted by the number
of orientations.

To understand this, suppose there is a Q on d4. Then
right 1 Q
is
the square e4, and [
[Aa] ∩ right 1 Q
will match a position with the Q on d4, and a piece on e4.

Then
right 1 ([Aa] ∩ right 1 Q)
will be the square f4, and so
q ∩ right 1 ([Aa] ∩ right 1 Q)

will match a position with
the Q on d4,
a piece on e4 and
a q on f4.

Since this works no matter where the Q is, this matches one of the eight
orientations of the Q and q. Now when we put a rotate45
in front of this, the "right" is replaced successively by northeast, north, southwest, and so on over all    the directions. This gives us all the orientations.
*/

cql(input hhdbvi.pgn variations)
initial
sort "Number of theme occurrences"
{rotate45 count
find ♛
∩ right 1
(◭ ∩ right 1 ♕)}
≥5
```