| Σ countFun(i, j - 1, intfun) = (1 + (j - 1) - i) * i0, i ≤ j, 0 ≤ i, 0 ≤ j, ∀ i1. i ≤ i1 ∧ i1 ≤ j → intfun(i1) = i0, ∀ 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 ⊦ Σ countFun(i, j - 1, intfun) + intfun(j) = (1 + j - i) * i0 |
Σ countFun(i, j - 1, intfun) = (j - i) * i0, i ≤ j, 0 ≤ i, 0 ≤ j, ∀ i1. i ≤ i1 ∧ i1 ≤ j → intfun(i1) = i0, ∀ 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) * i0 + intfun(j) = (1 + j - i) * i0
Used simplifier rules: add-c: ⊦ i + j = j + i; from specification int-basic2%add-a: ⊦ i + j + i0 = (i + j) + i0; from specification int-basic2%Sub-def: ⊦ i + (j - i) = j; from specification int-abs