| reachable(r, r0, h), (h(r0)).nxt ≠ null, (h(r0)).nxt ∈ h, (h(r0)).nxt ≠ (h((h(r0)).nxt)).nxt, 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 ∨ (∃ x. path(r ' + x + (h(r0)).nxt ', h) ∧ r0 ≠ r ∧ ¬ r0 ∈ x) ∨ (∃ x. path((h(r0)).nxt ' + x + (h(r0)).nxt ', h) ∧ ¬ r0 ∈ x) |