| gstore[@(m, m0, m1)] = mkgnode(nd0, m4, boolvar1, boolvar2), gstore[m] = groupblock(gndx, lax, m2), remove-refsize0(gstore)[m].gndlist[pos(@(m0, m1), remove-refsize0(gstore)[m].ladrlist)] = mkgnode(nd, m3, boolvar, boolvar0), 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 |
gndx0[pos(@(m0, m1), lax0)] = mkgnode(nd, m3, boolvar, boolvar0), gstore[m] = groupblock(gndx, lax, m2), gstore[@(m, m0, m1)] = mkgnode(nd0, m4, boolvar1, boolvar2), remove-refsize0(gstore)[m] = groupblock(gndx0, lax0, m5), 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 simplifier rules: ⊦ (gndx = gblock.gndlist ∧ lax = gblock.ladrlist) ∧ m = gblock.ref-size ↔ gblock = groupblock(gndx, lax, m); (elim) Used terms: remove-refsize0(gstore)[m], gndx0, lax0, m5