mirror of
https://github.com/Z3Prover/z3
synced 2025-08-09 20:50:50 +00:00
faster saturation without backwards subsumption and using SOS-style set
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
This commit is contained in:
parent
0aa8df98a1
commit
562ae7bec5
5 changed files with 607 additions and 45 deletions
|
@ -10,6 +10,9 @@
|
|||
#include <time.h>
|
||||
#include <sstream>
|
||||
|
||||
static bool g_use_ordered_support = false;
|
||||
static bool g_use_ordered_subsumption = false;
|
||||
static bool g_use_support = false;
|
||||
|
||||
class hilbert_basis_validate {
|
||||
ast_manager& m;
|
||||
|
@ -241,6 +244,9 @@ static void saturate_basis(hilbert_basis& hb) {
|
|||
signal(SIGINT, on_ctrl_c);
|
||||
g_hb = &hb;
|
||||
g_start_time = static_cast<double>(clock());
|
||||
hb.set_use_ordered_support(g_use_ordered_support);
|
||||
hb.set_use_support(g_use_support);
|
||||
hb.set_use_ordered_subsumption(g_use_ordered_subsumption);
|
||||
lbool is_sat = hb.saturate();
|
||||
|
||||
switch(is_sat) {
|
||||
|
@ -505,6 +511,10 @@ static void tst15() {
|
|||
|
||||
void tst_hilbert_basis() {
|
||||
std::cout << "hilbert basis test\n";
|
||||
// tst3();
|
||||
// return;
|
||||
|
||||
g_use_ordered_support = true;
|
||||
|
||||
if (true) {
|
||||
tst1();
|
||||
|
@ -531,4 +541,14 @@ void tst_hilbert_basis() {
|
|||
else {
|
||||
gorrila_test(0, 10, 7, 20, 11);
|
||||
}
|
||||
|
||||
return;
|
||||
std::cout << "ordered support\n";
|
||||
g_use_ordered_support = true;
|
||||
tst4();
|
||||
|
||||
std::cout << "non-ordered support\n";
|
||||
g_use_ordered_support = false;
|
||||
tst4();
|
||||
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue