use "predicate" where appropriate