| gstore[m1] = groupblock(gndx0, lax0, m5), @(m2, m3) ∈ lax0, m1 ∈ gstore ⊦ nodes(gstore[m, groupblock([], [], m0)], ginval -- m)[@(m1, m2, m3)] = nodes(gstore, ginval)[@(m1, m2, m3)], m1 ∈ ginval, m ∈ gstore, @(m1, m2, m3) ∈ nodes(gstore[m, groupblock([], [], m0)], ginval -- m) |
gstore[m1] = groupblock(gndx0, lax0, m5), m1 ∈ gstore, @(m2, m3) ∈ lax0 ⊦ (∅)[@(m1, m2, m3)] = nodes(gstore, ginval)[@(m1, m2, m3)], m ∈ gstore, m1 ∈ ginval, @(m1, m2, m3) ∈ gstore[m, groupblock([], [], m0)]
Used simplifier rules: nodes-gstore-in: ⊦ adr ∈ nodes(gstore, ginval) ↔ ¬ ¬(adr ∈ gstore ∧ ¬ adr.lnum ∈ ginval);% ⊦ n ∈ ns -- n0 ↔ n ≠ n0 ∧ n ∈ ns; (s)% ⊦ @(m, m0, m1).lnum = m; (s)% ⊦ ¬ adr ∈ fs → fs[adr] = (∅)[adr]; (s)