3
0
Fork 0
mirror of https://github.com/Z3Prover/z3 synced 2025-04-22 16:45:31 +00:00

Fix mbp to respect reduce_all_selects option

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
This commit is contained in:
Nikolaj Bjorner 2018-05-29 18:27:45 -07:00 committed by Arie Gurfinkel
parent 0c2e3c0894
commit ebfb2a4a1e

View file

@ -592,10 +592,11 @@ public:
flatten_and(fml);
do_qe_lite(vars, fml);
while (!vars.empty()) {
do_qe_lite(vars, fml);
do_qe_bool(mdl, vars, fml);
// sort out vars into bools, arith (int/real), and arrays
@ -613,21 +614,19 @@ public:
vars.reset ();
// project arrays
if (!array_vars.empty()) {
qe::array_project_plugin ap(m);
ap(mdl, array_vars, fml, vars, m_reduce_all_selects);
SASSERT (array_vars.empty ());
m_rw (fml);
SASSERT (!m.is_false (fml));
}
qe::array_project_plugin ap(m);
ap(mdl, array_vars, fml, vars, m_reduce_all_selects);
SASSERT (array_vars.empty ());
m_rw (fml);
SASSERT (!m.is_false (fml));
TRACE ("qe",
tout << "extended model:\n";
model_pp (tout, mdl);
tout << "Vars: " << vars << "\n";
);
}
// project reals, ints and other variables.
if (!other_vars.empty ()) {
TRACE ("qe", tout << "Other vars: " << other_vars << "\n";