| x1 = [], 1 + # x1 = 3 + n0, reachable-1(H, r0, r4), reachable-1(H, r4, r5), reachable-n(H, n0, r5, (r0 ' + x1).last), path(r0 ' + x1, H), reachable-1(H, r, r0), reachable-1(H, r0, r2), reachable-1(H, r2, r3), reachable-n(H, n0, r3, (r0 ' + x1).last) ⊦ ∃ x. path(x, H) ∧ hd x = r ∧ x.last = (r0 ' + x1).last ∧ # x = 4 + n0 |
Used simplifier rules: add-num-03: n < n0 ⊦ (* n) ≠ m0 + (* n0); from specification nat%c: ⊦ m + n = n + m; from specification nat-basic2%a: ⊦ (m + n0) + n1 = m + n0 + n1; from specification nat-basic2%size-01: ⊦ # [] = 0; from specification list-data[reflist]