mirror of
https://github.com/Z3Prover/z3
synced 2025-04-29 20:05:51 +00:00
delay internalization, relevancy (#4707)
* delay evaluation Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com> * Update bv_solver.cpp * delay internalize Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com> * compiler warnings Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com> * remove gc Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com> * add bv delay option Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
This commit is contained in:
parent
1e7998f03a
commit
7c2bdfe3fb
21 changed files with 584 additions and 122 deletions
|
@ -378,7 +378,7 @@ namespace bv {
|
|||
break;
|
||||
}
|
||||
ctx.get_drat().add(lits, status());
|
||||
ctx.get_drat().log_gc_var(leq.var()); // TBD, a proper way would be to delete the lemma after use.
|
||||
// TBD, a proper way would be to delete the lemma after use.
|
||||
}
|
||||
|
||||
void solver::asserted(literal l) {
|
||||
|
@ -493,7 +493,14 @@ namespace bv {
|
|||
sat::check_result solver::check() {
|
||||
force_push();
|
||||
SASSERT(m_prop_queue.size() == m_prop_queue_head);
|
||||
return sat::check_result::CR_DONE;
|
||||
bool ok = true;
|
||||
for (auto kv : m_delay_internalize) {
|
||||
if (ctx.is_relevant(kv.m_key) &&
|
||||
kv.m_value == internalize_mode::init_bits_i &&
|
||||
!check_delay_internalized(expr2enode(kv.m_key)))
|
||||
ok = false;
|
||||
}
|
||||
return ok ? sat::check_result::CR_DONE : sat::check_result::CR_CONTINUE;
|
||||
}
|
||||
|
||||
void solver::push_core() {
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue