| H[H[r].nxt].nxt = H[ce.nxt].nxt, ce.nxt ∈ H[H[r].nxt, ce], r ∈ H, H[r].nxt ∈ H, ce.nxt ∈ H, H[H[r].nxt, ce][ce.nxt].nxt ∈ H[H[r].nxt, ce] ⊦ H[r].nxt = null, ce.nxt = null, r = H[r].nxt, ce.nxt ' + H[H[r].nxt, ce][ce.nxt].nxt ' = [], r = null, H[H[r].nxt, ce][ce.nxt].nxt = ce.nxt, H[H[r].nxt, ce][ce.nxt].nxt = null, reachable(H[r].nxt, ce.nxt, H), reachable(H[r].nxt, H[H[r].nxt, ce][ce.nxt].nxt, H), H[ce.nxt].nxt ≠ null ∧ H[ce.nxt].nxt ∈ H |
⊦ r ≠ r0 → H[r0, ce][r] = H[r]
Used simplifier rules: In-insert: ⊦ r ∈ H[r0, ce] ↔ r = r0 ∨ r ∈ H; from specification store[linheap]%k-At-same: ⊦ r = r0 → H[r0, ce][r] = ce; from specification store[linheap] Used terms: ce.nxt, ce, H[r].nxt, H