| (r ' + x1)[m] = x1[m0], m0 + 1 < m, path(r ' + x1, H), m ≤ # x1, m0 + 1 < # x1 ⊦ m = m0 + 1, x1 = [], reachable-n(H, m0 + 1, r, x1[m0]), path(r ' + firstn(m0 + 1, x1), H) |
⊦ path(r ' + x + y, H) → (¬ path(r ' + x, H) ↔ false)
¬ path(r ' + firstn(m0 + 1, x1) + restn(m0 + 1, x1), H), (r ' + x1)[m] = x1[m0], m0 + 1 < m, path(r ' + x1, H), m ≤ # x1, m0 + 1 < # x1 ⊦ m = m0 + 1, x1 = [], reachable-n(H, m0 + 1, r, x1[m0]), path(r ' + firstn(m0 + 1, x1), H)
[[CONCRETESIMPRULES : ()], [EXTRATERMS : (restn(m0 + 1, x1), H, firstn(m0 + 1, x1), r)]]