3
0
Fork 0
mirror of https://github.com/Z3Prover/z3 synced 2025-04-29 20:05:51 +00:00

connect mbi

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
This commit is contained in:
Nikolaj Bjorner 2020-09-29 23:51:09 -07:00
parent 4e74c4cdd4
commit 1d199b707b
8 changed files with 82 additions and 19 deletions

View file

@ -25,7 +25,7 @@ Author:
namespace q {
solver::solver(euf::solver& ctx):
th_euf_solver(ctx, ctx.get_manager().get_family_id("quant")),
th_euf_solver(ctx, ctx.get_manager().get_family_id(name())),
m_mbqi(ctx, *this)
{}
@ -38,7 +38,7 @@ namespace q {
}
else {
// universal force
add_clause(~l, uskolemize(to_quantifier(e)));
// add_clause(~l, uskolemize(to_quantifier(e)));
ctx.push_vec(m_universal, l);
}
}
@ -106,5 +106,16 @@ namespace q {
NOT_IMPLEMENTED_YET();
return sat::null_literal;
}
void solver::init_search() {
m_mbqi.init_search();
}
sat::literal solver::internalize(expr* e, bool sign, bool root, bool learned) {
SASSERT(is_forall(e) || is_exists(e));
sat::bool_var v = ctx.get_si().add_bool_var(e);
sat::literal lit = ctx.attach_lit(sat::literal(v, sign), e);
mk_var(ctx.get_egraph().find(e));
return lit;
}
}