introduce predicate domain