| # apebs = # wlar, wlar[m] = wl-entry(m0, free), wlar[vtblpnum0] = wl-entry(below(free-ecs(wlar), free-ecs(wlar).min + 2 * WL_THRESHOLD).max, free), wlar[n] = wl-entry(m1, stat), vtblpnum0 < # wlar, m0 < free-ecs(wlar).min + 2 * WL_THRESHOLD, m < # wlar, bflipset-cons(bflipset, wlar), unique-sqns(apebs), valid-ebatbl(apebs, wlar, vols, vtblpnum1), valid-eraseq(q), valid-eraseq(wlar, q), valid-eraseq(apebs, q), valid-global-sqn(apebs, sqnum), valid-vtbl(apebs, vols, wlar, vtblpnum1), valid-wl(apebs, wlar), n ∈ bflipset ⊦ # bflipset = 0, # free-ecs(wlar) = 0, bflipset = ∅, free-ecs(wlar) = ∅, vtblpnum1 = vtblpnum0, vtblpnum1 = m, vtblpnum1 ∈ q, VTBL_VOLID ∈ vols, n < # wlar ∧ stat = used |
# apebs = # wlar, wlar[m] = wl-entry(m0, free), wlar[vtblpnum0] = wl-entry(below(free-ecs(wlar), free-ecs(wlar).min + 2 * WL_THRESHOLD).max, free), wlar[n] = wl-entry(m1, used), vtblpnum0 < # wlar, m0 < free-ecs(wlar).min + 2 * WL_THRESHOLD, m < # wlar, vtblpnum0 < n, m < n, bflipset-cons(bflipset, wlar), unique-sqns(apebs), valid-ebatbl(apebs, wlar, vols, vtblpnum1), valid-eraseq(q), valid-eraseq(wlar, q), valid-eraseq(apebs, q), valid-global-sqn(apebs, sqnum), valid-vtbl(apebs, vols, wlar, vtblpnum1), valid-wl(apebs, wlar), n ∈ bflipset, # wlar ≤ n ⊦ # bflipset = 0, # free-ecs(wlar) = 0, bflipset = ∅, free-ecs(wlar) = ∅, vtblpnum1 = vtblpnum0, vtblpnum1 = m, vtblpnum1 ∈ q, VTBL_VOLID ∈ vols
Used simplifier rules: ⊦ m < n → n ≠ 0; (s)%f: ⊦ m < n → n ≠ 0; (forward) from specification nat-basic%fle: ⊦ m < n ∧ n ≤ n0 → m < n0; (forward) from specification nat% ⊦ m < n ↔ ¬ n ≤ m; (ss)%stat ≠ used ⊦ wlar[n] = wl-entry(m, stat) ∧ bflipset-cons(bflipset, wlar) → ¬ n ∈ bflipset; (s)