| reachable(r, r0, H[r, ce]) ⊦ ce.nxt = r, r = null, r = r0, ce.nxt ≠ null ∧ ce.nxt ∈ H ∧ reachable(ce.nxt, r0, H[r, ce]) |
reachable(r, r0, H[r, ce]), r0 ∈ H ⊦ ce.nxt = r, r = null, 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;% ⊦ r ≠ r0 → (r ∈ H[r0, ce] ↔ r ∈ H); (s)