3
0
Fork 0
mirror of https://github.com/Z3Prover/z3 synced 2026-02-27 02:25:38 +00:00

base working mbi

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
This commit is contained in:
Nikolaj Bjorner 2020-01-13 15:45:06 -08:00
parent 77689ed002
commit 453ef631a0
10 changed files with 234 additions and 140 deletions

View file

@ -1442,13 +1442,13 @@ namespace qe {
for_each_store_proc(imp& i, term_graph& tg) : m_imp(i), tg(tg) {}
void operator()(app* n) {
if (m_imp.a.is_array(n) && tg.get_model_based_rep(n)) {
if (m_imp.a.is_array(n) && tg.rep_of(n)) {
m_imp.add_array(n);
}
if (m_imp.a.is_store(n) &&
(tg.get_model_based_rep(n->get_arg(0)) ||
tg.get_model_based_rep(n->get_arg(n->get_num_args() - 1)))) {
(tg.rep_of(n->get_arg(0)) ||
tg.rep_of(n->get_arg(n->get_num_args() - 1)))) {
m_imp.m_stores.push_back(n);
for (unsigned i = 1; i + 1 < n->get_num_args(); ++i) {
m_imp.add_index_sort(n->get_arg(i));
@ -1466,7 +1466,7 @@ namespace qe {
void operator()(app* n) {
auto* v = m_imp.is_index(n);
if (v && tg.get_model_based_rep(n)) {
if (v && tg.rep_of(n)) {
v->push_back(n);
}
}