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