predicate extensions