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

array support for mbp

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
This commit is contained in:
Nikolaj Bjorner 2018-05-20 10:38:43 -07:00 committed by Arie Gurfinkel
parent 8ffbd5d1e5
commit 23272f0d2f
3 changed files with 477 additions and 464 deletions

File diff suppressed because it is too large Load diff

View file

@ -34,6 +34,7 @@ namespace qe {
~array_project_plugin() override;
bool operator()(model& model, app* var, app_ref_vector& vars, expr_ref_vector& lits) override;
bool solve(model& model, app_ref_vector& vars, expr_ref_vector& lits) override;
void operator()(model& model, app_ref_vector& vars, expr_ref& fml, app_ref_vector& aux_vars, bool reduce_all_selects);
family_id get_family_id() override;
};

View file

@ -664,8 +664,8 @@ public:
// project arrays
if (!array_vars.empty()) {
NOT_IMPLEMENTED_YET();
// qe::array_project (mdl, array_vars, fml, vars, m_reduce_all_selects);
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));