| i ≤ j, n→i(n) + i ≤ j, 0 ≤ i, 0 ≤ j, ∀ j0, i0, n, intfun. i→n(j0) - i→n(i0) < i→n(j) - i→n(i) → i0 ≤ j0 ∧ n→i(n) + i0 ≤ j0 ∧ 0 ≤ i0 ∧ 0 ≤ j0 → countFun(i0, j0, intfun)[n] = intfun(i0 + n→i(n)) ⊦ n = # countFun(i, j - 1, intfun), (countFun(i, j - 1, intfun) + intfun(j) ')[n] = intfun(i + n→i(n)) |
⊦ n < # ints → (ints + i ')[n] = ints[n]
¬ n < # countFun(i, j - 1, intfun), i ≤ j, n→i(n) + i ≤ j, 0 ≤ i, 0 ≤ j, ∀ j0, i0, n, intfun. i→n(j0) - i→n(i0) < i→n(j) - i→n(i) → i0 ≤ j0 ∧ n→i(n) + i0 ≤ j0 ∧ 0 ≤ i0 ∧ 0 ≤ j0 → countFun(i0, j0, intfun)[n] = intfun(i0 + n→i(n)) ⊦ n = # countFun(i, j - 1, intfun), (countFun(i, j - 1, intfun) + intfun(j) ')[n] = intfun(i + n→i(n))
n < # countFun(i, j - 1, intfun), i ≤ j, n→i(n) + i ≤ j, 0 ≤ i, 0 ≤ j, ∀ j0, i0, n, intfun. i→n(j0) - i→n(i0) < i→n(j) - i→n(i) → i0 ≤ j0 ∧ n→i(n) + i0 ≤ j0 ∧ 0 ≤ i0 ∧ 0 ≤ j0 → countFun(i0, j0, intfun)[n] = intfun(i0 + n→i(n)) ⊦ n = # countFun(i, j - 1, intfun), countFun(i, j - 1, intfun)[n] = intfun(i + n→i(n))
Used terms: n, intfun(j), countFun(i, j - 1, intfun)