| ⊦ ∀ adr. (adr ∈ nodes(gstore -- n, ginval ++ n) ↔ adr ∈ nodes(gstore, ginval) \ (dom nodes(gstore, ginval) | n)) ∧ (adr ∈ nodes(gstore -- n, ginval ++ n) → nodes(gstore -- n, ginval ++ n)[adr] = (nodes(gstore, ginval) \ (dom nodes(gstore, ginval) | n))[adr]) |
⊦ (adr ∈ gstore ∧ adr.lnum ≠ n ∧ ¬ adr.lnum ∈ ginval ↔ adr ∈ nodes(gstore, ginval) \ (dom nodes(gstore, ginval) | n)) ∧ ( adr ∈ gstore -- n ∧ adr.lnum ≠ n ∧ ¬ adr.lnum ∈ ginval → nodes(gstore -- n, ginval ++ n)[adr] = (nodes(gstore, ginval) \ (dom nodes(gstore, ginval) | n))[adr])
Used simplifier rules: nodes-gstore-in: ⊦ adr ∈ nodes(gstore, ginval) ↔ ¬ ¬(adr ∈ gstore ∧ ¬ adr.lnum ∈ ginval);% ⊦ adr ∈ gstore -- n ↔ adr ∈ gstore ∧ adr.lnum ≠ n; (ws)% ⊦ n ∈ ns ++ n0 ↔ n = n0 ∨ n ∈ ns; (s)