| # wlar1 = # wlar2, # wlar0 = # wlar2, wlar2[n] = wl-entry(m3, stat2), wlar1[m] = wl-entry(m0, stat), wlar2[m] = wl-entry(m1, stat0), wlar0[n] = wl-entry(m2, stat1), n < # wlar2, n ≠ m → wlar1[n] = wl-entry(m3, stat2), n < # wlar2 → (wlar0[n].status = used ↔ wlar1[n].status = used) ⊦ stat1 = used ↔ stat2 = used, stat = used, stat0 = used |
# wlar1 = # wlar2, # wlar0 = # wlar2, stat1 = used ↔ wlar1[n].status = used, wlar2[n] = wl-entry(m3, stat2), wlar1[m] = wl-entry(m0, stat), wlar2[m] = wl-entry(m1, stat0), wlar0[n] = wl-entry(m2, stat1), n < # wlar2, n ≠ m → wlar1[n] = wl-entry(m3, stat2) ⊦ stat1 = used ↔ stat2 = used, stat = used, stat0 = used
Used simplifier rules: ⊦ wl-entry(m, stat).status = stat; (s)