| i ≤ j, i ≤ j, 0 ≤ i, 0 ≤ j, ∀ j0, i0, intfun. i→n(j0) - i→n(i0) < i→n(j) - i→n(i) → true → 0 ≤ i0 ∧ i0 ≤ j0 → # countFun(i0, j0, intfun) = i→n(1 + j0 - i0) ⊦ #(intfun(i) ' + countFun(i + 1, j, intfun)) = i→n(1 + j - i) |
i ≤ j, 0 ≤ i, 0 ≤ j, ∀ j0, i0, intfun. i→n(j0) - i→n(i0) < i→n(j) - i→n(i) → true → 0 ≤ i0 ∧ i0 ≤ j0 → # countFun(i0, j0, intfun) = i→n(1 + j0 - i0) ⊦ 1 + # countFun(i + 1, j, intfun) = i→n(1 + j - i)
Used simplifier rules: a: ⊦ (ints + ints0) + ints1 = ints + ints0 + ints1; from specification list[intlista]%len-02: ⊦ # i ' = 0 +1; from specification list[intlista]%len: ⊦ #(ints + ints0) = # ints + # ints0; from specification list[intlista]