| m1 < # wlar, m1 < m, m < # wlar, m1 + 1 < # wlar, ∀ n. n ∈ q ↔ n < m ∧ wlar[n].status = erasing ⊦ n ∈ q + eq-entry(m1, lref) ' ↔ ¬ m < n ∧ wlar[m, wl-entry(m0, used)][m1, wl-entry(m2, erasing)][n].status = erasing |
wlar[m, wl-entry(m0, used)][m1, wl-entry(m2, erasing)][n] = wl-entry(m3, stat), m1 + 1 < # wlar, m < # wlar, m1 < m, m1 < # wlar, ∀ n. n ∈ q ↔ n < m ∧ wlar[n].status = erasing ⊦ n ∈ q + eq-entry(m1, lref) ' ↔ ¬ m < n ∧ stat = erasing
Used simplifier rules: ⊦ m = wle.ec ∧ stat = wle.status ↔ wle = wl-entry(m, stat); (elim) Used terms: wlar[m, wl-entry(m0, used)][m1, wl-entry(m2, erasing)][n], m3, stat