3
0
Fork 0
mirror of https://github.com/Z3Prover/z3 synced 2025-05-11 17:54:43 +00:00

fix #2933: soundness issue in dom-simplify with (or foo true)

This commit is contained in:
Nuno Lopes 2020-02-04 14:05:12 +00:00
parent 32968fa41c
commit 506fbf9672
4 changed files with 140 additions and 140 deletions

View file

@ -2338,14 +2338,14 @@ public:
}
void operator()(uint_set const& index_set, bool index_of_bound, expr_ref& fml) {
expr_ref_vector disjs(m);
expr_ref_vector disjs(m), conjs(m);
flatten_or(fml, disjs);
for (unsigned i = 0; i < disjs.size(); ++i) {
expr_ref_vector conjs(m);
for (unsigned i = 0, e = disjs.size(); i != e; ++i) {
conjs.reset();
conjs.push_back(disjs[i].get());
(*this)(index_set, index_of_bound, conjs);
bool_rewriter(m).mk_and(conjs.size(), conjs.c_ptr(), fml);
disjs[i] = fml;
disjs[i] = std::move(fml);
}
bool_rewriter(m).mk_or(disjs.size(), disjs.c_ptr(), fml);
}