3
0
Fork 0
mirror of https://github.com/Z3Prover/z3 synced 2025-04-18 14:49:01 +00:00

mk_value needs to accept more cases where integer expression doesn't evalate

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
This commit is contained in:
Nikolaj Bjorner 2024-10-27 19:03:20 -07:00
parent bdf3689c6e
commit 5e2cefea9f

View file

@ -179,13 +179,12 @@ namespace smt {
SASSERT(bv.is_bv(e));
auto ie = m_translator.translated(e);
rational r;
expr_ref val(m);
if (bv.is_numeral(e, r))
;
else if (!ctx.e_internalized(ie))
; // it is a compound expression, we don't have to evaluate it.
else {
expr_ref val(m);
VERIFY(ctx.get_value(ctx.get_enode(ie), val));
else if (ctx.get_value(ctx.get_enode(ie), val)) {
VERIFY(a.is_numeral(val, r));
}
return alloc(expr_wrapper_proc, m_factory->mk_num_value(r, bv.get_bv_size(e)));