added one extra analy. step in predicate-eval inside constraint solving.
now the method returns a list of variables need to be computed/set to a value first.
e.g. to handle cases like "x:{1,2,3} & y=x+1". Currently y may be enumerated an cause a crash and brute force enum.