| reachable-n(H, n0, H[r].nxt, r0), r ∈ H, H[r].nxt ∈ H, reachable-n(H, n0, H[r].nxt, r0) ∧ H[r].nxt ∈ H → n0 = 0 ∨ H[r].nxt = null ∨ (∃ x. path(H[r].nxt ' + x, H) ∧ (H[r].nxt ' + x).last = r0) ⊦ H[r].nxt = null, r = null, ∃ x. path(r ' + x, H) ∧ (r ' + x).last = r0 |
reachable-n(H, n0, H[r].nxt, r0), H[r].nxt ∈ H, r ∈ H, n0 = 0 ∨ path(H[r].nxt ' + x, H) ∧ (H[r].nxt ' + x).last = r0 ⊦ H[r].nxt = null, r = null, ∃ x. path(r ' + x, H) ∧ (r ' + x).last = r0