deleteFirstsBy package:grisette

Symbolic version of deleteFirstsBy, the result would be merged and propagate the mergeable knowledge. Can generate O(len(lhs)) cases, and O(len(lhs)^2 * len(rhs)) sized constraints, assuming the predicate only generates O(1) constraints.