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