| gstore[m] = groupblock(gndx, lax, m2), remove-refsize0(gstore)[@(m, m0, m1)] = mkgnode(nd, m3, boolvar, boolvar0), gstore[@(m, m0, m1)] = mkgnode(nd0, m4, boolvar1, boolvar2), dom remove-refsize0(gstore) ∩ ginval = ∅, @(m, m0, m1) ∈ remove-refsize0(gstore), @(m0, m1) ∈ lax, m ∈ gstore, @(m, m0, m1) ∈ gstore ⊦ m2 = 0, nd = nd0, m ∈ ginval |
⊦ adr ∈ gstore → gstore[adr] = gstore[adr.lnum].gndlist[pos(@(adr.pos, adr.size), gstore[adr.lnum].ladrlist)]
gstore[@(m, m0, m1)] = mkgnode(nd0, m4, boolvar1, boolvar2), remove-refsize0(gstore)[@(m, m0, m1).lnum].gndlist[pos(@(@(m, m0, m1).pos, @(m, m0, m1).size), remove-refsize0(gstore)[@(m, m0, m1).lnum].ladrlist)] = mkgnode(nd, m3, boolvar, boolvar0), gstore[m] = groupblock(gndx, lax, m2), dom remove-refsize0(gstore) ∩ ginval = ∅, @(m, m0, m1) ∈ gstore, m ∈ gstore, @(m0, m1) ∈ lax, @(m, m0, m1) ∈ remove-refsize0(gstore) ⊦ m2 = 0, nd = nd0, m ∈ ginval
Used terms: @(m, m0, m1), remove-refsize0(gstore)