| 0 ≤ i, 0 ≤ i1 + i, 0 ≤ i1, ∀ j0, i0, intfun1, intfun2. i→n(j0 - i0) < i→n(i1) → true → 0 ≤ i0 ∧ i0 ≤ j0 → Σ countFun(i0, j0, λ j0. intfun1(j0) + intfun2(j0)) = Σ countFun(i0, j0, λ j0. intfun1(j0)) + Σ countFun(i0, j0, λ j0. intfun2(j0)) ⊦ (intfun1(i) + intfun2(i)) + Σ countFun(i + 1, i1 + i, λ j0. intfun1(j0) + intfun2(j0)) = Σ countFun(i, i1 + i, intfun1) + Σ countFun(i, i1 + i, intfun2) |
⊦ i ≤ j → countFun(i, j, intfun) = intfun(i) ' + countFun(i + 1, j, intfun)
i ≤ i1 + i, 0 ≤ i, 0 ≤ i1 + i, 0 ≤ i1, ∀ j0, i0, intfun1, intfun2. i→n(j0 - i0) < i→n(i1) → true → 0 ≤ i0 ∧ i0 ≤ j0 → Σ countFun(i0, j0, λ j0. intfun1(j0) + intfun2(j0)) = Σ countFun(i0, j0, λ j0. intfun1(j0)) + Σ countFun(i0, j0, λ j0. intfun2(j0)) ⊦ (intfun1(i) + intfun2(i)) + Σ countFun(i + 1, i1 + i, λ j0. intfun1(j0) + intfun2(j0)) = Σ(intfun1(i) ' + countFun(i + 1, i1 + i, intfun1)) + Σ countFun(i, i1 + i, intfun2)
Used simplifier rules: lels-01: ⊦ ¬ i ≤ j ↔ j < i; from specification int-abs%ls: ⊦ i + j < j ↔ i < 0; from specification int-basic2%lenls: ⊦ i ≤ j → ¬ j < i; 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: intfun1, i1 + i, i