| filter
The | filter has the syntax:
left | right
where left and right are each filters. The left and right arguments must each be set filters.
The | filter is a set filter whose
value is the union of the sets of squares represented by its arguments.
For example,
pin |
{R attacks k}
Is the set of squares on which there is either a pinned
piece or there a white rook attacking the black king.
The left argument to the | filter is pin whose value is the set of squares on which there is a pinned piece. The right argumnet to the | filter is {R attacks k} , whose value is the set of squares
on which there is a white rook which attacks the black king. The value of the | filter is the union of these two sets.
Examples
The| filter is used throughout the examples. It is used extensively in the puremate.cql, idealmate.cql and the like.
It is used in turton.cql to make sure neither the pieces Front nor Side move:
not move from (Front | Side)