| ⊦ reachable(r0, H[r0].nxt, H) ↔ r0 ≠ null ∧ r0 ∈ H ∧ H[r0].nxt ∈ H ∧ H[r0].nxt ≠ null |
⊦ reachable(r, r0, H) ↔ (∃ x. path(r ' + x, H) ∧ (r ' + x).last = r0)
⊦ (∃ x. path(r0 ' + x, H) ∧ (r0 ' + x).last = H[r0].nxt) ↔ r0 ≠ null ∧ r0 ∈ H ∧ H[r0].nxt ∈ H ∧ H[r0].nxt ≠ null
Used terms: H, H[r0].nxt, r0