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

shortcut in merge

This commit is contained in:
Jakob Rath 2023-07-20 17:28:37 +02:00
parent 3e23742bcf
commit ef337f3a3f

View file

@ -581,6 +581,22 @@ namespace polysat {
enode* y = ys.back();
xs.pop_back();
ys.pop_back();
if (x == y)
continue;
if (x->get_root() == y->get_root()) {
DEBUG_CODE({
// parents merged => base slices merged
enode_vector x_base;
enode_vector y_base;
get_base(x, x_base);
get_base(y, y_base);
SASSERT_EQ(x_base.size(), y_base.size());
for (unsigned i = x_base.size(); i-- > 0; ) {
SASSERT_EQ(x_base[i]->get_root(), y_base[i]->get_root());
}
});
continue;
}
if (has_sub(x)) {
get_base(x, xs);
x = xs.back();