| ∀ a, b, n, c. reach(a, b, n) ∧ reach(b, c, m0) → reach(a, c, m0 + n), reach(a, b, n), reach(b, c, m0 +1) ⊦ reach(a, c, m0 +1 + n) |
⊦ reach(a, b, n + 1) ↔ (∃ c. reach(a, c, n) ∧ b ∈ succ(c))
c ∈ succ(c0), reach(b, c0, m0), reach(a, b, n), ∀ a, b, n, c. reach(a, b, n) ∧ reach(b, c, m0) → reach(a, c, m0 + n) ⊦ succ(c0) = ∅, # succ(c0) = 0, ∃ c0. reach(a, c0, m0 + n) ∧ c ∈ succ(c0)
[[CONCRETESIMPRULES : ([CSIMPFORWARD : ⊦ s ≠ ∅ → # s ≠ 0], [CSIMPFORWARD : ⊦ a ∈ s → s ≠ ∅], [CSIMPSEQ : ⊦ m + n = n + m], [CSIMPSEQ : ⊦ (m + n0) + n1 = m + n0 + n1], [CSIMPSEQ : ⊦ m +1 = m + 1])]]