| # ndx = # gndx1, # lax = # gndx, # lax1 = # gndx1, gstore[n] = groupblock(gndx, lax, m), gstore[n, groupblock(gndx + gndx1, lax + lax1, m0)][@(n, m2, m3)] = mkgnode(nd, m4, boolvar, boolvar0), transaction(ndx, gndx1), @(m2, m3) ∈ lax1, n ∈ gstore ⊦ nd = ndx[pos(@(n, m2, m3), lax1.to-adr(n))], dups(lax), dups(lax + lax1), dups(lax1), n ∈ ginval |
⊦ ladr ∈ lax ↔ (∃ lax0, lax1. lax = lax0 + (ladr + lax1))
# lax1 = # gndx1, # lax = # gndx, # ndx = # gndx1, gstore[n, groupblock(gndx + gndx1, lax + lax1, m0)][@(n, m2, m3)] = mkgnode(nd, m4, boolvar, boolvar0), gstore[n] = groupblock(gndx, lax, m), transaction(ndx, gndx1), n ∈ gstore, ∃ lax0, lax2. lax1 = lax0 + (@(m2, m3) + lax2) ⊦ nd = ndx[pos(@(n, m2, m3), lax1.to-adr(n))], dups(lax1), dups(lax + lax1), dups(lax), n ∈ ginval
Used terms: lax1, @(m2, m3)