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