| x .last = y .butlast .last, # x = n0 + 1, # y = 1 + n0, path(x), path(x .first ' + y), reach(x .first, x .last, n0) ⊦ y = [], ∃ c. reach(x .first, c, n0) ∧ y .last ∈ succ(c) |
x = a + y0 ∧ x ≠ [], x .last = y .butlast .last, # x = n0 + 1, # y = 1 + n0, path(x), path(a ' + y), reach(a, x .last, n0) ⊦ y = [], ∃ c. reach(a, c, n0) ∧ y .last ∈ succ(c)
[[CONCRETESIMPRULES : ([CSIMPSEQ : ⊦ # [] = 0], [CSIMPSEQ : ⊦ m + 1 ≠ 0], [CSIMPSEQ : ⊦ (m + n0) + n1 = m + n0 + n1], [CSIMPSEQ : ⊦ m + n = n + m], [CSIMPELIM : x ≠ [] ⊦ a = x .first ∧ y = x .rest ↔ x = a + y])], [EXTRATERMS : (x, a, y0)]]