| gstore[nx.last] = groupblock(gndx0, lax0, m), remove-refsize0(gstore0) = gstore0, elems nx ∩ ginval1 = ∅, dom gstore0 ∪ elems nx = dom gstore ∪ ginval1, inv(groupblock(gndx0, lax0, m)), inv(gstore0), inv(gstore \ ginval1), ri-inj(fi1), ri-inj(fi2), nx.last ∈ gstore ⊦ ⟨gstore2 := gstore[nx.last, gstore[nx.last].gndlist:= gndx0]; gstore2[nx.last].ladrlist := gstore2[nx.last].ladrlist; if ESUCCESS ≠ ESUCCESS then ax := ?; syn := ?⟩ (syn ∧ crash(gstore, gstore0, ginval1, nx) = crash(gstore2, gstore0, ginval1, nx)), nx = [], dups(nx) |
gstore[nx.last] = groupblock(gndx0, lax0, m), remove-refsize0(gstore0) = gstore0, elems nx ∩ ginval1 = ∅, dom gstore0 ∪ elems nx = dom gstore ∪ ginval1, inv(gstore \ ginval1), inv(gstore0), inv(groupblock(gndx0, lax0, m)), ri-inj(fi2), ri-inj(fi1), nx.last ∈ gstore ⊦ ⟨gstore2 := gstore[nx.last, gstore[nx.last].gndlist:= gndx0] [nx.last, gstore[nx.last, gstore[nx.last].gndlist:= gndx0][nx.last].ladrlist:= gstore[nx.last, gstore[nx.last].gndlist:= gndx0][nx.last].ladrlist ]; if ESUCCESS ≠ ESUCCESS then ax := ?; syn := ?⟩ (syn ∧ crash(gstore, gstore0, ginval1, nx) = crash(gstore2, gstore0, ginval1, nx)), nx = [], dups(nx)