| gstore[m] = groupblock(gndx, lax, m2), @(m0, m1) ∈ lax, m ∈ gstore, @(m, m0, m1) ∈ nodes(gstore -- n, ginval ++ n) ⊦ (gstore -- n)[@(m, m0, m1)].nd = nodes(gstore, ginval)[@(m, m0, m1)], m = n, m ∈ ginval, @(m, m0, m1) ∈ dom nodes(gstore, ginval) | n |
gstore[m] = groupblock(gndx, lax, m2), m ∈ gstore, @(m0, m1) ∈ lax, @(m, m0, m1) ∈ gstore ⊦ gstore[@(m, m0, m1)].nd = nodes(gstore, ginval)[@(m, m0, m1)], m = n, @(m, m0, m1) ∈ dom nodes(gstore, ginval) | n, m ∈ ginval
Used simplifier rules: nodes-gstore-in: ⊦ adr ∈ nodes(gstore, ginval) ↔ ¬ ¬(adr ∈ gstore ∧ ¬ adr.lnum ∈ ginval);%⊦ n ≠ m ∧ @(m, m0, m1) ∈ gstore → (gstore -- n)[@(m, m0, m1)] = gstore[@(m, m0, m1)]; (s)% ⊦ adr ∈ gstore -- n ↔ adr ∈ gstore ∧ adr.lnum ≠ n; (ws)% ⊦ n ≠ n0 → (n ∈ ns ++ n0 ↔ n ∈ ns); (s)% ⊦ @(m, m0, m1).lnum = m; (s)