| ce.nxt = H[r1].nxt, reachable(r, r0, H[r1, ce]), r1 ∈ H, r0 ∈ H[r1, ce] ⊦ reachable(r, r0, H) |
⊦ reachable(r, r0, H) ∧ ce.nxt = H[r1].nxt → (¬ reachable(r, r0, H[r1, ce]) ↔ false)
Used simplifier rules: At-same: ⊦ H[r, ce][r] = ce; from specification store[linheap]%insins: ⊦ H[r, ce][r, ce0] = H[r, ce0]; from specification store[linheap]%ins-same-01: ⊦ r ∈ H → H[r, H[r]] = H; from specification store[linheap] Used terms: r, r0, H[r1, ce], H[r1], r1