| apebs0 = apebs, ubi-io-erase-pre(n, apebs), ubi-io-inv(apebs) ⊦ ⟨aubi_io_sync_erase#(n; apebs; err)⟩ (apebs0 = apebs) |
apebs0 = apebs, n < # apebs, ubi-io-inv(apebs), ¬ apebs[n].bad ⊦ ⟨aubi_io_sync_erase#(n; apebs; err)⟩ (apebs0 = apebs)
Used simplifier rules: ⊦ m < n → n ≠ 0; (s)%f: ⊦ m < n → n ≠ 0; (forward) from specification nat-basic% ⊦ ubi-io-erase-pre(n, apebs) ↔ n < # apebs ∧ ¬ apebs[n].bad; (s)