3
0
Fork 0
mirror of https://github.com/Z3Prover/z3 synced 2025-11-02 20:47:52 +00:00

A simple version for finding the stride between different indices in a POB

This current version is very limited.
It assumes a pre-defined structure (namely, an ADDER).
This commit is contained in:
Yakir Vizel 2018-01-11 15:02:09 -05:00 committed by Arie Gurfinkel
parent 04a778f2fd
commit 5df7a08d1c
2 changed files with 112 additions and 12 deletions

View file

@ -126,13 +126,15 @@ private:
void find_candidates(expr *e, app_ref_vector &candidate);
bool is_ub(var *var, expr *e);
bool is_lb(var *var, expr *e);
void mk_abs_cube (app *term, var *var,
void mk_abs_cube (lemma_ref &lemma, app *term, var *var,
expr_ref_vector &gnd_cube,
expr_ref_vector &abs_cube,
expr *&lb, expr *&ub);
expr *&lb, expr *&ub, unsigned &stride);
bool match_sk_idx(expr *e, app_ref_vector const &zks, expr *&idx, app *&sk);
void cleanup(expr_ref_vector& cube, app_ref_vector const &zks, expr_ref &bind);
bool find_stride(expr_ref_vector &c, expr_ref &pattern, unsigned &stride);
};
}