| wlar0[n] = wl-entry(m0, stat), wlar0 = wlar, n < # wlar, n1 < # wlar, v ∈ vols ∧ m < # vols[v] ∧ vols[v][m] = ⌜n1⌝ ∨ v = VTBL_VOLID ∧ m = VTBL_LNUM ∧ vtblpnum = n1 ⊦ [ubi_atomic_leb_change#(v, m, n, n0, buf, EB_PAGE_SIZE; vols, wlar, q, bflipset, vtblpnum, sqnum, apebs; err)] ( sum-of-differences(ecs(wlar).max, ecs(wlar)) = sum-of-differences(ecs(wlar0).max, ecs(wlar0)) ∧ ecs(wlar) = ecs(wlar0) ∧ (err = ESUCCESS → wlar[n].ec = m0 ∧ wlar[n1].ec = wlar0[n1].ec)), n = n1 |
wlar[n] = wl-entry(m0, stat), wlar0 = wlar, n ≠ n1, n1 < # wlar, n < # wlar, v ∈ vols ∧ m < # vols[v] ∧ vols[v][m] = ⌜n1⌝ ∨ v = VTBL_VOLID ∧ m = VTBL_LNUM ∧ vtblpnum = n1 ⊦ [ubi_atomic_leb_change#(v, m, n, n0, buf, EB_PAGE_SIZE; vols, wlar, q, bflipset, vtblpnum, sqnum, apebs; err)] ( sum-of-differences(ecs(wlar).max, ecs(wlar)) = sum-of-differences(ecs(wlar0).max, ecs(wlar0)) ∧ ecs(wlar) = ecs(wlar0) ∧ (err = ESUCCESS → wlar[n].ec = m0 ∧ wlar[n1].ec = wlar0[n1].ec))