| 0 ≤ i, n→i(n) + i ≤ j, i ≤ j, n < # countFun(i, j - 1, intfun), 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)) ⊦ j = 0, countFun(i, j - 1, intfun)[n] = intfun(i + n→i(n)), n = # countFun(i, j - 1, intfun), countFun(i, j - 1, intfun) = [], i < j ∧ n→i(n) + i < j |
0 ≤ i, n→i(n) + i ≤ j, i ≤ j, n < # countFun(i, j - 1, intfun), 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)) ⊦ i = j, j = 0, countFun(i, j - 1, intfun)[n] = intfun(i + n→i(n)), n = # countFun(i, j - 1, intfun), countFun(i, j - 1, intfun) = [], i < j ∧ n→i(n) + i < j
Used simplifier rules: countFun-base-02: ⊦ countFun(j, j - 1, intfun) = [];%size-01: ⊦ # [] = 0; from specification list-data[intlista] Used formulas: i = j