| (r ' + x1)[m] = r, path(r ' + x1, H), m ≤ # x1, ¬ path(firstn(m, x1) .last ' + firstn(m, x1), H) ∨ firstn(m, x1) .last ≠ r ⊦ x1 = [], m = 0, reachable-n(H, m, r, r) |
⊦ m ≠ 0 ∧ m ≤ # x0 → firstn(m, x0) .last = x0[m -1]
m ≠ 0 ∧ m ≤ # x1, (r ' + x1)[m] = r, path(r ' + x1, H), m ≤ # x1, ¬ path(x1[m -1] ' + firstn(m, x1), H) ∨ x1[m -1] ≠ r ⊦ x1 = [], m = 0, reachable-n(H, m, r, r)
[[CONCRETESIMPRULES : ()], [EXTRATERMS : (x1, m)]]