3
0
Fork 0
mirror of https://github.com/Z3Prover/z3 synced 2025-06-23 06:13:40 +00:00

z3str3: fix value cex in int.to.str model construction

This commit is contained in:
Murphy Berzish 2020-02-28 20:30:09 -05:00 committed by Nikolaj Bjorner
parent 069a5fba16
commit 6ec9f9112c

View file

@ -719,12 +719,14 @@ namespace smt {
rational iValue;
bool iValue_exists = v.get_value(i, iValue);
if (!iValue_exists) {
NOT_IMPLEMENTED_YET(); // TODO force assignment in arith solver
cex = expr_ref(m.mk_or(m_autil.mk_ge(arg0, mk_int(0)), m_autil.mk_le(arg0, mk_int(0))), m);
return false;
}
rational termLen;
bool termLen_exists = v.get_value(mk_strlen(term), termLen);
if(!termLen_exists) {
NOT_IMPLEMENTED_YET(); // TODO force assignment in arith solver
cex = expr_ref(m.mk_or(m_autil.mk_ge(mk_strlen(term), mk_int(0)), m_autil.mk_le(mk_strlen(term), mk_int(0))), m);
return false;
}
TRACE("str_fl", tout << "reduce int.to.str: n=" << iValue << std::endl;);
if (iValue.is_neg()) {