3
0
Fork 0
mirror of https://github.com/Z3Prover/z3 synced 2025-11-16 10:55:45 +00:00

remove some non-deterministic behavior in theory_lra.cpp

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
This commit is contained in:
Lev Nachmanson 2025-10-29 21:37:05 -07:00
parent a1918c4630
commit 37c9f1c7c2
53 changed files with 217 additions and 11 deletions

View file

@ -625,6 +625,7 @@ void model::add_rec_funs() {
expr_safe_replace subst(m);
unsigned arity = f->get_arity();
for (unsigned i = 0; i < arity; ++i) {
// TODO: non-deterministic parameter evaluation
subst.insert(m.mk_var(arity - i - 1, f->get_domain(i)), m.mk_var(i, f->get_domain(i)));
}
expr_ref bodyr(m);

View file

@ -457,6 +457,7 @@ struct evaluator_cfg : public default_rewriter_cfg {
if (interp) {
var_subst vs(m, false);
result = vs(fi->get_interp(), num, args);
// TODO: non-deterministic parameter evaluation
result = m.mk_ite(m.mk_eq(m_au.mk_numeral(rational(0), args[1]->get_sort()), args[1]), result, m.mk_app(f, num, args));
return BR_DONE;
}