| # avol0 = # lpt, # lpt0 = # lpt, # avol1 = # lpt, istore0[n] = indexblock(indx1, lax2, m0), istore[n] = indexblock(indx0, lax0, m3), lpt[n] = mklp(m3, m5, LP_INDEX_NODES, m6), (∅)[n] = groupblock(gndx, lax1, m7), lpt0[n] = mklp(m0, m10, LP_INDEX_NODES, m2), dom istore ∩ elems nx = ∅, avol0[n].mapped?, n < # lpt, abs-nodes(avol0[n].data, indexblock(indx0, lax0, m3).indlist, indexblock(indx0, lax0, m3).ladrlist, mklp(m3, m5, LP_INDEX_NODES, m6).size = LEB_SIZE), synced(avol0), n ∈ istore, n ∈ istore0, istore0 ⊑ istore, avol0[n].mapped? → avol1[n] = mapped(avol0[n].data.align↓), ¬ avol0[n].mapped? ∧ avol1[n].mapped? → # avol1[n].data ≤ LEB_SIZE ∧ is-aligned(# avol1[n].data, EB_PAGE_SIZE), mklp(m3, m5, LP_INDEX_NODES, m6).size ≠ LEB_SIZE → mklp(m3, m5, LP_INDEX_NODES, m6).size = # avol0[n].data, ∀ n. n < # lpt ∧ lpt0[n].flags = LP_FREE → lpt0[n].ref-size = 0 ⊦ m0 = 0, abs-leb(avol1[n], indexblock(indx0, lax0, m0), mklp(m0, LEB_SIZE, LP_INDEX_NODES, m2)), n ∈ gstore0 |
# indx0 = # lax0, # avol0 = # lpt, # lpt0 = # lpt, # avol1 = # lpt, avol0[n] = mapped(buf), istore0[n] = indexblock(indx1, lax2, m0), istore[n] = indexblock(indx0, lax0, m3), lpt[n] = mklp(m3, m5, LP_INDEX_NODES, m6), (∅)[n] = groupblock(gndx, lax1, m7), lpt0[n] = mklp(m0, m10, LP_INDEX_NODES, m2), avol1[n] = mapped(buf.align↓), dom istore ∩ elems nx = ∅, n < # lpt, abs-nodes(buf, indx0, lax0, m5 = LEB_SIZE), synced(avol0), n ∈ istore, n ∈ istore0, istore0 ⊑ istore, m5 ≠ LEB_SIZE → m5 = # buf, ∀ n. n < # lpt ∧ lpt0[n].flags = LP_FREE → lpt0[n].ref-size = 0 ⊦ m0 = 0, abs-leb(mapped(buf.align↓), indexblock(indx0, lax0, m0), mklp(m0, LEB_SIZE, LP_INDEX_NODES, m2)), n ∈ gstore0
Used simplifier rules: ⊦ mapped(buf).mapped?; (s)% ⊦ mapped(buf).data = buf; (s)%abs-nodes-elems-adr-length: ⊦ abs-nodes(buf, indx, lax, weak) → # indx = # lax; (forward) from specification abs-list[encoding-index-node]% ⊦ aleb.mapped? ↔ (∃ buf. aleb = mapped(buf)); (as)% ⊦ mklp(n2, n3, lpf, m).size = n3; (s)% ⊦ indexblock(indx, lax, m).ladrlist = lax; (s)% ⊦ indexblock(indx, lax, m).indlist = indx; (s)