| # apebs = # wlar, recs[v × m] = recovery-entry(n0, n1), valid-recs(subarray(apebs, 0, m0), subarray(wlar, 0, m0), recs), valid-wl(subarray(apebs, 0, m0), subarray(wlar, 0, m0)), v × m ∈ recs, m0 ≤ # apebs ⊦ valid-peb(v, m, apebs[n0]) |
# apebs = # wlar, recs[v × m] = recovery-entry(n0, n1), n0 < m0, n0 < # wlar, valid-recs(subarray(apebs, 0, m0), subarray(wlar, 0, m0), recs), valid-wl(subarray(apebs, 0, m0), subarray(wlar, 0, m0)), v × m ∈ recs, m0 ≤ # wlar ⊦ valid-peb(v, m, apebs[n0])
Used simplifier rules: lf-valid-recs-in-apebs: m0 ≤ # apebs ⊦ v × m ∈ recs ∧ recs[v × m] = recovery-entry(n0, n1) ∧ valid-recs(subarray(apebs, 0, m0), subarray(wlar, 0, m0), recs) → n0 < m0;%lf-01: ⊦ m < n ∧ n = n0 → m < n0; (forward) from specification nat-basic% ⊦ m < n → n ≠ 0; (s)%fle: ⊦ m < n ∧ n ≤ n0 → m < n0; (forward) from specification nat%f: ⊦ m < n → n ≠ 0; (forward) from specification nat-basic% ⊦ m ≤ n → (n < m ↔ false); (s)% ⊦ m ≤ n ↔ ¬ n < m; (ss)