| wlar[m, wl-entry(n, erasing)][m0] = wl-entry(m2, stat), wlar[m0] = wl-entry(m1, erasing), m0 = m, m0 < # wlar, indices-erasing(wlar, nx0), ∀ wlar, m, n. indices-erasing(wlar, nx0) → indices-erasing(wlar[m, wl-entry(n, erasing)], nx0) ⊦ stat = erasing ∧ indices-erasing(wlar[m, wl-entry(n, erasing)], nx0) |
wlar[m] = wl-entry(m1, erasing), m < # wlar, indices-erasing(wlar, nx0), ∀ wlar, m, n. indices-erasing(wlar, nx0) → indices-erasing(wlar[m, wl-entry(n, erasing)], nx0) ⊦ indices-erasing(wlar[m, wl-entry(n, erasing)], nx0)
Used simplifier rules: ⊦ wl-entry(m, stat) = wl-entry(m0, stat0) ↔ m = m0 ∧ stat = stat0; (ws)% ⊦ m < # wlar → wlar[m, wle][m] = wle; (s)