| x = a + y ∧ x ≠ [], # x = n0 + 1, path(x), reach(a, x .last, n0), b ∈ succ(x .last) ⊦ # succ(x .last) = 0, succ(x .last) = ∅, ∃ x0. path(x0) ∧ # x0 = 2 + n0 ∧ x0 .first = a ∧ x0 .last = b |
b ∈ succ((a ' + y) .last), reach(a, (a ' + y) .last, # y), path(a ' + y) ⊦ succ((a ' + y) .last) = ∅, # succ((a ' + y) .last) = 0, ∃ x0. path(x0) ∧ # x0 = 2 + # y ∧ x0 .first = a ∧ x0 .last = b
[[CONCRETESIMPRULES : ([CSIMPFORWARD : ⊦ s ≠ ∅ → # s ≠ 0], [CSIMPFORWARD : ⊦ a ∈ s → s ≠ ∅], [CSIMPSEQ : ⊦ a ' + x ≠ []], [CSIMPSEQ : ⊦ m + n = n + m], [CSIMPSEQ : ⊦ (m + n0) + n1 = m + n0 + n1], [CSIMPSEQ : ⊦ m + n = m + n0 ↔ n = n0], [CSIMPSEQ : ⊦ (x + y) + z = x + y + z], [CSIMPSEQ : ⊦ # a ' = 0 +1], [CSIMPSEQ : ⊦ # (x + y) = # x + # y], [CSIMPSEQ : ⊦ a + x = a ' + x])]]