hard core predicate