| m2 < # avols[v], ebm-cons(avols), ebm-cons(avols0), v ∈ avols, m1 + n ≤ LEB_SIZE, n0 + n ≤ # buf, avols ⊆ avols0 ⊦ ∃ buf0. # buf0 = # buf ∧ range=(buf0, 0, buf, 0, n0) ∧ range=(buf0, n0 + n, buf, n0 + n, # buf - n0 + n) ∧ ⟨buf := buf0⟩ true |
# buf = n1 + n0 + n, m2 < # avols[v], ebm-cons(avols0), ebm-cons(avols), v ∈ avols, n0 + n ≤ # buf, m1 + n ≤ LEB_SIZE, avols ⊆ avols0 ⊦ ∃ buf0. # buf0 = # buf ∧ range=(buf0, 0, buf, 0, n0) ∧ range=(buf0, n0 + n, buf, n0 + n, n1) ∧ ⟨buf := buf0⟩ true
Used simplifier rules: n ≤ m ⊦ n0 = m - n ↔ m = n0 + n; (elim) Used terms: # buf, n0 + n, n1