| dom gstore0 ∪ elems nx = dom gstore ∪ ginval, inv(gstore \ ginval), inv(gstore0) ⊦ ∀ n. n ∈ crash(gstore, gstore0, ginval, nx) \ ginval → inv((crash(gstore, gstore0, ginval, nx) \ ginval)[n]) |
dom gstore0 ∪ elems nx = dom gstore ∪ ginval, inv(gstore0), inv(gstore \ ginval), n ∈ gstore ⊦ inv(crash(gstore, gstore0, ginval, nx)[n]), n ∈ ginval
Used simplifier rules: crash-group-in: ⊦ n ∈ crash(gstore, gstore0, ginval, nx) ↔ n ∈ gstore ∨ n ∈ ginval;% ⊦ ¬ n ∈ ns → (gstore \ ns)[n] = gstore[n]; (s)% ⊦ n ∈ gstore \ ns ↔ n ∈ gstore ∧ ¬ n ∈ ns; (ws)