| inv(gstore \ ginval) ⊦ ∀ adr. (adr ∈ nodes(crash(gstore, gstore0, ginval, nx) ↓, ginval) ↔ adr ∈ nodes(gstore ↓, ginval)) ∧ ( adr ∈ nodes(crash(gstore, gstore0, ginval, nx) ↓, ginval) → nodes(crash(gstore, gstore0, ginval, nx) ↓, ginval)[adr] = nodes(gstore ↓, ginval)[adr]) |
inv(gstore \ ginval) ⊦ (¬ adr.lnum ∈ ginval → (adr ∈ crash(gstore, gstore0, ginval, nx) ↓ ↔ adr ∈ gstore ↓)) ∧ ( adr ∈ crash(gstore, gstore0, ginval, nx) ↓ ∧ ¬ adr.lnum ∈ ginval → nodes(crash(gstore, gstore0, ginval, nx) ↓, ginval)[adr] = nodes(gstore ↓, ginval)[adr])
Used simplifier rules: nodes-gstore-in: ⊦ adr ∈ nodes(gstore, ginval) ↔ ¬ ¬(adr ∈ gstore ∧ ¬ adr.lnum ∈ ginval);