3
0
Fork 0
mirror of https://github.com/Z3Prover/z3 synced 2025-11-03 13:07:53 +00:00

add clausal lookahead to arithmetic solver as part of portfolio

have legacy qfbv-sls solver use nnf pre-processing. It relies on it for correctness of the score updates.
This commit is contained in:
Nikolaj Bjorner 2025-01-20 16:16:46 -08:00
parent a941f5ae84
commit 22e4054674
13 changed files with 678 additions and 92 deletions

View file

@ -124,6 +124,8 @@ namespace sls {
m_ddfw->reinit();
}
void shift_weights() override { m_ddfw->shift_weights(); }
lbool on_save_model() override;
void on_model(model_ref& mdl) override {
@ -131,6 +133,14 @@ namespace sls {
m_sls_model = mdl;
}
sat::bool_var bool_flip() override {
return m_ddfw->bool_flip();
}
bool is_external(sat::bool_var v) override {
return m_context.is_external(v);
}
void on_rescale() override {}
reslimit& rlimit() override { return m_ddfw->rlimit(); }
@ -160,6 +170,8 @@ namespace sls {
}
unsigned num_vars() const override { return m_ddfw->num_vars(); }
indexed_uint_set const& unsat() const override { return m_ddfw->unsat_set(); }
indexed_uint_set const& unsat_vars() const override { return m_ddfw->unsat_vars(); }
unsigned num_external_in_unsat_vars() const override { return m_ddfw->num_external_in_unsat_vars(); }
sat::bool_var add_var() override {
return m_ddfw->add_var();
}