3
0
Fork 0
mirror of https://github.com/Z3Prover/z3 synced 2025-05-14 19:24:44 +00:00

add options to perform transitive reduction and add hyper binary clauses

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
This commit is contained in:
Nikolaj Bjorner 2017-11-27 10:53:22 -08:00
parent 15d8532d27
commit 62e3906957
9 changed files with 189 additions and 25 deletions

View file

@ -34,11 +34,9 @@ namespace sat {
}
void elim_eqs::cleanup_bin_watches(literal_vector const & roots) {
vector<watch_list>::iterator it = m_solver.m_watches.begin();
vector<watch_list>::iterator end = m_solver.m_watches.end();
for (unsigned l_idx = 0; it != end; ++it, ++l_idx) {
watch_list & wlist = *it;
literal l1 = ~to_literal(l_idx);
unsigned l_idx = 0;
for (watch_list & wlist : m_solver.m_watches) {
literal l1 = ~to_literal(l_idx++);
literal r1 = norm(roots, l1);
watch_list::iterator it2 = wlist.begin();
watch_list::iterator itprev = it2;