| 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) ⊦ max_exp(i, fac(2 * j) / (fac(j) * fac(j))) = Σ countFun(1, i0, λ i0. (2 * j) / i ^ i0 - 2 * j / i ^ i0) |
⊦ 0 < j ∧ 0 < j0 ∧ prime(i) ∧ j0 | j → max_exp(i, j / j0) = max_exp(i, j) - max_exp(i, j0)
0 < fac(2 * j) ∧ 0 < fac(j) * fac(j) ∧ prime(i) ∧ fac(j) * fac(j) | fac(2 * j), 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) ⊦ max_exp(i, fac(2 * j)) - max_exp(i, fac(j) * fac(j)) = Σ countFun(1, i0, λ i0. (2 * j) / i ^ i0 - 2 * j / i ^ i0)
Used simplifier rules: fac-pos-01: ⊦ ¬ fac(i) ≤ 0;%fac-le-zero: ⊦ i * fac(j) ≤ 0 ↔ i ≤ 0;%lels: ⊦ ¬ i < j ↔ j ≤ i; from specification int-abs%associativity: ⊦ i * j * j0 = (i * j) * j0; from specification int-mult%commutativity: ⊦ i * j = j * i; from specification int-mult Used terms: fac(j) * fac(j), fac(2 * j), i