| n = m0 + 1, (r ' + x1)[m] = (r ' + x1)[n], n < m, path(r ' + x1, H), m ≤ # x1, n < # x1 ⊦ m = n, x1 = [], n = 0, reachable-n(H, n, r, (r ' + x1)[n]), path(r ' + firstn(n, x1), H) ∧ x1[m0] = (r ' + x1)[n] |
(r ' + x1)[m] = x1[m0], m0 + 1 < m, path(r ' + x1, H), m ≤ # x1, m0 + 1 < # x1 ⊦ m = m0 + 1, x1 = [], reachable-n(H, m0 + 1, r, x1[m0]), path(r ' + firstn(m0 + 1, x1), H)
[[CONCRETESIMPRULES : ([CSIMPFORWARD : ⊦ m < n ∧ n ≤ n0 → m < n0], [CSIMPSEQ : ⊦ m + 1 ≠ 0], [CSIMPSEQ : ⊦ (x0 + x1) + x2 = x0 + x1 + x2], [CSIMPSEQ : ⊦ m + n = n + m], [CSIMPSEQ : ⊦ (m + n0) + n1 = m + n0 + n1], [CSIMPSEQ : ⊦ (r ' + x0)[n + 1] = x0[n]])]]