| apebs[n] = mkpeb(aehdr, avhdr, buf, m, false), n < # apebs, ubi-io-inv(apebs) ⊦ ⟪aubi_io_sync_erase#(n; apebs; err)⟫ ubi-io-inv(apebs) |
apebs[n] = mkpeb(aehdr, avhdr, buf, m, false), n < # apebs, ubi-io-inv(apebs) ⊦ ⟪if ubi-io-erase-pre(n, apebs) then {fail_or_success#(; ; err); if err = ESUCCESS then apebs[n] := mkpeb(empty, empty, mkempbuf(LEB_SIZE), 0, false) else {choose apeb with ubi-io-peb-inv(apeb) ∧ ¬ apeb.bad ∧ ¬ apeb.vidhdr.valid? in apebs[n] := apeb or skip}} else abort⟫ ubi-io-inv(apebs)
Used simplifier rules: sync-erase: ⊦ ;