dynamical updating for predicates