| reachable-n(H, n, r, r1), reachable-1(H, r1, H[r1].nxt), reachable-1(H, H[r1].nxt, r0) ⊦ reachable-n(H, (n + 1) + 1, r, r0), reachable-n(H, n + 2, r, r0), reachable-n(H, n + 1, r, H[r1].nxt) |
⊦ reachable-n(H, n + 1, r, r0) ↔ (∃ r1. reachable-n(H, n, r, r1) ∧ reachable-1(H, r1, r0))
reachable-n(H, n, r, r1), reachable-1(H, r1, H[r1].nxt), reachable-1(H, H[r1].nxt, r0) ⊦ reachable-n(H, (n + 1) + 1, r, r0), reachable-n(H, n + 2, r, r0), ∃ r2. reachable-n(H, n, r, r2) ∧ reachable-1(H, r2, H[r1].nxt)
Used terms: H[r1].nxt, r, n, H