| reachable-n(H, n0, r0, r1), reachable-n(H, n, r, r0) ⊦ reachable-n(H, n + n0, r, r1) |
reachable-n(H, n1 +1, r, r0), reachable-n(H, n0, r0, r1), ∀ H, n0, r0, r1, r. reachable-n(H, n0, r0, r1) ∧ reachable-n(H, n1, r, r0) → reachable-n(H, n1 + n0, r, r1) ⊦ reachable-n(H, n1 +1 + n0, r, r1)
Used simplifier rules: reachable-n-base: ⊦ reachable-n(H, 0, r, r0) ↔ r = r0;%nat freely generated by 0, +1;;% ⊦ 0 + m = m; (s)%a: ⊦ (m + n0) + n1 = m + n0 + n1; from specification nat-basic%c: ⊦ m + n = n + m; from specification nat-basic