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