mirror of
https://github.com/Z3Prover/z3
synced 2025-08-05 19:00:25 +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
|
@ -257,22 +257,6 @@ namespace sat {
|
|||
}
|
||||
}
|
||||
|
||||
void drat::gc_var(bool_var v) {
|
||||
sat::literal l(v, false);
|
||||
// TBD: we want to remove all clauses that mention v.
|
||||
std::cout << "GC " << v << "\n";
|
||||
m_watches[l.index()].reset();
|
||||
m_watches[(~l).index()].reset();
|
||||
if (m_assignment[l.var()] != l_undef) {
|
||||
unsigned j = 0;
|
||||
for (literal lit : m_units)
|
||||
if (lit.var() != v)
|
||||
m_units[j++] = lit;
|
||||
m_units.shrink(j);
|
||||
m_assignment[l.var()] = l_undef;
|
||||
}
|
||||
}
|
||||
|
||||
void drat::bool_def(bool_var v, unsigned n) {
|
||||
if (m_out)
|
||||
(*m_out) << "b " << v << " " << n << " 0\n";
|
||||
|
@ -293,11 +277,6 @@ namespace sat {
|
|||
(*m_out) << " 0\n";
|
||||
}
|
||||
|
||||
void drat::log_gc_var(bool_var v) {
|
||||
if (m_out)
|
||||
(*m_out) << "g " << v << " 0\n";
|
||||
}
|
||||
|
||||
void drat::log_adhoc(std::function<void(std::ostream&)>& fn) {
|
||||
if (m_out)
|
||||
fn(*m_out);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue