, X n ) of M such that X is the i-th child state, and for every j = i, X j must be a state for which we previously called BU(S, j, X j ).
a sibling-finder performs a bottom-up rule lookup, changing its state after each call by caching the state and position.