3
0
Fork 0
mirror of https://github.com/Z3Prover/z3 synced 2026-04-23 12:23:31 +00:00

integrate lookahead v1 into repair loop

this ports some functionality from lookahead solver for qfbv-sls into sls-smt.
This commit is contained in:
Nikolaj Bjorner 2024-12-26 17:49:30 -08:00
parent c58171478f
commit 5eb71c3be6
9 changed files with 214 additions and 104 deletions

View file

@ -127,6 +127,7 @@ namespace sls {
ptr_vector<expr> todo;
todo.append(to_app(e)->get_num_args(), to_app(e)->get_args());
expr_mark marked;
expr* c, * th, * el;
for (unsigned i = 0; i < todo.size(); ++i) {
e = todo[i];
if (marked.is_marked(e))
@ -136,6 +137,10 @@ namespace sls {
for (expr* arg : *to_app(e))
todo.push_back(arg);
}
else if (m.is_ite(e, c, th, el)) {
todo.push_back(th);
todo.push_back(el);
}
else if (bv.is_bv(e))
occs.push_back(e);
}