3
0
Fork 0
mirror of https://github.com/Z3Prover/z3 synced 2025-08-28 14:08:55 +00:00

prepare for inverse model conversion for formulas

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
This commit is contained in:
Nikolaj Bjorner 2017-11-17 19:55:23 -08:00
parent dc0b2a8acf
commit b3bd9b89b5
7 changed files with 79 additions and 139 deletions

View file

@ -170,6 +170,10 @@ void horn_subsume_model_converter::add_default_false_interpretation(expr* e, mod
}
void horn_subsume_model_converter::operator()(expr_ref& fml) {
NOT_IMPLEMENTED_YET();
}
void horn_subsume_model_converter::operator()(model_ref& mr) {
func_decl_ref pred(m);
@ -190,11 +194,11 @@ void horn_subsume_model_converter::operator()(model_ref& mr) {
add_default_false_interpretation(body, mr);
SASSERT(m.is_bool(body));
TRACE("mc", tout << "eval: " << h->get_name() << "\n" << mk_pp(body, m) << "\n";);
TRACE("mc", tout << "eval: " << h->get_name() << "\n" << body << "\n";);
expr_ref tmp(body);
mr->eval(tmp, body);
TRACE("mc", tout << "to:\n" << mk_pp(body, m) << "\n";);
TRACE("mc", tout << "to:\n" << body << "\n";);
if (arity == 0) {
expr* e = mr->get_const_interp(h);