| # y = 1 + n0, path(a0 ' + y), ∀ x. ¬ path(x) ∨ # x ≠ n0 + 1 ∨ x .first ≠ a0 ∨ x .last ≠ y .butlast .last ⊦ y = [], reach(a0, y .butlast .last, n0), ∃ c. reach(a0, c, n0) ∧ y .last ∈ succ(c) |
y = y0 + a ', # y = 1 + n0, path(a0 ' + y), ∀ x. ¬ path(x) ∨ # x ≠ n0 + 1 ∨ x .first ≠ a0 ∨ x .last ≠ y0 .last ⊦ y = [], reach(a0, y0 .last, n0), ∃ c. reach(a0, c, n0) ∧ a ∈ succ(c)
[[CONCRETESIMPRULES : ([CSIMPELIM : x ≠ [] ⊦ a = x .last ∧ y = x .butlast ↔ x = y + a '])], [EXTRATERMS : (y, a, y0)]]