3
0
Fork 0
mirror of https://github.com/Z3Prover/z3 synced 2025-11-05 22:06:03 +00:00

fix some argument-evaluation non-determinism, and mark the rest

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
This commit is contained in:
Lev Nachmanson 2025-10-28 18:01:44 -07:00
parent efd5d04af5
commit 51f6dfeb83
62 changed files with 765 additions and 120 deletions

View file

@ -866,8 +866,14 @@ namespace mbp {
SASSERT(xs.size() == ys.size() && !xs.empty());
expr_ref result(mk_lt(xs.back(), ys.back()), m);
for (unsigned i = xs.size()-1; i-- > 0; ) {
result = m.mk_or(mk_lt(xs[i], ys[i]),
m.mk_and(m.mk_eq(xs[i], ys[i]), result));
//non-deterministic order change start
{
auto mk_lt_1 = mk_lt(xs[i], ys[i]);
auto mk_and_2 = m.mk_and(m.mk_eq(xs[i], ys[i]), result);
result = m.mk_or(mk_lt_1,
mk_and_2);
}
//non-deterministic order change end
}
return result;
}