| ginval ∩ elems nx1 = ∅, inv(gstore \ ginval), ∀ ginval, gstore, gstore0, nx0. elems nx1 ∩ ginval = ∅ ∧ inv(gstore \ ginval) → abs-log(nx1, crash(gstore, gstore0, ginval, nx0) ↓) = abs-log(nx1, gstore ↓) ⊦ crash(gstore, gstore0, ginval, nx0) ↓[lnum].ladrlist.to-adr(lnum) + abs-log(nx1, crash(gstore, gstore0, ginval, nx0) ↓) = gstore ↓[lnum].ladrlist.to-adr(lnum) + abs-log(nx1, gstore ↓), lnum ∈ ginval |
crash(gstore, gstore0, ginval, nx0) ↓[lnum] = groupblock(gndx, lax, m), ginval ∩ elems nx1 = ∅, inv(gstore \ ginval), ∀ ginval, gstore, gstore0, nx0. elems nx1 ∩ ginval = ∅ ∧ inv(gstore \ ginval) → abs-log(nx1, crash(gstore, gstore0, ginval, nx0) ↓) = abs-log(nx1, gstore ↓) ⊦ lax.to-adr(lnum) + abs-log(nx1, crash(gstore, gstore0, ginval, nx0) ↓) = gstore ↓[lnum].ladrlist.to-adr(lnum) + abs-log(nx1, gstore ↓), lnum ∈ ginval
Used simplifier rules: ⊦ (gndx = gblock.gndlist ∧ lax = gblock.ladrlist) ∧ m = gblock.ref-size ↔ gblock = groupblock(gndx, lax, m); (elim) Used terms: crash(gstore, gstore0, ginval, nx0) ↓[lnum], gndx, lax, m