| x = a0 + y ∧ x ≠ [], # x = 2 + n0, path(x), ∀ a, b. reach(a, b, n0) ↔ (∃ x. path(x) ∧ # x = n0 + 1 ∧ x .first = a ∧ x .last = b) ⊦ ∃ c. reach(a0, c, n0) ∧ x .last ∈ succ(c) |
# y = 1 + n0, path(a0 ' + y), ∀ a, b. reach(a, b, n0) ↔ (∃ x. path(x) ∧ # x = n0 + 1 ∧ x .first = a ∧ x .last = b) ⊦ ∃ c. reach(a0, c, n0) ∧ (a0 ' + y) .last ∈ succ(c)
[[CONCRETESIMPRULES : ([CSIMPSEQ : ⊦ a ' + x ≠ []], [CSIMPSEQ : ⊦ m + n = n + m], [CSIMPSEQ : ⊦ (m + n0) + n1 = m + n0 + n1], [CSIMPSEQ : n < n0 ⊦ m + ((* n)) = m0 + ((* n0)) ↔ m = m0 + (n0 - n)], [CSIMPSEQ : ⊦ (x + y) + z = x + y + z], [CSIMPSEQ : ⊦ # a ' = 0 +1], [CSIMPSEQ : ⊦ # (x + y) = # x + # y], [CSIMPSEQ : ⊦ a + x = a ' + x])]]