| ⊦ reach(a, b, n) ↔ (∃ x. path(x) ∧ # x = n + 1 ∧ x .first = a ∧ x .last = b) |
⊦ reach(a, b, 0) ↔ (∃ x. path(x) ∧ # x = 0 + 1 ∧ x .first = a ∧ x .last = b)
∀ a, b. reach(a, b, n0) ↔ (∃ x. path(x) ∧ # x = n0 + 1 ∧ x .first = a ∧ x .last = b) ⊦ reach(a, b, n0 +1) ↔ (∃ x. path(x) ∧ # x = n0 +1 + 1 ∧ x .first = a ∧ x .last = b)
[[CONCRETESIMPRULES : ([CSIMPGEN : nat generated by 0, +1;])]]