| gstore[m] = groupblock(gndx0, lax0, m5), gstore[@(m, m0, m1)] = mkgnode(nd0, m4, boolvar1, boolvar2), gstore[m] = groupblock(gndx, lax, m2), gndx0[pos(@(m0, m1), lax0)] = mkgnode(nd, m3, boolvar, boolvar0), dom remove-refsize0(gstore) ∩ ginval = ∅, @(m, m0, m1) ∈ remove-refsize0(gstore), @(m0, m1) ∈ lax, @(m, m0, m1) ∈ gstore, m ∈ gstore ⊦ gstore[m].ref-size = 0, m2 = 0, nd = nd0, m ∈ ginval |
gstore[@(m, m0, m1)] = mkgnode(nd0, m4, boolvar1, boolvar2), gstore[m] = groupblock(gndx, lax, m2), gndx[pos(@(m0, m1), lax)] = mkgnode(nd, m3, boolvar, boolvar0), dom remove-refsize0(gstore) ∩ ginval = ∅, m ∈ gstore, @(m, m0, m1) ∈ gstore, @(m0, m1) ∈ lax, @(m, m0, m1) ∈ remove-refsize0(gstore) ⊦ m2 = 0, nd = nd0, m ∈ ginval
Used simplifier rules: ⊦ groupblock(gndx, lax, m).ref-size = m; (s)%⊦ groupblock(gndx, lax, m) = groupblock(gndx0, lax0, m0) ↔ gndx = gndx0 ∧ lax = lax0 ∧ m = m0; (ws)