solver.addAssertion(f);
if (!solver.isSatisfiable()) {
post.setValue(v, SignElement.POSITIVE);
logger.debug("Restricting state from " + s + " through " + assumption + " to " + post);
} else {
solver.pop();
solver.push();
f = ExpressionFactory.createNot(ExpressionFactory.createEqual(v, ExpressionFactory.createNumber(0, v.getBitWidth())));
solver.addAssertion(f);
if (!solver.isSatisfiable()) {
post.setValue(v, SignElement.ZERO);