3
0
Fork 0
mirror of https://github.com/Z3Prover/z3 synced 2025-07-18 02:16:40 +00:00

Initial commit of QGen

Controlled by fixedpoint.spacer.use_quanti_generalizer

measure cumulative time, number of invocations, and number of failed
SMT calls

Relaxing equality in a pattern: if a variable equals a numeral, relax with GE

pob::get_skolems() returns all skolems that might appear in the pob.
New skolems must be added above the largest index in that map,
even if they are not used in the pob itself.

pattern generalization should be done before the pattern is skolemized and
added into the new cube.
This commit is contained in:
Yakir Vizel 2017-12-18 13:52:53 -05:00 committed by Arie Gurfinkel
parent a1efb88318
commit 23a8e59493
10 changed files with 583 additions and 16 deletions

View file

@ -1317,9 +1317,9 @@ bool contains_selects(expr* fml, ast_manager& m)
return false;
}
void get_select_indices(expr* fml, app_ref_vector& indices, ast_manager& m)
void get_select_indices(expr* fml, app_ref_vector &indices, ast_manager& m)
{
array_util a_util(m);
array_util a_util(m);
if (!is_app(fml)) { return; }
ast_mark done;
ptr_vector<app> todo;