| wlar[n] = wl-entry(m0, stat), wlar0 = wlar, n < # wlar, m0 + UBI_ERASE_RETRIES < ecs(wlar).max ⊦ [ubi_erase_worker_helper#(n; wlar, apebs; err)] ( (∃ m, stat. m ≠ 0 ∧ m ≤ UBI_ERASE_RETRIES + 1 ∧ wlar = wlar0[n, wl-entry(wlar0[n].ec + m, stat)]) → (∃ m. m ≠ 0 ∧ m ≤ UBI_ERASE_RETRIES + 1 ∧ Δ wlar + m = Δ wlar0)) |
wlar[n] = wl-entry(m0, stat), wlar0[n] = wl-entry(m1, stat0), wlar0 = wlar, m0 + UBI_ERASE_RETRIES < ecs(wlar).max, n < # wlar ⊦ [ubi_erase_worker_helper#(n; wlar, apebs; err)] ( (∃ m, stat. m ≠ 0 ∧ m ≤ UBI_ERASE_RETRIES + 1 ∧ wlar = wlar0[n, wl-entry(m1 + m, stat)]) → (∃ m. m ≠ 0 ∧ m ≤ UBI_ERASE_RETRIES + 1 ∧ Δ wlar + m = Δ wlar0))
Used simplifier rules: ⊦ m = wle.ec ∧ stat = wle.status ↔ wle = wl-entry(m, stat); (elim) Used terms: wlar0[n], m1, stat0