descendant
Thedescendant
filter takes two position filters as arguments enclosed in parentheses. The descendant
filter matches the position if the position represented by its first argument is a descendant of the position represented by its second argument.
descendant(x y)
We say that position x
is a descendant of position y
if, starting from position y
there is a nonempty sequence of moves from the PGN file that reach position x
.
If x
and y
are mainline positions, then x
is a descendant of y
if and only if the position id of x
is greater than the position id of y
. Thus, in this case, one can test if x
is a descendant of y
simply by doing:
x>y
Note that descendant(x y)
is equivalent to ancestor(y x)
.