| # ax2 = # gndx2, adr1 ' + ax2 = lax0.to-adr(lnum), # lax1 + # lax0 = # gndx0 + # gndx2 + 1, gstore2[lnum] = groupblock(gndx0 + mkgnode(nd, m0, boolvar, boolvar0) ' + gndx2, lax1 + lax0, m), inv(gstore2 \ ginval), inv(groupblock(gndx0 + mkgnode(nd, m0, boolvar, boolvar0) ' + gndx2, lax1 + lax0, m)), ri-cons(ri, nodes(gstore2 ↓, ginval)), lnum ∈ gstore2, adr1 ∈ ri, adr1 ∈ lax0.to-adr(lnum) ⊦ lnum ∈ ginval, nd.key ∈ ri |
⊦ lax.to-adr(n) = ax0 + ax1 ↔ (∃ lax0, lax1. lax = lax0 + lax1 ∧ ax0 = lax0.to-adr(n) ∧ ax1 = lax1.to-adr(n))
# ax2 = # gndx2, # lax1 + # lax0 = # gndx0 + # gndx2 + 1, gstore2[lnum] = groupblock(gndx0 + mkgnode(nd, m0, boolvar, boolvar0) ' + gndx2, lax1 + lax0, m), inv(groupblock(gndx0 + mkgnode(nd, m0, boolvar, boolvar0) ' + gndx2, lax1 + lax0, m)), inv(gstore2 \ ginval), ri-cons(ri, nodes(gstore2 ↓, ginval)), adr1 ∈ lax0.to-adr(lnum), adr1 ∈ ri, lnum ∈ gstore2, ∃ lax2, lax1. lax0 = lax2 + lax1 ∧ adr1 ' = lax2.to-adr(lnum) ∧ ax2 = lax1.to-adr(lnum) ⊦ nd.key ∈ ri, lnum ∈ ginval
Used terms: lnum, lax0, ax2, adr1 '