| reachable(r, r0, H) ⊦ r = r0, ∃ r1. reachable(r, r1, H) ∧ H[r1].nxt = r0 ∧ H[r1].nxt ∈ H ∧ H[r1].nxt ≠ null |
reachable(r, r0, H), r0 ∈ H ⊦ r = r0, ∃ r1. reachable(r, r1, H) ∧ H[r1].nxt = r0 ∧ H[r1].nxt ≠ null
Used simplifier rules: reachable-notnullinH: ⊦ reachable(r, r1, H) → (r1 ∈ H ↔ true);%reach-alloc: ⊦ reachable(r, r1, H) → r1 ∈ H;