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

fix quantifier elimination bugs reported by Berdine and Bornat

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
This commit is contained in:
Nikolaj Bjorner 2014-07-14 15:38:22 +02:00
parent 4f7d872d59
commit e4dedbbefc
5 changed files with 137 additions and 60 deletions

View file

@ -1198,6 +1198,7 @@ namespace smt {
void theory_bv::relevant_eh(app * n) {
ast_manager & m = get_manager();
context & ctx = get_context();
TRACE("bv", tout << "relevant: " << mk_pp(n, m) << "\n";);
if (m.is_bool(n)) {
bool_var v = ctx.get_bool_var(n);
atom * a = get_bv2a(v);
@ -1210,11 +1211,11 @@ namespace smt {
}
}
}
else if (m_params.m_bv_enable_int2bv2int && m_util.is_bv2int(n)) {
else if (/*m_params.m_bv_enable_int2bv2int &&*/ m_util.is_bv2int(n)) {
ctx.mark_as_relevant(n->get_arg(0));
assert_bv2int_axiom(n);
}
else if (m_params.m_bv_enable_int2bv2int && m_util.is_int2bv(n)) {
else if (/*m_params.m_bv_enable_int2bv2int &&*/ m_util.is_int2bv(n)) {
ctx.mark_as_relevant(n->get_arg(0));
assert_int2bv_axiom(n);
}