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