3
0
Fork 0
mirror of https://github.com/Z3Prover/z3 synced 2025-08-24 12:07:52 +00:00
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
This commit is contained in:
Nikolaj Bjorner 2021-09-05 03:13:08 -07:00 committed by GitHub
parent 9f387f5738
commit ed200f4214
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
3 changed files with 41 additions and 12 deletions

View file

@ -281,6 +281,26 @@ namespace polysat {
bool propagate_row_bounds();
bool is_satisfied();
struct backoff {
unsigned m_tries = 0;
unsigned m_delay = 1;
bool should_propagate() {
return ++m_tries >= m_delay;
}
void update(bool progress) {
m_tries = 0;
if (progress)
m_delay = 1;
else
++m_delay;
}
};
backoff m_propagate_eqs_backoff;
backoff m_propagate_bounds_backoff;
var_t select_smallest_var() { return m_to_patch.empty()?null_var:m_to_patch.erase_min(); }
lbool make_var_feasible(var_t x_i);
bool is_infeasible_row(var_t x);