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