| dom gstore0 ∪ elems nx = dom gstore ∪ ginval, inv(gstore[n]), inv(gstore0), n ∈ gstore ⊦ n ∈ ginval, # crash(gstore, gstore0, ginval, nx)[n].gndlist = # crash(gstore, gstore0, ginval, nx)[n].ladrlist ∧ inv-flashsize(crash(gstore, gstore0, ginval, nx)[n].gndlist, crash(gstore, gstore0, ginval, nx)[n].ladrlist) ∧ ¬ dups(crash(gstore, gstore0, ginval, nx)[n].ladrlist) |
dom gstore0 ∪ elems nx = dom gstore ∪ ginval, inv(gstore0), inv(gstore[n]), n ∈ gstore ⊦ n ∈ ginval, inv-flashsize(crash(gstore, gstore0, ginval, nx)[n].gndlist, crash(gstore, gstore0, ginval, nx)[n].ladrlist) ∧ ¬ dups(crash(gstore, gstore0, ginval, nx)[n].ladrlist)
Used simplifier rules: ⊦ inv-flashsize(gndx, lax) → (# gndx = # lax ↔ true); (ss)