mirror of
https://github.com/Z3Prover/z3
synced 2025-04-23 17:15:31 +00:00
propagate value when splitting a slice
This commit is contained in:
parent
490b77d8a1
commit
a2fdb03625
2 changed files with 29 additions and 52 deletions
|
@ -174,10 +174,15 @@ namespace polysat {
|
|||
pvar z = sl.mk_extract_var(x, 3, 0);
|
||||
std::cout << "v" << z << " := v" << x << "[3:0]\n" << sl << "\n";
|
||||
|
||||
// VERIFY(sl.merge_value(sl.var2slice(y), rational(9)));
|
||||
// std::cout << "v" << y << " = 9\n" << sl << "\n";
|
||||
// VERIFY(sl.merge_value(sl.var2slice(z), rational(7)));
|
||||
// std::cout << "v" << z << " = 7\n" << sl << "\n";
|
||||
slicing::enode* nine = sl.mk_value_slice(rational(9), 4);
|
||||
VERIFY(sl.merge(sl.var2slice(y), nine, sat::literal(109)));
|
||||
std::cout << "v" << y << " = 9\n" << sl << "\n";
|
||||
|
||||
slicing::enode* seven = sl.mk_value_slice(rational(7), 4);
|
||||
VERIFY(sl.merge(sl.var2slice(z), seven, sat::literal(107)));
|
||||
std::cout << "v" << z << " = 7\n" << sl << "\n";
|
||||
|
||||
sl.display_tree(std::cout);
|
||||
}
|
||||
|
||||
};
|
||||
|
@ -191,6 +196,6 @@ void tst_slicing() {
|
|||
test_slicing::test2();
|
||||
test_slicing::test3();
|
||||
test_slicing::test4();
|
||||
// test_slicing::test5();
|
||||
test_slicing::test5();
|
||||
std::cout << "ok\n";
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue