3
0
Fork 0
mirror of https://github.com/Z3Prover/z3 synced 2025-08-07 19:51:22 +00:00

consolidate freeze functionality into dependent_expr_state

rename size() to qtail() and introduce shortcuts
ensure tactic goals are not updated if they are in inconsistent state (because indices could be invalidated)
This commit is contained in:
Nikolaj Bjorner 2022-11-30 08:35:29 +07:00
parent 73a652cf4b
commit bec3acd146
21 changed files with 223 additions and 93 deletions

View file

@ -27,7 +27,7 @@ namespace bv {
}
void slice::process_eqs() {
for (unsigned i = m_fmls.qhead(); i < m_fmls.size(); ++i) {
for (unsigned i = qhead(); i < qtail(); ++i) {
auto const [f, d] = m_fmls[i]();
process_eq(f);
}
@ -136,7 +136,7 @@ namespace bv {
expr_ref_vector cache(m), pin(m);
ptr_vector<expr> todo, args;
expr* c;
for (unsigned i = m_fmls.qhead(); i < m_fmls.size(); ++i) {
for (unsigned i = qhead(); i < qtail(); ++i) {
auto const [f, d] = m_fmls[i]();
todo.push_back(f);
pin.push_back(f);