| # wlar = # apebs, v × m2 ∈ recs ∧ recs[v × m2].pnum = m1 ↔ wlar[m1].status = used ∧ m1 < m ∧ apebs[m1].vidhdr.vol = (v × m2).vol ∧ apebs[m1].vidhdr.leb = (v × m2).leb, subarray(wlar[m, wl-entry(m0, stat)], 0, m + 1)[m1] = wl-entry(m6, stat0), recs[v × m2] = recovery-entry(m1, m4), subarray(apebs, 0, m + 1)[m1] = mkpeb(aehdr, avhdr, buf, m5, boolvar), m < # apebs, v × m2 ∈ recs ⊦ stat = used, stat0 = used ∧ ¬ m < m1 ∧ avhdr.vol = v ∧ avhdr.leb = m2 |
# wlar = # apebs, wlar[m1].status = used, subarray(wlar[m, wl-entry(m0, stat)], 0, m + 1)[m1] = wl-entry(m6, stat0), recs[apebs[m1].vidhdr.vol × apebs[m1].vidhdr.leb] = recovery-entry(m1, m4), subarray(apebs, 0, m + 1)[m1] = mkpeb(aehdr, avhdr, buf, m5, boolvar), m1 + 1 < # apebs, m < # apebs, m1 < m, m1 < # apebs, apebs[m1].vidhdr.vol × apebs[m1].vidhdr.leb ∈ recs ⊦ stat = used, stat0 = used ∧ avhdr.vol = apebs[m1].vidhdr.vol ∧ avhdr.leb = apebs[m1].vidhdr.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: ⊦ 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).pnum = m; (s)% ⊦ (v × m).leb = m; (s)% ⊦ (v × m).vol = v; (s)