| # avol0 = # lpt, # lpt0 = # 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), indexblock(istore[n].indlist, istore[n].ladrlist, istore0[n].ref-size) = indexblock(indx, lax, m), dom istore ∩ elems nx = ∅, n < # lpt, abs-leb(avol0[n], indexblock(indx0, lax0, m3), mklp(m3, m5, LP_INDEX_NODES, m6)), synced(avol0), avol1 ↓ avol0, n ∈ istore, n ∈ istore0, istore0 ⊑ istore, ∀ n. n < # lpt ∧ lpt0[n].flags = LP_FREE → lpt0[n].ref-size = 0 ⊦ m = 0, m0 = 0, n ∈ gstore0, abs-leb(avol1[n], indexblock(indx, lax, m), mklp(m, LEB_SIZE, LP_INDEX_NODES, m2)) ∧ m0 = m |
# avol0 = # lpt, # lpt0 = # 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 = ∅, n < # lpt, abs-leb(avol0[n], indexblock(indx0, lax0, m3), mklp(m3, m5, LP_INDEX_NODES, m6)), synced(avol0), avol1 ↓ avol0, n ∈ istore, n ∈ istore0, istore0 ⊑ istore, ∀ 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
Used simplifier rules: ⊦ indexblock(indx, lax, m).ladrlist = lax; (s)% ⊦ indexblock(indx, lax, m).indlist = indx; (s)% ⊦ indexblock(indx, lax, m).ref-size = m; (s)%⊦ indexblock(indx, lax, m) = indexblock(indx0, lax0, m0) ↔ indx = indx0 ∧ lax = lax0 ∧ m = m0; (ws)