3
0
Fork 0
mirror of https://github.com/Z3Prover/z3 synced 2025-08-21 02:30:23 +00:00

#5641 - projection that skips interpreted functions can violate model evaluation.

This commit is contained in:
Nikolaj Bjorner 2022-01-02 17:45:43 -08:00
parent 0ca5e7207e
commit d0fb3cba15
10 changed files with 46 additions and 36 deletions

View file

@ -266,7 +266,10 @@ namespace qe {
vector<mbp::def> uflia_mbi::arith_project(model_ref& mdl, app_ref_vector& avars, expr_ref_vector& lits) {
mbp::arith_project_plugin ap(m);
ap.set_check_purified(false);
return ap.project(*mdl.get(), avars, lits);
vector<mbp::def> defs;
bool ok = ap.project(*mdl.get(), avars, lits, defs);
CTRACE("qe", !ok, tout << "projection failure ignored!!!!\n");
return defs;
}
mbi_result uflia_mbi::operator()(expr_ref_vector& lits, model_ref& mdl) {