A method of operating a processor to perform a value assignment search for two or more variables, each variable having a respective set of possible values, the value assignment search seeking combinations of values of the variables that are consistent with a set of constraints, each combination of values including at most one of the respective possible values of each of the variables; the processo