| b ∈ succ((a ' + y) .last), reach(a, (a ' + y) .last, # y), path(a ' + y) ⊦ y = [], succ((a ' + y) .last) = ∅, # succ((a ' + y) .last) = 0, ∃ x0. path(x0) ∧ # x0 = 2 + # y ∧ x0 .first = a ∧ x0 .last = b |
path(a ' + y), b ∈ succ(y .last), reach(a, y .last, # y) ⊦ y = [], succ(y .last) = ∅, # succ(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 : ⊦ (x + y) + z = x + y + z], [CSIMPSEQ : ⊦ x ≠ [] → (a ' + x) .last = x .last])]]