| ⊦ ⟪ubi_format#(; wlar, vtblpnum, vtblpnum0, apebs, vols, q, bflipset, sqnum; vtblpnum1, err)⟫ ( ( err = ESUCCESS → ubi-cons(apebs, vols, wlar, q, bflipset, vtblpnum, sqnum) ∧ vtblpnum0 = LEB_SIZE ∧ vtblpnum1 = EB_PAGE_SIZE ∧ ubi-io-inv(apebs)) ∧ (err = ESUCCESS ∨ ⌊err⌋ ) ∧ (err = ESUCCESS → vols = ∅)) |
⊦ ⟪ubi_format#(; wlar, vtblpnum, vtblpnum0, apebs, vols, q, bflipset, sqnum; vtblpnum1, err)⟫ ( ( err = ESUCCESS → # apebs = # wlar ∧ unique-sqns(apebs) ∧ valid-global-sqn(apebs, sqnum) ∧ valid-wl(apebs, wlar) ∧ valid-eraseq(q) ∧ valid-eraseq(wlar, q) ∧ valid-eraseq(apebs, q) ∧ ¬ VTBL_VOLID ∈ vols ∧ bflipset-cons(bflipset, wlar) ∧ valid-ebatbl(apebs, wlar, vols, vtblpnum) ∧ valid-vtbl(apebs, vols, wlar, vtblpnum) ∧ vtblpnum0 = LEB_SIZE ∧ vtblpnum1 = EB_PAGE_SIZE ∧ ubi-io-inv(apebs)) ∧ (err = ESUCCESS ∨ ⌊err⌋ ) ∧ (err = ESUCCESS → vols = ∅))
Used simplifier rules: ⊦ ubi-cons(apebs, vols, wlar, q, bflipset, n0, n1) ↔ # apebs = # wlar ∧ unique-sqns(apebs) ∧ valid-global-sqn(apebs, n1) ∧ valid-wl(apebs, wlar) ∧ valid-eraseq(q) ∧ valid-eraseq(wlar, q) ∧ valid-eraseq(apebs, q) ∧ ¬ VTBL_VOLID ∈ vols ∧ bflipset-cons(bflipset, wlar) ∧ valid-ebatbl(apebs, wlar, vols, n0) ∧ valid-vtbl(apebs, vols, wlar, n0); (s)