| (a ' + y0) .last = y1 .last, # y1 = # y0, reach(a, y1 .last, # y0), path(a ' + y1 + a0 '), path(a ' + y0) ⊦ a0 ∈ succ(y1 .last) |
⊦ path(a ' + b ') ↔ b ∈ succ(a)
⊦ path(x + a ' + b ') ↔ b ∈ succ(a) ∧ path(x + a ')
[[CONCRETESIMPRULES : ([CSIMPSEQ : ⊦ x + a ' ≠ []], [CSIMPSEQ : ⊦ # a ' = 0 +1], [CSIMPSEQ : ⊦ # (x + y) = # x + # y], [CSIMPSEQ : ⊦ # [] = 0], [CSIMPSEQ : ⊦ # x = 0 ↔ x = []], [CSIMPSEQ : ⊦ [] + x = x], [CSIMPSEQ : ⊦ (x + y) + z = x + y + z], [CSIMPFORWARD : ⊦ a ∈ s → s ≠ ∅], [CSIMPSEQ : ⊦ x + [] = x], [CSIMPSEQ : ⊦ a ' .last = a], [CSIMPELIM : x ≠ [] ⊦ a = x .last ∧ y = x .butlast ↔ x = y + a '])], [EXTRATERMS : (y1, a1, y)]]