| adr = @(m1, m2, m3) ⊦ m ∈ gstore, (adr ∈ gstore[m, groupblock([], [], m0)] ∧ (m1 = m ∨ ¬ m1 ∈ ginval) → adr ∈ gstore ∧ ¬ m1 ∈ ginval) ∧ ( adr ∈ gstore[m, groupblock([], [], m0)] ∧ (m1 = m ∨ ¬ m1 ∈ ginval) → nodes(gstore[m, groupblock([], [], m0)], ginval -- m)[adr] = nodes(gstore, ginval)[adr]) |
⊦ m ∈ gstore, (@(m1, m2, m3) ∈ gstore[m, groupblock([], [], m0)] ∧ (m1 = m ∨ ¬ m1 ∈ ginval) → @(m1, m2, m3) ∈ gstore ∧ ¬ m1 ∈ ginval) ∧ ( @(m1, m2, m3) ∈ gstore[m, groupblock([], [], m0)] ∧ (m1 = m ∨ ¬ m1 ∈ ginval) → nodes(gstore[m, groupblock([], [], m0)], ginval -- m)[@(m1, m2, m3)] = nodes(gstore, ginval)[@(m1, m2, m3)])