predicate build