| reachable-n(H, n0, H[r].nxt, r0), H[r].nxt ∈ H, r ∈ H, ∀ H, r, r0. reachable-n(H, n0, r, r0) ∧ r ∈ H → n0 = 0 ∨ r = null ∨ (∃ x. path(r ' + x, H) ∧ (r ' + 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), 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
Used terms: H, H[r].nxt, r0