| prime(i) ∧ 0 < 2 * j ∧ 0 ≤ i0 + 1 ∧ 2 * j < i ^ (i0 + 1), prime(i) ∧ 0 < j ∧ 0 ≤ i0 + 1 ∧ j < i ^ (i0 + 1), i ^ i0 ≤ 2 * j, 2 * j < i ^ (i0 + 1), prime(i), i ^ i0 < i ^ (i0 + 1), 0 ≤ i0, 0 < j, 0 ≤ j, fac(j) * fac(j) | fac(2 * j), 0 < fac(2 * j), 0 < fac(j) ⊦ Σ countFun(1, i0 + 1 - 1, λ j0. (2 * j) / i ^ j0) = 2 * Σ countFun(1, i0 + 1 - 1, λ j0. j / i ^ j0) + Σ countFun(1, i0, λ i0. (2 * j) / i ^ i0 - 2 * j / i ^ i0) |
j < i ^ (i0 + 1), i ^ i0 ≤ 2 * j, 2 * j < i ^ (i0 + 1), prime(i), i ^ i0 < i ^ (i0 + 1), 0 ≤ i0, 0 ≤ j, fac(j) * fac(j) | fac(2 * j), 0 < fac(2 * j), 0 < fac(j), 0 < j, 1 < i ^ (i0 + 1), 0 < i ^ (i0 + 1) ⊦ Σ countFun(1, i0, λ j0. (2 * j) / i ^ j0) = 2 * Σ countFun(1, i0, λ j0. j / i ^ j0) + Σ countFun(1, i0, λ i0. (2 * j) / i ^ i0 - 2 * j / i ^ i0)
Used simplifier rules: forward-pos: ⊦ i < j ∧ 0 < i → 0 < j ∧ 1 < j; (forward) from specification int-basic1%transitivity: ⊦ i < i0 ∧ i0 < i1 → i < i1; (forward) from specification oelem[intlista]%numleledel-01: i0 ≠ 0, i0 ≤ i ⊦ (* i) ≤ j → (* i0) ≤ j; from specification int-abs%numle-02: ⊦ (* j) ≤ i0 + (* j0) ↔ j - j0 ≤ i0; from specification int-abs%commutativity: ⊦ i * j = j * i; from specification int-mult%associativity: ⊦ i * j * j0 = (i * j) * j0; from specification int-mult%zero-gr: ⊦ 0 < i → (0 < i * j ↔ 0 < j); from specification int-mult%add-c: ⊦ i + j = j + i; from specification int-basic2%add-a: ⊦ i + j + i0 = (i + j) + i0; from specification int-basic2%add-zero: ⊦ i + 0 = i; from specification int-basic2%numsub: ⊦ (* i) + i0 - (* j) = (i - j) + i0; from specification int-abs