3
0
Fork 0
mirror of https://github.com/Z3Prover/z3 synced 2025-04-23 17:15:31 +00:00

add bit-matrix, avoid flattening and/or after bit-blasting, split pdd_grobner into solver/simplifier, add xlin, add smtfd option for incremental mode logic

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
This commit is contained in:
Nikolaj Bjorner 2020-01-01 20:14:12 -08:00
parent 09dbacdf50
commit 1d0572354b
17 changed files with 991 additions and 386 deletions

View file

@ -103,6 +103,20 @@ namespace dd {
std::cout << (a + b)*(c + d) << "\n";
}
void test_iterator() {
std::cout << "test iterator\n";
pdd_manager m(4);
pdd a = m.mk_var(0);
pdd b = m.mk_var(1);
pdd c = m.mk_var(2);
pdd d = m.mk_var(3);
pdd p = (a + b)*(c + 3*d) + 2;
std::cout << p << "\n";
for (auto const& m : p) {
std::cout << m << "\n";
}
}
}
void tst_pdd() {
@ -110,4 +124,5 @@ void tst_pdd() {
dd::test2();
dd::test3();
dd::test_reset();
dd::test_iterator();
}

View file

@ -217,6 +217,13 @@ namespace dd {
g.display(std::cout);
g.simplify();
g.display(std::cout);
if (use_mod2) {
solver::config cfg;
cfg.m_enable_exlin = true;
g = cfg;
g.simplify();
g.display(std::cout << "after exlin\n");
}
g.saturate();
g.display(std::cout);
}