| istore[n] = indexblock(indx1, lax1, n0), lpt[n] = mklp(n0, m2, LP_INDEX_NODES, n4), n < # lpt, abs-leb(avol[n], indexblock(indx1, lax1, n0), mklp(n0, m2, LP_INDEX_NODES, n4)), n ∈ istore ⊦ avol[n].mapped? ∧ abs-nodes(avol[n].data, indx1, lax1, m2 = LEB_SIZE) ∧ (m2 ≠ LEB_SIZE → m2 = # avol[n].data) |
⊦ abs-leb(aleb, iblock, lp) ↔ aleb.mapped? ∧ abs-nodes(aleb.data, iblock.indlist, iblock.ladrlist, lp.size = LEB_SIZE) ∧ (lp.size ≠ LEB_SIZE → lp.size = # aleb.data)
Used simplifier rules: ⊦ indexblock(indx, lax, m).indlist = indx; (s)% ⊦ indexblock(indx, lax, m).ladrlist = lax; (s)% ⊦ mklp(n2, n3, lpf, m).size = n3; (s)% ⊦ aleb.mapped? ↔ (∃ buf. aleb = mapped(buf)); (as)% ⊦ aleb.mapped? ↔ aleb ≠ unmapped; (ss)%abs-nodes-elems-adr-length: ⊦ abs-nodes(buf, indx, lax, weak) → # indx = # lax; (forward) from specification abs-list[encoding-index-node]% ⊦ unmapped ≠ mapped(buf); (s) Used terms: mklp(n0, m2, LP_INDEX_NODES, n4), indexblock(indx1, lax1, n0), avol[n]