| @(m0, m1, m2) ∈ nodes(gstore, ginval), n ∈ gstore ⊦ (∅)[@(m0, m1, m2)] = nodes(gstore, ginval)[@(m0, m1, m2)], n = m0, @(m0, m1, m2) ∈ gstore[n, gblock] ∧ ¬ m0 ∈ ginval |
n ∈ gstore, @(m0, m1, m2) ∈ gstore ⊦ (∅)[@(m0, m1, m2)] = gstore[@(m0, m1, m2)].nd, n = m0, m0 ∈ ginval, @(m0, m1, m2) ∈ gstore[n, gblock]
Used simplifier rules: nodes-gstore-at: ⊦ adr ∈ nodes(gstore, ginval) → nodes(gstore, ginval)[adr] = gstore[adr].nd;%nodes-gstore-in: ⊦ adr ∈ nodes(gstore, ginval) ↔ ¬ ¬(adr ∈ gstore ∧ ¬ adr.lnum ∈ ginval);% ⊦ @(m, m0, m1).lnum = m; (s)