mirror of
https://github.com/Z3Prover/z3
synced 2025-08-24 20:16:00 +00:00
bv and gc of literals (#4692)
* bv and gc of literals Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com> * overload Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com> * diseq Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com> * diseq Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
This commit is contained in:
parent
2d52367368
commit
549753845e
34 changed files with 1480 additions and 854 deletions
|
@ -27,19 +27,19 @@ namespace euf {
|
|||
void solver::check_eqc_bool_assignment() const {
|
||||
for (enode* n : m_egraph.nodes()) {
|
||||
VERIFY(!m.is_bool(n->get_expr()) ||
|
||||
s().value(get_literal(n)) == s().value(get_literal(n->get_root())));
|
||||
s().value(enode2literal(n)) == s().value(enode2literal(n->get_root())));
|
||||
}
|
||||
}
|
||||
|
||||
void solver::check_missing_bool_enode_propagation() const {
|
||||
for (enode* n : m_egraph.nodes())
|
||||
if (m.is_bool(n->get_expr()) && l_undef == s().value(get_literal(n))) {
|
||||
if (m.is_bool(n->get_expr()) && l_undef == s().value(enode2literal(n))) {
|
||||
if (!n->is_root()) {
|
||||
VERIFY(l_undef == s().value(get_literal(n->get_root())));
|
||||
VERIFY(l_undef == s().value(enode2literal(n->get_root())));
|
||||
}
|
||||
else
|
||||
for (enode* o : enode_class(n)) {
|
||||
VERIFY(l_undef == s().value(get_literal(o)));
|
||||
VERIFY(l_undef == s().value(enode2literal(o)));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue