| ⊦ reachable(r, r0, h) ∧ h[r0].nxt ≠ null ∧ h[r0].nxt ∈ h ∧ ce.nxt = h[h[r0].nxt].nxt → ( reachable(r, h[r0].nxt, h[r0, ce]) ↔ h[h[r0].nxt].nxt = h[r0].nxt ∨ r ≠ r0 ∧ r = h[r0].nxt ∨ reachable(h[h[r0].nxt].nxt, h[r0].nxt, h) ∧ ¬ reachable(h[h[r0].nxt].nxt, r0, h) ∨ (∃ r1. reachable(r, r1, h) ∧ h[r1].nxt = h[r0].nxt ∧ ¬ reachable(r0, r1, h))) |