| gstore[m] = groupblock(gndx, lax, m2), remove-refsize0(gstore)[@(m, m0, m1)] = mkgnode(nd, m3, boolvar, boolvar0), dom remove-refsize0(gstore) ∩ ginval = ∅, @(m, m0, m1) ∈ remove-refsize0(gstore), @(m0, m1) ∈ lax, m ∈ gstore ⊦ m2 = 0, nd = nodes(gstore, ginval)[@(m, m0, m1)], @(m, m0, m1) ∈ gstore \ ginval ∧ (gstore \ ginval)[m].ref-size = 0 |
⊦ adr ∈ nodes(gstore, ginval) → nodes(gstore, ginval)[adr] = gstore[adr].nd
remove-refsize0(gstore)[@(m, m0, m1)] = mkgnode(nd, m3, boolvar, boolvar0), gstore[m] = groupblock(gndx, lax, m2), dom remove-refsize0(gstore) ∩ ginval = ∅, m ∈ gstore, @(m0, m1) ∈ lax, @(m, m0, m1) ∈ remove-refsize0(gstore) ⊦ m2 = 0, nd = nodes(gstore, ginval)[@(m, m0, m1)], @(m, m0, m1) ∈ nodes(gstore, ginval), @(m, m0, m1) ∈ gstore \ ginval ∧ (gstore \ ginval)[m].ref-size = 0
remove-refsize0(gstore)[@(m, m0, m1)] = mkgnode(nd, m3, boolvar, boolvar0), gstore[m] = groupblock(gndx, lax, m2), dom remove-refsize0(gstore) ∩ ginval = ∅, m ∈ gstore, @(m0, m1) ∈ lax, @(m, m0, m1) ∈ remove-refsize0(gstore), @(m, m0, m1) ∈ nodes(gstore, ginval) ⊦ m2 = 0, nd = gstore[@(m, m0, m1)].nd, @(m, m0, m1) ∈ gstore \ ginval ∧ (gstore \ ginval)[m].ref-size = 0
Used terms: @(m, m0, m1), ginval, gstore