| istore0[n] = indexblock(indx, lax, m), istore0 = remove-refsize0(istore0), n ∈ istore, n ∈ istore0, istore0 ⊑ istore ⊦ crash(istore, istore0)[n].ref-size = 0, indx ⊑ remove-refsize0(crash(istore, istore0))[n].indlist ∧ lax ⊑ remove-refsize0(crash(istore, istore0))[n].ladrlist ∧ # indx = # lax ∧ # remove-refsize0(crash(istore, istore0))[n].indlist = # remove-refsize0(crash(istore, istore0))[n].ladrlist |
istore0[n] = indexblock(indx, lax, m), remove-refsize0(crash(istore, istore0))[n] = indexblock(indx0, lax0, m0), istore0 = remove-refsize0(istore0), n ∈ istore0, n ∈ istore, istore0 ⊑ istore ⊦ crash(istore, istore0)[n].ref-size = 0, indx ⊑ indx0 ∧ lax ⊑ lax0 ∧ # indx = # lax ∧ # indx0 = # lax0
Used simplifier rules: ⊦ (indx = iblock.indlist ∧ lax = iblock.ladrlist) ∧ m = iblock.ref-size ↔ iblock = indexblock(indx, lax, m); (elim) Used terms: remove-refsize0(crash(istore, istore0))[n], indx0, lax0, m0