| # 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 |
⊦ id○(wlar, wlar0, n) ↔ # wlar = # wlar0 ∧ (∀ m. m < # wlar ∧ m ≠ n → wlar[m] = wlar0[m])
# 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. n < # wlar2 → (wlar0[n].status = used ↔ wlar1[n].status = used), ∀ m0. m0 < # wlar1 ∧ m0 ≠ m → wlar1[m0] = wlar2[m0] ⊦ stat1 = used ↔ stat2 = used, stat = used, stat0 = used
Used terms: m, wlar2, wlar1