| gstore[n] = groupblock(gndx, lax, m0), lpt[n] = mklp(m0, m4, LP_GROUP_NODES, m2), n < # avol, n < # lpt, abs-leb(avol[n], groupblock(gndx, lax, m0), mklp(m0, m4, LP_GROUP_NODES, m2)), n ∈ gstore ⊦ n ∈ ginval, avol[n].mapped? ∧ abs-nodes(avol[n].data, gndx, lax, true) |
⊦ abs-leb(aleb, gblock, lp) ↔ aleb.mapped? ∧ abs-nodes(aleb.data, gblock.gndlist, gblock.ladrlist, lp.size = LEB_SIZE) ∧ (lp.size ≠ LEB_SIZE → lp.size = # aleb.data)
Used simplifier rules: ⊦ groupblock(gndx, lax, m).gndlist = gndx; (s)% ⊦ groupblock(gndx, lax, m).ladrlist = lax; (s)% ⊦ mklp(n2, n3, lpf, m).size = n3; (s)% ⊦ aleb.mapped? ↔ (∃ buf. aleb = mapped(buf)); (as)%abs-nodes-elems-adr-length: ⊦ abs-nodes(buf, gndx, lax, weak) → # gndx = # lax; (forward) from specification abs-list[encoding-group-node]% ⊦ mapped(buf).data = buf; (s)% ⊦ mapped(buf).mapped?; (s)%⊦ abs-nodes(buf, gndx, lax0, true) → (abs-nodes(buf, gndx0, lax1, true) ↔ gndx = gndx0 ∧ lax0 = lax1); (s)% ⊦ abs-nodes(buf, gndx, lax, false) → abs-nodes(buf, gndx, lax, true); (ss) Used terms: mklp(m0, m4, LP_GROUP_NODES, m2), groupblock(gndx, lax, m0), avol[n]