I have a large SAT/SMT formula ranging over two (disjoint) sets of variables:
- a relatively small set
X
of Boolean variables (< 1000) and - a much larger set
Y
of Boolean (and perhaps Integer/Real) variables.
My formula is such that the values of the variables from X
determine the values of the variables from Y
completely. Consequently, it would be great if Z3 prioritized the variables from X
when searching for a model (in fact, it would be even better if Z3 did not branch on any of the variables from the set Y
).
Is there a way to provide this information to Z3?