| H[H[r].nxt].nxt = H[ce.nxt].nxt, path(H[H[r].nxt, ce][H[H[r].nxt, ce][ce.nxt].nxt].nxt ' + x1, H[H[r].nxt, ce]), H[H[r].nxt, ce][ce.nxt].nxt ∈ H[H[r].nxt, ce], ce.nxt ∈ H, H[r].nxt ∈ H, r ∈ H, ce.nxt ∈ H[H[r].nxt, ce] ⊦ H[H[r].nxt, ce][ce.nxt].nxt = null, (H[H[r].nxt, ce][H[H[r].nxt, ce][ce.nxt].nxt].nxt ' + x1).last = ce.nxt, r = null, ce.nxt ' + H[H[r].nxt, ce][ce.nxt].nxt ' + H[H[r].nxt, ce][H[H[r].nxt, ce][ce.nxt].nxt].nxt ' + x1 = [], r = H[r].nxt, ce.nxt = null, H[r].nxt = null, reachable(H[r].nxt, (H[H[r].nxt, ce][H[H[r].nxt, ce][ce.nxt].nxt].nxt ' + x1).last, H), reachable(H[r].nxt, ce.nxt, H), H[ce.nxt].nxt ≠ null ∧ H[ce.nxt].nxt ∈ H |
⊦ r ≠ r0 → H[r0, ce][r] = H[r]
Used simplifier rules: self-reachable: ⊦ reachable(r, r, H) ↔ ¬ ¬(r ≠ null ∧ r ∈ H);%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]%insin: ⊦ r ∈ H[r, ce]; from specification store[linheap] Used terms: ce.nxt, ce, H[r].nxt, H