| # wlar = # apebs, v0 × m6 ∈ recs ∧ m11 = m5 ↔ stat0 = used ∧ m5 < m ∧ avhdr0.vol = v0 ∧ avhdr0.leb = m6, apebs[m5] = mkpeb(aehdr1, avhdr0, buf1, m13, boolvar1), subarray(wlar[m, wl-entry(m3, used)], 0, m + 1)[m5] = wl-entry(m10, stat), recs[v × n, recovery-entry(m, m0)][v0 × m6] = recovery-entry(m5, m8), apebs[m] = mkpeb(aehdr, avidhdr(v, n, m0, m1, m4), buf, m2, boolvar), subarray(apebs, 0, m + 1)[m5] = mkpeb(aehdr0, avhdr, buf0, m9, boolvar0), recs[v0 × m6] = recovery-entry(m11, m12), wlar[m5] = wl-entry(m14, stat0), m < # apebs, v0 × m6 ∈ recs, v0 × m6 = v × n ∨ v0 × m6 ∈ recs ⊦ v × n ∈ recs, stat = used ∧ ¬ m < m5 ∧ avhdr.vol = v0 ∧ avhdr.leb = m6 |
# wlar = # apebs, wlar[m5] = wl-entry(m14, used), apebs[m5] = mkpeb(aehdr1, avhdr0, buf1, m13, boolvar1), subarray(wlar[m, wl-entry(m3, used)], 0, m + 1)[m5] = wl-entry(m10, stat), recs[avhdr0.vol × avhdr0.leb] = recovery-entry(m5, m12), apebs[m] = mkpeb(aehdr, avidhdr(v, n, m0, m1, m4), buf, m2, boolvar), subarray(apebs, 0, m + 1)[m5] = mkpeb(aehdr0, avhdr, buf0, m9, boolvar0), m5 + 1 < # apebs, m < # apebs, m5 < # apebs, m5 < m, avhdr0.vol × avhdr0.leb ∈ recs ⊦ v × n ∈ recs, stat = used ∧ avhdr.vol = avhdr0.vol ∧ avhdr.leb = avhdr0.leb
Used simplifier rules: lf-01: ⊦ m < n ∧ n = n0 → m < n0; (forward) from specification nat-basic% ⊦ m +1 = m + 1; (s)% ⊦ m < n → n ≠ 0; (s)%transitivity: ⊦ n < n0 ∧ n0 < n1 → n < n1; (forward) from specification oelem[nat-set]%lf-02: ⊦ m < n ∧ m = n0 → n0 < n; (forward) from specification nat-basic%lf: ⊦ m < n ∧ n < n0 → m +1 < n0; (forward) from specification nat-basic%f: ⊦ m < n → n ≠ 0; (forward) from specification nat-basic% ⊦ m < n → ¬ n < m; (s)% ⊦ recovery-entry(m, m0) = recovery-entry(m1, m2) ↔ m = m1 ∧ m0 = m2; (ws)% ⊦ ladr ∈ recs ∧ ¬ ladr0 ∈ recs → recs[ladr0, rec][ladr] = recs[ladr]; (s)