| reachable-n(H, n, H[r].nxt, x0.last), path(H[r].nxt ' + x0, H), r ∈ H ⊦ x0 = [], r = null, reachable-n(H, n +1, r, x0.last) |
reachable-n(H, n, H[r].nxt, x0.last), path(H[r].nxt ' + x0, H), r ∈ H ⊦ x0 = [], r = null, ∃ r1. reachable-1(H, r, r1) ∧ reachable-n(H, n, r1, x0.last)
Used simplifier rules: reachable-n-rec: ⊦ reachable-n(H, n + 1, r, r0) ↔ (∃ r1. reachable-1(H, r, r1) ∧ reachable-n(H, n, r1, r0));%c: ⊦ m + n = n + m; from specification nat-basic2%a: ⊦ (m + n0) + n1 = m + n0 + n1; from specification nat-basic2%succ: ⊦ m +1 = m + 1; from specification nat-basic2