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