mirror of
https://github.com/Z3Prover/z3
synced 2026-06-29 20:08:52 +00:00
improve non-zero witness substitution logic
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
This commit is contained in:
parent
cf3552c029
commit
0074de0fce
4 changed files with 31 additions and 29 deletions
|
|
@ -250,9 +250,9 @@ namespace nlsat {
|
|||
std::string m_debug_known_solution_file_name;
|
||||
bool m_apply_lws;
|
||||
bool m_last_conflict_used_lws = false; // Track if last conflict explanation used levelwise
|
||||
unsigned m_lws_spt_threshold = 3;
|
||||
bool m_lws_no_sign_lc = false;
|
||||
bool m_lws_no_sign_disc = false;
|
||||
unsigned m_lws_spt_threshold = 3;
|
||||
bool m_lws_witness_subs_lc = true;
|
||||
bool m_lws_witness_subs_disc = false;
|
||||
imp(solver& s, ctx& c):
|
||||
m_ctx(c),
|
||||
m_solver(s),
|
||||
|
|
@ -314,8 +314,8 @@ namespace nlsat {
|
|||
m_debug_known_solution_file_name = p.known_sat_assignment_file_name();
|
||||
m_apply_lws = p.lws();
|
||||
m_lws_spt_threshold = p.lws_spt_threshold(); // 0 disables spanning tree
|
||||
m_lws_no_sign_lc = p.lws_no_sign_lc();
|
||||
m_lws_no_sign_disc = p.lws_no_sign_disc();
|
||||
m_lws_witness_subs_lc = p. lws_witness_subs_lc();
|
||||
m_lws_witness_subs_disc = p.lws_witness_subs_disc();
|
||||
m_check_lemmas |= !(m_debug_known_solution_file_name.empty());
|
||||
|
||||
m_ism.set_seed(m_random_seed);
|
||||
|
|
@ -4722,6 +4722,6 @@ namespace nlsat {
|
|||
}
|
||||
bool solver::apply_levelwise() const { return m_imp->m_apply_lws; }
|
||||
unsigned solver::lws_spt_threshold() const { return m_imp->m_lws_spt_threshold; }
|
||||
bool solver::lws_no_sign_lc() const { return m_imp->m_lws_no_sign_lc; }
|
||||
bool solver::lws_no_sign_disc() const { return m_imp->m_lws_no_sign_disc; }
|
||||
bool solver::lws_witness_subs_lc() const { return m_imp->m_lws_witness_subs_lc; }
|
||||
bool solver::lws_witness_subs_disc() const { return m_imp->m_lws_witness_subs_disc; }
|
||||
};
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue