3
0
Fork 0
mirror of https://github.com/Z3Prover/z3 synced 2025-04-22 00:26:38 +00:00
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
This commit is contained in:
Nikolaj Bjorner 2021-07-02 13:27:00 -07:00
parent c54b9305b5
commit cc4354ffd5
2 changed files with 3 additions and 4 deletions

View file

@ -748,11 +748,9 @@ namespace polysat {
unsigned tz_b,
numeral const& old_value_y) {
var_t y = row2base(r_y);
numeral b = row2base_coeff(r_y);
auto z = row2base(r_z);
auto& row_z = m_rows[r_z.id()];
var_info& zI = m_vars[z];
unsigned tz_c = m.trailing_zeros(c);
numeral b1, c1;
if (tz_b <= tz_c) {

View file

@ -200,6 +200,7 @@ namespace polysat {
void solver::propagate(sat::literal lit) {
LOG_H2("Propagate boolean literal " << lit);
constraint* c = m_constraints.lookup(lit.var());
(void)c;
SASSERT(c);
SASSERT(!c->is_undef());
// c->narrow(*this);
@ -238,6 +239,7 @@ namespace polysat {
void solver::pop_levels(unsigned num_levels) {
SASSERT(m_level >= num_levels);
unsigned const target_level = m_level - num_levels;
(void)target_level;
LOG("Pop " << num_levels << " levels (lvl " << m_level << " -> " << target_level << ")");
#if ENABLE_LINEAR_SOLVER
m_linear_solver.pop(num_levels);
@ -853,8 +855,7 @@ namespace polysat {
lits.push_back(~lit);
reason = clause::from_literals(reason->level(), {reason->dep(), m_dm}, lits, reason->new_constraints());
}
bool contains_opp = std::any_of(reason->begin(), reason->end(), [lit](sat::literal reason_lit) { return reason_lit == ~lit; });
SASSERT(contains_opp);
SASSERT(std::any_of(reason->begin(), reason->end(), [lit](sat::literal reason_lit) { return reason_lit == ~lit; }));
}
else {
LOG_H3("Empty reason");