mirror of
https://github.com/Z3Prover/z3
synced 2025-08-25 12:35:59 +00:00
Add level to conflict
- reset conflict at correct level when popping user scopes - functions as flag when handling inconsistent input (e.g., opposite literals) - now all constraints in the conflict core should have bvalue == l_true
This commit is contained in:
parent
86d00b536a
commit
a4f0e3a228
5 changed files with 87 additions and 28 deletions
|
@ -185,6 +185,7 @@ namespace polysat {
|
|||
void erase_pwatch(pvar v, constraint* c);
|
||||
void erase_pwatch(constraint* c);
|
||||
|
||||
void set_conflict_at_base_level() { m_conflict.init_at_base_level(); }
|
||||
void set_conflict(signed_constraint c) { m_conflict.init(c); }
|
||||
void set_conflict(clause& cl) { m_conflict.init(cl); }
|
||||
void set_conflict(pvar v, bool by_viable_fallback) { m_conflict.init(v, by_viable_fallback); }
|
||||
|
@ -428,6 +429,7 @@ namespace polysat {
|
|||
solver const& s;
|
||||
sat::literal lit;
|
||||
public:
|
||||
lit_pp(solver const& s, signed_constraint c): s(s), lit(c.blit()) {}
|
||||
lit_pp(solver const& s, sat::literal lit): s(s), lit(lit) {}
|
||||
std::ostream& display(std::ostream& out) const;
|
||||
};
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue