| reachable(r, r0, H[r, ce]) ⊦ r = r0 ∨ ce.nxt ≠ null ∧ ce.nxt ∈ H ∧ reachable(ce.nxt, r0, H[r, ce]), ce.nxt = r, r = null |
reachable(r, r0, H[r, ce]), r0 ∈ H ⊦ r = null, ce.nxt = r, r = r0, ce.nxt ≠ null ∧ ce.nxt ∈ H ∧ reachable(ce.nxt, r0, H[r, ce])
Used simplifier rules: reach-alloc: ⊦ reachable(r, r1, H) → r1 ∈ H;%in-neq: ⊦ r ≠ r0 → (r ∈ H[r0, ce] ↔ r ∈ H); from specification store[linheap]