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:
parent
efd5d04af5
commit
51f6dfeb83
62 changed files with 765 additions and 120 deletions
|
|
@ -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;
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue