| wlar0[m] = wl-entry(m0, stat), wlar1[m] = wl-entry(m1, stat0), id○(wlar0, wlar1, m) ⊦ stat = used, stat0 = used, same-used(wlar0, wlar1) |
# wlar0 = # wlar1, wlar1[m] = wl-entry(m1, stat0), wlar0[m] = wl-entry(m0, stat), n < # wlar1, id○(wlar0, wlar1, m) ⊦ wlar0[n].status = used ↔ wlar1[n].status = used, stat = used, stat0 = used
Used simplifier rules: same-used: ⊦ same-used(wlar0, wlar1) ↔ # wlar0 = # wlar1 ∧ (∀ n. n < # wlar0 → (wlar0[n].status = used ↔ wlar1[n].status = used));% ⊦ m < n → n ≠ 0; (s)%lf-01: ⊦ m < n ∧ n = n0 → m < n0; (forward) from specification nat-basic%f: ⊦ m < n → n ≠ 0; (forward) from specification nat-basic%idexcept-size: ⊦ id○(wlar, wlar0, n) → # wlar = # wlar0; (forward) from specification array-copy[wlarray-base]