| ⊦ reachable-1(H, r, r0) ↔ (∃ x. path(x, H) ∧ hd x = r ∧ x.last = r0 ∧ # x = 2) |
⊦ reachable-1(H, r, r0) ↔ r ≠ null ∧ r0 ≠ null ∧ r ∈ H ∧ r0 ∈ H ∧ H[r].nxt = r0
⊦ r ≠ null ∧ r0 ≠ null ∧ r ∈ H ∧ r0 ∈ H ∧ H[r].nxt = r0 ↔ (∃ x. path(x, H) ∧ hd x = r ∧ x.last = r0 ∧ # x = 2)
Used terms: r0, r, H