| 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 |
remove-refsize0(crash(istore, istore0))[n] = indexblock(indx0, lax0, m0), istore0[n] = indexblock(indx, lax, m), crash(istore, istore0)[n] = indexblock(indx1, lax1, m1), istore0 = remove-refsize0(istore0), n ∈ istore, n ∈ istore0, istore0 ⊑ istore ⊦ m1 = 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: crash(istore, istore0)[n], indx1, lax1, m1