| i ≤ j, i ≤ j, ∀ j0, i0. i→n(j0 - i0) < i→n(j - i) → i0 ≤ j0 → # count-i2j(i0, j0) = i→n(j0 - i0) + 1 ⊦ #(i ' + count-i2j(i + 1, j)) = i→n(j - i) + 1 |
i ≤ j, ∀ j0, i0. i→n(j0 - i0) < i→n(j - i) → i0 ≤ j0 → # count-i2j(i0, j0) = i→n(j0 - i0) + 1 ⊦ # count-i2j(i + 1, j) = i→n(j - i)
Used simplifier rules: c: ⊦ m + n = n + m; from specification nat-basic2%a: ⊦ (m + n0) + n1 = m + n0 + n1; from specification nat-basic2%eq-01: ⊦ m + n = m + n0 ↔ n = n0; from specification nat-basic2%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]