predicates solutions