| # wlar1 = # wlar2, # wlar0 = # wlar2, wlar1[m] = wl-entry(m0, stat), wlar2[m] = wl-entry(m1, stat0), wlar0[n] = wl-entry(m2, stat1), n < # wlar2, id○(wlar1, wlar2, m), ∀ n. n < # wlar2 → (wlar0[n].status = used ↔ wlar1[n].status = used) ⊦ stat1 = used ↔ wlar2[n].status = used, stat = used, stat0 = used |
# wlar0 = # wlar2, # wlar1 = # wlar2, wlar0[n] = wl-entry(m2, stat1), wlar2[m] = wl-entry(m1, stat0), wlar1[m] = wl-entry(m0, stat), wlar2[n] = wl-entry(m3, stat2), n < # wlar2, id○(wlar1, wlar2, m), ∀ n. n < # wlar2 → (wlar0[n].status = used ↔ wlar1[n].status = used) ⊦ stat1 = used ↔ stat2 = used, stat = used, stat0 = used
Used simplifier rules: ⊦ m = wle.ec ∧ stat = wle.status ↔ wle = wl-entry(m, stat); (elim) Used terms: wlar2[n], m3, stat2