| Σ countFun(i, j - 1, intfun) = (j - i) * intfun(j), 0 ≤ j, 0 ≤ i, i ≤ j, ∀ i1. i ≤ i1 ∧ i1 ≤ j → intfun(i1) = intfun(j), ∀ j0, i1, intfun, i0. i→n(j0) - i→n(i1) < i→n(j) - i→n(i) → (∀ i2. i1 ≤ i2 ∧ i2 ≤ j0 → intfun(i2) = i0) ∧ i1 ≤ j0 ∧ 0 ≤ i1 → Σ countFun(i1, j0, intfun) = (1 + j0 - i1) * i0 ⊦ (j - i) * intfun(j) + intfun(j) = (1 + j - i) * intfun(j) |
⊦ (* i0) * i + i = (i0 + 1) * i
Used simplifier rules: sub-add-01: ⊦ i + (j - i0) = i + j - i0; from specification int-abs%add-a: ⊦ i + j + i0 = (i + j) + i0; from specification int-basic2%add-c: ⊦ i + j = j + i; from specification int-basic2 Used terms: intfun(j), j - i