| 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) ⊦ x1 = [], ∃ x. path(x, H) ∧ hd x = r ∧ x.last = (r0 ' + x1).last ∧ # x = 4 + n0 |
1 + # x1 = 3 + n0, reachable-1(H, r0, r4), reachable-1(H, r4, r5), reachable-n(H, n0, r5, 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, x1.last) ⊦ x1 = [], ∃ x. path(x, H) ∧ hd x = r ∧ x.last = x1.last ∧ # x = 4 + n0
Used simplifier rules: a: ⊦ (x0 + x1) + x2 = x0 + x1 + x2; from specification list[reflist]%l-02: ⊦ x0 ≠ [] → (r ' + x0).last = x0.last; from specification list-last[reflist]