| ~1 ≤ i1, 0 ≤ i, i ≤ i1 + 1, ∀ j0, i, intfun, intfun0. i→n(j0) < i→n(i1 + 1) → 0 ≤ i → Σ countFun(i, j0, intfun) = Σ countFun(i, j0, λ i0. intfun(i0) - intfun0(i0)) + Σ countFun(i, j0, intfun0) ⊦ Σ countFun(i, i1, intfun0) + Σ countFun(i, i1, λ i0. intfun(i0) - intfun0(i0)) = Σ countFun(i, i1, intfun) |
Used simplifier rules: countFun-base-03: ⊦ countFun(0, ~1, intfun) = [];%sum-empty: ⊦ Σ [] = 0;%add-c: ⊦ i + j = j + i; from specification int-basic2%labs: ⊦ i→n(i) < i→n(j) ↔ abs(i) < abs(j); from specification intnat%lels: ⊦ ¬ i < j ↔ j ≤ i; from specification int-abs%abs-le-succ: ⊦ abs(i + 1) ≤ abs(i) ↔ i < 0; from specification int-abs%add-a: ⊦ i + j + i0 = (i + j) + i0; from specification int-basic2%mone-08: ⊦ i < 0 → (~1 ≤ i ↔ i = ~1); from specification int-abs%lel: ⊦ i < i0 ∧ i = i1 → i1 < i0; (forward) from specification oelem[intlista]%forward-lsle: ⊦ i < j ∧ j ≤ j0 → i < j0; (forward) from specification int-abs%forward-le-02: ⊦ j < i ∧ i ≤ 0 → j < 0; (forward) from specification int-abs%mone-06: ⊦ ~1 < i ↔ 0 ≤ i; from specification int-abs%zero-gels-04: ⊦ i ≤ 0 ∧ 0 ≤ j → i ≤ j; from specification int-abs%anti: ⊦ i ≤ j → (j ≤ i ↔ i = j); from specification int-abs Used terms: i1, i, intfun, intfun0