mirror of
https://github.com/Z3Prover/z3
synced 2025-05-06 23:35:46 +00:00
Polysat: use constraint_literal and begin move to core-based conflict representation (#5489)
* Rename solver_scope for fixplex tests (otherwise the wrong constructor is called for polysat's solver_scope) * Update conflict_core * simplify * Be clearer about constraint_literal lifetime * remove old comment * Remove status (positive/negative) from constraint * Use constraint_literal in the solver * Fix build (constraint -> get_constraint)
This commit is contained in:
parent
30e9f24fa3
commit
ebaea2159e
19 changed files with 933 additions and 1004 deletions
|
@ -52,12 +52,10 @@ namespace polysat {
|
|||
m_literals.push_back(lit);
|
||||
}
|
||||
|
||||
void clause_builder::push_new_constraint(constraint_literal c) {
|
||||
void clause_builder::push_new_constraint(constraint_literal_ref c) {
|
||||
// TODO: assert that constraint is new (not 'inserted' into manager yet)
|
||||
SASSERT(c);
|
||||
SASSERT(c->is_undef());
|
||||
tmp_assign _t(c.get(), c.literal());
|
||||
if (c->is_always_false())
|
||||
if (c.get().is_always_false())
|
||||
return;
|
||||
m_level = std::max(m_level, c->level());
|
||||
m_literals.push_back(c.literal());
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue