| # y = 1 + n0, path(a0 ' + y), reach(a0, y .butlast .last, n0) ↔ (∃ x. path(x) ∧ # x = n0 + 1 ∧ x .first = a0 ∧ x .last = y .butlast .last) ⊦ reach(a0, y .butlast .last, n0), y = [], ∃ c. reach(a0, c, n0) ∧ y .last ∈ succ(c) |
# y = 1 + n0, path(a0 ' + y), ∀ x. ¬ path(x) ∨ # x ≠ n0 + 1 ∨ x .first ≠ a0 ∨ x .last ≠ y .butlast .last ⊦ y = [], reach(a0, y .butlast .last, n0), ∃ c. reach(a0, c, n0) ∧ y .last ∈ succ(c)
[[CONCRETESIMPRULES : ()]]