| remove-refsize0(gstore1) = gstore1, elems nx ∩ ginval2 = ∅, dom gstore1 ∪ elems nx = dom gstore2 ∪ ginval2, inv(gstore1), inv(gstore2 \ ginval2), ri-inj(fi1), ri-inj(fi2), ⌊err0⌋ ∨ err0 = ESUCCESS ⊦ ⟪if err0 = ESUCCESS then syn := true else syn := ?⟫ true, dups(nx) |
err0 = ESUCCESS, remove-refsize0(gstore1) = gstore1, elems nx ∩ ginval2 = ∅, dom gstore1 ∪ elems nx = dom gstore2 ∪ ginval2, inv(gstore2 \ ginval2), inv(gstore1), ri-inj(fi2), ri-inj(fi1), ⌊err0⌋ ∨ err0 = ESUCCESS ⊦ ⟪syn := true⟫ true, dups(nx)
remove-refsize0(gstore1) = gstore1, elems nx ∩ ginval2 = ∅, dom gstore1 ∪ elems nx = dom gstore2 ∪ ginval2, inv(gstore2 \ ginval2), inv(gstore1), ri-inj(fi2), ri-inj(fi1), ⌊err0⌋ ∨ err0 = ESUCCESS ⊦ ⟪syn := ?⟫ true, err0 = ESUCCESS, dups(nx)