3
0
Fork 0
mirror of https://github.com/Z3Prover/z3 synced 2025-11-30 17:27:15 +00:00

propagate weakness from pob down to all related checks

If a pob was discharged with a weak solver, propagate the level of
weakness to inductive generalization and to lemma propagation.
This commit is contained in:
Arie Gurfinkel 2017-08-17 22:37:45 -04:00
parent b8b3703511
commit 68518b0e32
4 changed files with 53 additions and 24 deletions

View file

@ -136,7 +136,22 @@ public:
~scoped_delta_level() {m_delta = false;}
};
class scoped_weakness {
smt_params &m_params;
bool m_arith_ignore_int;
bool m_array_weak;
public:
scoped_weakness(prop_solver &ps, unsigned solver_id, unsigned weakness) :
m_params(*ps.m_fparams[solver_id == 0 ? 0 : 0 /*1*/]) {
m_params.m_arith_ignore_int = weakness < 1;
m_params.m_array_weak = weakness < 2;
}
~scoped_weakness() {
m_params.m_arith_ignore_int = m_arith_ignore_int;
m_params.m_array_weak = m_array_weak;
}
};
};
}