| gstore[m] = groupblock(gndx, lax, m2), dom remove-refsize0(gstore) ∩ ginval = ∅, @(m0, m1) ∈ lax, m ∈ gstore ⊦ nodes(remove-refsize0(gstore), ∅)[@(m, m0, m1)] = (nodes(gstore, ginval) \ refsize0-addresses(gstore \ ginval))[@(m, m0, m1)], m2 = 0, @(m, m0, m1) ∈ nodes(remove-refsize0(gstore), ∅) |
gstore[m] = groupblock(gndx, lax, m2), dom remove-refsize0(gstore) ∩ ginval = ∅, m ∈ gstore, @(m0, m1) ∈ lax ⊦ (∅)[@(m, m0, m1)] = (nodes(gstore, ginval) \ refsize0-addresses(gstore \ ginval))[@(m, m0, m1)], m2 = 0, @(m, m0, m1) ∈ remove-refsize0(gstore)
Used simplifier rules: nodes-gstore-in: ⊦ adr ∈ nodes(gstore, ginval) ↔ ¬ ¬(adr ∈ gstore ∧ ¬ adr.lnum ∈ ginval);% ⊦ ¬ n ∈ ∅; (s)% ⊦ @(m, m0, m1).lnum = m; (s)% ⊦ ¬ adr ∈ fs → fs[adr] = (∅)[adr]; (s)