| apebs[n] = mkpeb(aehdr, avhdr, buf, m, false), apebs0 = apebs, n < # apebs, ubi-io-inv(apebs) ⊦ ⟨aubi_io_sync_erase#(n; apebs; err)⟩ (apebs0 = apebs) |
apebs[n] = mkpeb(aehdr, avhdr, buf, m, false), apebs0 = apebs, 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⟩ (apebs0 = apebs)
Used simplifier rules: sync-erase: ⊦ ;