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

Add bitblasting fallback to viable::query

(integration between conflict/viable is still messy)
This commit is contained in:
Jakob Rath 2022-12-16 13:02:54 +01:00
parent 44cb528300
commit afde0e993c
8 changed files with 336 additions and 121 deletions

View file

@ -38,16 +38,19 @@ namespace polysat {
auto c = s.ule(x + 3, x + 5);
s.v.intersect(xv, c);
std::cout << s.v << "\n";
std::cout << "min-max " << s.v.min_viable(xv) << " " << s.v.max_viable(xv) << "\n";
std::cout << "min " << s.v.min_viable(xv, val) << " " << val << "\n";
std::cout << "max " << s.v.max_viable(xv, val) << " " << val << "\n";
s.v.intersect(xv, s.ule(x, 2));
std::cout << s.v << "\n";
s.v.intersect(xv, s.ule(1, x));
std::cout << s.v << "\n";
std::cout << "min-max " << s.v.min_viable(xv) << " " << s.v.max_viable(xv) << "\n";
std::cout << "min " << s.v.min_viable(xv, val) << " " << val << "\n";
std::cout << "max " << s.v.max_viable(xv, val) << " " << val << "\n";
s.v.intersect(xv, s.ule(x, 3));
std::cout << s.v << "\n";
std::cout << s.v.find_viable(xv, val) << " " << val << "\n";
std::cout << "min-max " << s.v.min_viable(xv) << " " << s.v.max_viable(xv) << "\n";
std::cout << "min " << s.v.min_viable(xv, val) << " " << val << "\n";
std::cout << "max " << s.v.max_viable(xv, val) << " " << val << "\n";
s.v.intersect(xv, s.ule(3, x));
std::cout << s.v << "\n";
std::cout << s.v.find_viable(xv, val) << " " << val << "\n";