mirror of
https://github.com/Z3Prover/z3
synced 2025-06-20 04:43:39 +00:00
inv
This commit is contained in:
parent
e45d13ffdf
commit
b725b61c57
1 changed files with 7 additions and 1 deletions
|
@ -851,6 +851,8 @@ namespace polysat {
|
||||||
out << " w=" << width(s);
|
out << " w=" << width(s);
|
||||||
if (!s->is_root())
|
if (!s->is_root())
|
||||||
out << " root=" << s->get_root_id();
|
out << " root=" << s->get_root_id();
|
||||||
|
if (parent(s))
|
||||||
|
out << " parent=" << parent(s)->get_id();
|
||||||
if (is_value(s->get_root()))
|
if (is_value(s->get_root()))
|
||||||
out << " root_value=" << get_value(s->get_root());
|
out << " root_value=" << get_value(s->get_root());
|
||||||
out << "\n";
|
out << "\n";
|
||||||
|
@ -892,9 +894,13 @@ namespace polysat {
|
||||||
if (is_slice(s) && !has_sub(s)) {
|
if (is_slice(s) && !has_sub(s)) {
|
||||||
VERIFY(all_of(euf::enode_class(s), [&](enode* n) { return is_slice(n); }));
|
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)) {
|
if (is_concat(s)) {
|
||||||
|
// all concat nodes point to a variable slice
|
||||||
VERIFY(slice2var(s) != null_var);
|
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
|
// properties below only matter for representatives
|
||||||
if (!s->is_root())
|
if (!s->is_root())
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue