predicate must be fixed