mirror of
https://github.com/Z3Prover/z3
synced 2025-07-01 10:28:46 +00:00
build
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
This commit is contained in:
parent
c73b2b68fa
commit
49c8dff707
4 changed files with 13 additions and 11 deletions
|
@ -44,6 +44,7 @@ def init_project_def():
|
||||||
add_lib('mbp', ['model', 'simplex'], 'qe/mbp')
|
add_lib('mbp', ['model', 'simplex'], 'qe/mbp')
|
||||||
add_lib('qe_lite', ['tactic', 'mbp'], 'qe/lite')
|
add_lib('qe_lite', ['tactic', 'mbp'], 'qe/lite')
|
||||||
add_lib('solver', ['params', 'smt_params', 'model', 'tactic', 'qe_lite', 'proofs'])
|
add_lib('solver', ['params', 'smt_params', 'model', 'tactic', 'qe_lite', 'proofs'])
|
||||||
|
add_lib('mbi', ['qe_lite','solver'], 'qe/mbi')
|
||||||
add_lib('cmd_context', ['solver', 'rewriter', 'params'])
|
add_lib('cmd_context', ['solver', 'rewriter', 'params'])
|
||||||
add_lib('smt2parser', ['cmd_context', 'parser_util'], 'parsers/smt2')
|
add_lib('smt2parser', ['cmd_context', 'parser_util'], 'parsers/smt2')
|
||||||
add_lib('pattern', ['normal_forms', 'smt2parser', 'rewriter'], 'ast/pattern')
|
add_lib('pattern', ['normal_forms', 'smt2parser', 'rewriter'], 'ast/pattern')
|
||||||
|
|
|
@ -57,7 +57,6 @@ add_subdirectory(ast/simplifiers)
|
||||||
add_subdirectory(tactic)
|
add_subdirectory(tactic)
|
||||||
add_subdirectory(qe/mbp)
|
add_subdirectory(qe/mbp)
|
||||||
add_subdirectory(qe/lite)
|
add_subdirectory(qe/lite)
|
||||||
add_subdirectory(qe/mbi)
|
|
||||||
add_subdirectory(smt/params)
|
add_subdirectory(smt/params)
|
||||||
add_subdirectory(parsers/util)
|
add_subdirectory(parsers/util)
|
||||||
add_subdirectory(math/grobner)
|
add_subdirectory(math/grobner)
|
||||||
|
@ -68,6 +67,7 @@ add_subdirectory(math/subpaving/tactic)
|
||||||
add_subdirectory(tactic/aig)
|
add_subdirectory(tactic/aig)
|
||||||
add_subdirectory(tactic/arith)
|
add_subdirectory(tactic/arith)
|
||||||
add_subdirectory(solver)
|
add_subdirectory(solver)
|
||||||
|
add_subdirectory(qe/mbi)
|
||||||
add_subdirectory(cmd_context)
|
add_subdirectory(cmd_context)
|
||||||
add_subdirectory(cmd_context/extra_cmds)
|
add_subdirectory(cmd_context/extra_cmds)
|
||||||
add_subdirectory(parsers/smt2)
|
add_subdirectory(parsers/smt2)
|
||||||
|
|
|
@ -2,6 +2,5 @@ z3_add_component(mbi
|
||||||
SOURCES
|
SOURCES
|
||||||
qe_mbi.cpp
|
qe_mbi.cpp
|
||||||
COMPONENT_DEPENDENCIES
|
COMPONENT_DEPENDENCIES
|
||||||
mbp
|
solver
|
||||||
qe_lite
|
|
||||||
)
|
)
|
||||||
|
|
|
@ -1085,23 +1085,25 @@ class term_graph::projector {
|
||||||
expr *mk_pure(term const &t) {
|
expr *mk_pure(term const &t) {
|
||||||
TRACE("qe", t.display(tout););
|
TRACE("qe", t.display(tout););
|
||||||
expr *e = nullptr;
|
expr *e = nullptr;
|
||||||
if (find_term2app(t, e)) return e;
|
if (find_term2app(t, e))
|
||||||
|
return e;
|
||||||
e = t.get_expr();
|
e = t.get_expr();
|
||||||
if (!is_app(e)) return nullptr;
|
if (!is_app(e))
|
||||||
|
return nullptr;
|
||||||
app *a = ::to_app(e);
|
app *a = ::to_app(e);
|
||||||
expr_ref_buffer kids(m);
|
expr_ref_buffer kids(m);
|
||||||
for (term *ch : term::children(t)) {
|
for (term *ch : term::children(t)) {
|
||||||
// prefer a node that resembles current child,
|
// prefer a node that resembles current child,
|
||||||
// otherwise, pick a root representative, if present.
|
// otherwise, pick a root representative, if present.
|
||||||
if (find_term2app(*ch, e)) { kids.push_back(e); }
|
if (find_term2app(*ch, e))
|
||||||
else if (m_root2rep.find(ch->get_root().get_id(), e)) {
|
kids.push_back(e);
|
||||||
|
else if (m_root2rep.find(ch->get_root().get_id(), e))
|
||||||
kids.push_back(e);
|
kids.push_back(e);
|
||||||
}
|
else
|
||||||
else { return nullptr; }
|
return nullptr;
|
||||||
TRACE("qe_verbose", tout << *ch << " -> " << mk_pp(e, m) << "\n";);
|
TRACE("qe_verbose", tout << *ch << " -> " << mk_pp(e, m) << "\n";);
|
||||||
}
|
}
|
||||||
expr_ref pure =
|
expr_ref pure = m_rewriter.mk_app(a->get_decl(), kids.size(), kids.data());
|
||||||
m_rewriter.mk_app(a->get_decl(), kids.size(), kids.data());
|
|
||||||
m_pinned.push_back(pure);
|
m_pinned.push_back(pure);
|
||||||
add_term2app(t, pure);
|
add_term2app(t, pure);
|
||||||
return pure;
|
return pure;
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue