| n < # apebs, ubi-io-inv(apebs) ⊦ ⟪if ubi-io-isbad-pre(n, apebs) then {fail_or_success#(; ; err); if err = ESUCCESS then isbad := apebs[n].bad else isbad := ?} else abort⟫ true |
n < # apebs, ubi-io-inv(apebs) ⊦ ⟪fail_or_success#(; ; err); if err = ESUCCESS then isbad := apebs[n].bad else isbad := ?⟫ true
Used simplifier rules: ⊦ ubi-io-isbad-pre(n, apebs) ↔ n < # apebs; (s)% ⊦ m < n ↔ ¬ n ≤ m; (ss)% ⊦ m < n → (n ≤ m ↔ false); (s)