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:
parent
0c2e3c0894
commit
ebfb2a4a1e
1 changed files with 9 additions and 10 deletions
|
@ -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";
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue