| wlar[m0].status = erasing, nx0 < m, m0 < m, m0 < # wlar, indices-erasing(wlar, nx0), ∀ m, wlar, wle. nx0 < m ∧ indices-erasing(wlar, nx0) → indices-erasing(wlar[m, wle], nx0) ⊦ indices-erasing(wlar[m, wle], nx0) |
wlar[m0] = wl-entry(m1, stat), stat = erasing, m0 < # wlar, m0 < m, nx0 < m, indices-erasing(wlar, nx0), ∀ m, wlar, wle. nx0 < m ∧ indices-erasing(wlar, nx0) → indices-erasing(wlar[m, wle], nx0) ⊦ indices-erasing(wlar[m, wle], nx0)
Used simplifier rules: ⊦ m = wle.ec ∧ stat = wle.status ↔ wle = wl-entry(m, stat); (elim) Used terms: wlar[m0], m1, stat