| reachable-n(H, n, r, r0), r ∈ H ⊦ n = 0, r = null, ∃ x. path(r ' + x, H) ∧ (r ' + x).last = r0 |
reachable-n(H, n0 +1, r, r0), r ∈ H, ∀ H, r, r0. reachable-n(H, n0, r, r0) ∧ r ∈ H → n0 = 0 ∨ r = null ∨ (∃ x. path(r ' + x, H) ∧ (r ' + x).last = r0) ⊦ n0 +1 = 0, r = null, ∃ x. path(r ' + x, H) ∧ (r ' + x).last = r0
Used simplifier rules: nat freely generated by 0, +1;;