| # avol0 = # avol1, # lpt0 = # avol1, # buf2 = EB_PAGE_SIZE, avol1[m2] = mapped(buf1), avol0[m] = mapped(buf), m4 < EB_PAGE_SIZE, m0 + n < # avol0[m2].data, LEB_SIZE < # avol0[m2].data, m2 < # avol1, m < # avol1, abs(avol1, buffered(m), mkwbuf(buf2, m6, m4), avol0, rofs), awbuf-inv(avol1, buffered(m)), ebm-vol-inv(avol0), is-aligned(m6, EB_PAGE_SIZE), m0 + n ≤ # avol0[m2].data + (LEB_SIZE - # avol0[m2].data), n ≤ # buf3, m0 + n ≤ LEB_SIZE, ¬ rofs → # buf = m6, rofs → m6 ≤ # buf ⊦ |
# buf2 = EB_PAGE_SIZE, # lpt0 = # avol1, # avol0 = # avol1, avol0[m] = mapped(buf), avol1[m2] = mapped(buf1), m < # avol1, m2 < # avol1, LEB_SIZE < # avol0[m2].data, m0 + n < # avol0[m2].data, m4 < EB_PAGE_SIZE, abs(avol1, buffered(m), mkwbuf(buf2, m6, m4), avol0, rofs), awbuf-inv(avol1, buffered(m)), ebm-vol-inv(avol0), is-aligned(m6, EB_PAGE_SIZE), m0 + n ≤ LEB_SIZE, n ≤ # buf3, m0 + n ≤ # avol0[m2].data + (LEB_SIZE - # avol0[m2].data), m6 ≤ # buf, rofs → m6 ≤ # buf, ¬ rofs → # buf = m6 ⊦
Used simplifier rules: ⊦ m ≤ n ↔ ¬ n < m; (ss)% ⊦ m < n → (n ≤ m ↔ false); (s)%f: ⊦ m < n → n ≠ 0; (forward) from specification nat-basic%lf-02: ⊦ m < n ∧ m = n0 → n0 < n; (forward) from specification nat-basic%lf-01: ⊦ m < n ∧ n = n0 → m < n0; (forward) from specification nat-basic% ⊦ m < n → n ≠ 0; (s)% ⊦ m < n → ¬ n < m; (s) Used formulas: m6 ≤ # buf