| # ax = # ndx, n0 < # ndx, ∀ n. n < # ndx → ax[n] ∈ gstore ∧ ¬ ax[n].lnum ∈ ginval ∧ gstore[ax[n]].nd = ndx[n] ⊦ ndx = [], ax[n0] ∈ gstore[n, groupblock(gstore[n].gndlist, gstore[n].ladrlist, m)] ∧ ¬ ax[n0].lnum ∈ ginval ∧ gstore[n, groupblock(gstore[n].gndlist, gstore[n].ladrlist, m)][ax[n0]].nd = ndx[n0] |
# ax = # ndx, ax[n0] = @(m0, m1, m2), n0 < # ndx, ∀ n. n < # ndx → ax[n] ∈ gstore ∧ ¬ ax[n].lnum ∈ ginval ∧ gstore[ax[n]].nd = ndx[n] ⊦ ndx = [], ax[n0] ∈ gstore[n, groupblock(gstore[n].gndlist, gstore[n].ladrlist, m)] ∧ ¬ m0 ∈ ginval ∧ gstore[n, groupblock(gstore[n].gndlist, gstore[n].ladrlist, m)][ax[n0]].nd = ndx[n0]
Used simplifier rules: ⊦ (m = adr.lnum ∧ m0 = adr.pos) ∧ m1 = adr.size ↔ adr = @(m, m0, m1); (elim) Used terms: ax[n0], m0, m1, m2