| avols[v][m2].mapped?, n1 < n, m2 < # avols[v], # avols[v][m2].data < m1, # avols[v][m2].data < LEB_SIZE, ebm-cons(avols), is-aligned(n1, EB_PAGE_SIZE), is-aligned(m1, EB_PAGE_SIZE), is-aligned(n, EB_PAGE_SIZE), v ∈ avols, avols[v][m2].fill ≤ m1, m1 + n ≤ LEB_SIZE, n + n2 ≤ # buf, m1 ≤ LEB_SIZE, n1 + m1 ≤ LEB_SIZE, n2 + n1 ≤ # buf, avols[v][m2].fill ≤ LEB_SIZE, ⌊err0⌋ ⊦ n1 = 0 |
Used simplifier rules: ⊦ v ∈ avols ∧ m < # avols[v] ∧ avols[v][m] = mapped(buf, n) ∧ ebm-cons(avols) → # buf = LEB_SIZE; (s)% ⊦ m ≤ n → (n < m ↔ false); (s)%⊦ leb.mapped? → (buf = leb.data ∧ m = leb.fill ↔ leb = mapped(buf, m)); (elim) Used terms: avols[v][m2], buf0, m