3
0
Fork 0
mirror of https://github.com/Z3Prover/z3 synced 2025-04-24 17:45:32 +00:00
This commit is contained in:
Jakob Rath 2023-07-20 17:26:32 +02:00
parent e45d13ffdf
commit b725b61c57

View file

@ -851,6 +851,8 @@ namespace polysat {
out << " w=" << width(s);
if (!s->is_root())
out << " root=" << s->get_root_id();
if (parent(s))
out << " parent=" << parent(s)->get_id();
if (is_value(s->get_root()))
out << " root_value=" << get_value(s->get_root());
out << "\n";
@ -892,9 +894,13 @@ namespace polysat {
if (is_slice(s) && !has_sub(s)) {
VERIFY(all_of(euf::enode_class(s), [&](enode* n) { return is_slice(n); }));
}
// all concat nodes point to a variable slice
if (is_concat(s)) {
// all concat nodes point to a variable slice
VERIFY(slice2var(s) != null_var);
enode* sv = var2slice(slice2var(s)); // the corresponding variable slice
VERIFY(s != sv);
VERIFY(is_slice(sv));
VERIFY(s->num_args() >= 2);
}
// properties below only matter for representatives
if (!s->is_root())