next_piece predicate