restore predicate