3
0
Fork 0
mirror of https://github.com/Z3Prover/z3 synced 2025-10-16 04:20:25 +00:00

Try to produce an op_constraint lemma before invoking the fallback solver

This commit is contained in:
Jakob Rath 2022-11-30 12:13:47 +01:00
parent 2bc1b3a6dd
commit b4b94c954b
3 changed files with 37 additions and 18 deletions

View file

@ -102,10 +102,9 @@ namespace polysat {
bool is_viable(pvar v, rational const& val);
/*
* Extract min and max viable values for v
*/
* Extract min and max viable values for v
*/
rational min_viable(pvar v);
rational max_viable(pvar v);
/**
@ -249,8 +248,10 @@ namespace polysat {
void push_constraint(pvar v, signed_constraint const& c);
void pop_constraint();
// Check whether all constraints for 'v' are satisfied.
bool check_constraints(pvar v);
// Check whether all constraints for 'v' are satisfied;
// or find an arbitrary violated constraint.
bool check_constraints(pvar v) { return !find_violated_constraint(v); }
signed_constraint find_violated_constraint(pvar v);
dd::find_t find_viable(pvar v, rational& out_val);
signed_constraints unsat_core(pvar v);