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

fixes, tests

This commit is contained in:
Nikolaj Bjorner 2021-09-25 08:38:48 -07:00
parent e6c413b249
commit a574eebd05
9 changed files with 110 additions and 48 deletions

View file

@ -77,6 +77,7 @@ namespace polysat {
uint64_t m_max_conflicts = std::numeric_limits<uint64_t>::max();
uint64_t m_max_decisions = std::numeric_limits<uint64_t>::max();
bool m_branch_bool = false;
@ -171,7 +172,7 @@ namespace polysat {
void set_conflict(clause& cl) { m_conflict.set(cl); }
void set_conflict(pvar v) { m_conflict.set(v); }
bool can_decide() const { return !m_free_pvars.empty() || m_bvars.can_decide(); }
bool can_decide() const { return !m_free_pvars.empty() || (m_branch_bool && m_bvars.can_decide()); }
void decide();
void pdecide(pvar v);
void bdecide(sat::bool_var b);
@ -187,7 +188,7 @@ namespace polysat {
unsigned base_level() const;
void resolve_conflict();
void resolve_value(pvar v);
bool resolve_value(pvar v);
void resolve_bool(sat::literal lit);
void revert_decision(pvar v);
void revert_bool_decision(sat::literal lit);
@ -313,7 +314,11 @@ namespace polysat {
void collect_statistics(statistics& st) const;
params_ref& params() { return m_params; }
params_ref const & params() const { return m_params; }
void updt_params(params_ref const& p);
void get_param_descrs(param_descrs& pd);
};