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