| i ≤ j, 0 ≤ i, 0 ≤ j, i→n(j) ≤ (i→n(j) - 1 - i→n(i)) + i→n(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, j = 1 |
i→n(j) = m + 1 ∧ i→n(j) ≠ 0, i ≤ j, 0 ≤ i, 0 ≤ j, i→n(j) ≤ (m - i→n(i)) + i→n(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, j = 1
Used simplifier rules: abs-zero: ⊦ i→n(i) = 0 ↔ i = 0; from specification intnat%lel: ⊦ i < i0 ∧ i = i1 → i1 < i0; (forward) from specification oelem[intlista]%add-a: ⊦ i + j + i0 = (i + j) + i0; from specification int-basic2%add-c: ⊦ i + j = j + i; from specification int-basic2%n ≠ 0 ⊦ m = n - 1 ↔ n = m + 1; (elim) Used terms: i→n(j), m