| 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 ⊦ i→n(j - 1) - i→n(i) < i→n(j) - i→n(i), Σ countFun(i, j - 1, intfun) + intfun(j) = (1 + j - i) * i0 |
i ≤ j, 0 ≤ i, 0 ≤ j, i→n(j) ≤ (i→n(j - 1) - i→n(i)) + i→n(i), ∀ 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
Used simplifier rules: lels: ⊦ ¬ m < n ↔ n ≤ m; from specification nat%ls: n0 ≤ n ⊦ m < n - n0 ↔ m + n0 < n; from specification nat%lenls: ⊦ i ≤ j → ¬ j < i; from specification int-abs%lels-01: ⊦ ¬ i ≤ j ↔ j < i; from specification int-abs%absle: ⊦ 0 ≤ i → abs(i) = i; from specification int-abs%labs-01: ⊦ i→n(i) ≤ i→n(j) ↔ abs(i) ≤ abs(j); from specification intnat