| crash(gstore, gstore0, ginval, nx)[n] = groupblock(gndx, lax, m), dom gstore0 ∪ elems nx = dom gstore ∪ ginval, inv(gstore[n]), inv(gstore0), n ∈ gstore ⊦ n ∈ ginval, inv-flashsize(gndx, lax) ∧ ¬ dups(lax) |
⊦ n ∈ crash(gstore, gstore0, ginval, nx) → crash(gstore, gstore0, ginval, nx)[n] = (n ∈ nx ∨ ¬ n ∈ ginval ⊃ groupblock(gstore[n].gndlist, gstore[n].ladrlist, (n ∈ gstore0 ⊃ gstore0[n].ref-size;0));gstore0[n])
(n ∈ nx ∨ ¬ n ∈ ginval ⊃ groupblock(gstore[n].gndlist, gstore[n].ladrlist, (n ∈ gstore0 ⊃ gstore0[n].ref-size;0));gstore0[n]) = groupblock(gndx, lax, m), dom gstore0 ∪ elems nx = dom gstore ∪ ginval, inv(gstore0), inv(gstore[n]), n ∈ gstore, n ∈ crash(gstore, gstore0, ginval, nx) ⊦ n ∈ ginval, inv-flashsize(gndx, lax) ∧ ¬ dups(lax)
Used simplifier rules: crash-group-in: ⊦ n ∈ crash(gstore, gstore0, ginval, nx) ↔ n ∈ gstore ∨ n ∈ ginval;% ⊦ ¬ n ∈ gstore → gstore[n] = (∅)[n]; (s) Used terms: n, nx, ginval, gstore0, gstore