| remove-refsize0(gstore0) = gstore0, elems nx ∩ ginval1 = ∅, dom gstore0 ∪ elems nx = dom gstore ∪ ginval1, inv(gstore \ ginval1), inv(gstore0), ri-inj(fi2), ri-inj(fi1), maxino2 ∈ gstore ⊦ crash(gstore, gstore0, ginval1, nx) = crash(gstore[maxino2, gstore[maxino2].ref-size:= n], gstore0, ginval1, nx), dups(nx) |
Used simplifier rules: group-block freely generated by groupblock;;% ⊦ groupblock(gndx, lax, m).ref-size:= m0 = groupblock(gndx, lax, m0); (s)%⊦ gstore[n] = groupblock(gndx, lax, m0) ∧ n ∈ gstore → crash(gstore[n, groupblock(gndx, lax, m2)], gstore1, ginval, nx) = crash(gstore, gstore1, ginval, nx); (s)