| (elems nx0 ∪ dom gstore0) ++ n = dom gstore ∪ ginval1, gstore[n] = groupblock(gndx0, lax0, m), remove-refsize0(gstore0) = gstore0, remove-refsize0(istore1) = istore1, ginval1 ∩ elems nx0 = ∅, gndx ≠ [], inv(gstore \ ginval1), inv(gstore0), inv(istore2), inv(istore1), inv(groupblock(gndx0, lax0, m)), n ∈ gstore, istore1 ⊑ istore2, ¬ dups(nx0), ¬ n ∈ nx0, ¬ n ∈ ginval1 ⊦ ⟨syn := ?⟩ ( syn ∧ crash(gstore, gstore0, ginval1, nx0 + n ') = crash(gstore[n, (gstore[n].gndlist:= gstore[n].gndlist).ladrlist:= gstore[n].ladrlist], gstore0, ginval1, nx0 + n ')) |
Used simplifier rules: ⊦ groupblock(gndx, lax, m).gndlist = gndx; (s)%⊦ groupblock(gndx, lax, m).gndlist:= gndx0 = groupblock(gndx0, lax, m); (s)% ⊦ groupblock(gndx, lax, m).ladrlist = lax; (s)%⊦ groupblock(gndx, lax, m).ladrlist:= lax0 = groupblock(gndx, lax0, m); (s)% ⊦ gstore[n] = gblock ∧ n ∈ gstore → gstore[n, gblock] = gstore; (s)