| # lpt = # avol, m2 < # avol, awbuf-inv(avol, bleb), synced(avol0), synced(avol), avol0 ↓ avol ⊦ buffered(m2) = bleb, # avol0 = # avol[m2, unmapped] ∧ (∀ n. n < # avol[m2, unmapped] → avol0[n] ↓ avol[m2, unmapped][n]) |
# lpt = # avol, n < # avol, m2 < # avol, awbuf-inv(avol, bleb), synced(avol0), synced(avol), avol0 ↓ avol ⊦ buffered(m2) = bleb, avol0[n] ↓ avol[m2, unmapped][n]
Used simplifier rules: lf-01: ⊦ m < n ∧ n = n0 → m < n0; (forward) from specification nat-basic% ⊦ avol1 ↓ avol0 → (# avol1 = # avol0 ↔ true); (ss)% ⊦ # avol[n, aleb] = # avol; (s)