# descendant

The`descendant`

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)`

.