| i ≤ j, 0 ≤ i, ∀ j0, i, intfun, intfun0. i→n(j0) < i→n(j) → 0 ≤ i → Σ countFun(i, j0, intfun) = Σ countFun(i, j0, λ i0. intfun(i0) - intfun0(i0)) + Σ countFun(i, j0, intfun0) ⊦ Σ(countFun(i, j - 1, intfun) + intfun(j) ') = Σ countFun(i, j, λ i0. intfun(i0) - intfun0(i0)) + Σ countFun(i, j, intfun0) |
i ≤ j, 0 ≤ i, 0 ≤ j, ∀ j0, i, intfun, intfun0. i→n(j0) < i→n(j) → 0 ≤ i → Σ countFun(i, j0, intfun) = Σ countFun(i, j0, λ i0. intfun(i0) - intfun0(i0)) + Σ countFun(i, j0, intfun0) ⊦ Σ countFun(i, j - 1, intfun) + intfun(j) = Σ countFun(i, j, λ i0. intfun(i0) - intfun0(i0)) + Σ countFun(i, j, intfun0)
Used simplifier rules: sum-app: ⊦ Σ(ints + ints0) = Σ ints + Σ ints0;%sum-one: ⊦ Σ i ' = i;%forward-lele: ⊦ j ≤ j0 ∧ j0 ≤ j1 → j ≤ j1; (forward) from specification int-abs%a: ⊦ (ints + ints0) + ints1 = ints + ints0 + ints1; from specification list[intlista]