| wlar[m, wl-entry(m0, used)][n] = wl-entry(m3, stat), n = m, m1 < # wlar, m1 < m, m < # wlar, m1 + 1 < # wlar, ∀ n. n ∈ q ↔ n < m ∧ wlar[n].status = erasing ⊦ n ∈ q ↔ ¬ m < n ∧ stat = erasing, n = m1 |
m1 < # wlar, m1 < m, m < # wlar, m1 + 1 < # wlar, m ∈ q, ∀ n. n ∈ q ↔ n < m ∧ wlar[n].status = erasing ⊦ m = m1
Used simplifier rules: ⊦ used ≠ erasing; (s)% ⊦ ¬ n < n; (s)% ⊦ wl-entry(m, stat) = wl-entry(m0, stat0) ↔ m = m0 ∧ stat = stat0; (ws)% ⊦ m < # wlar → wlar[m, wle][m] = wle; (s)