| fac(j) * fac(j) | fac(2 * j), 0 ≤ j, i ^ i0 ≤ 2 * j, 2 * j < i ^ (i0 + 1), i | fac(2 * j) / (fac(j) * fac(j)), prime(i), 2 * j < i ^ (max_exp(i, fac(2 * j)) - 2 * max_exp(i, fac(j))), 0 < j, 0 ≤ i0, i ^ i0 < i ^ (i0 + 1), 2 * max_exp(i, fac(j)) + i0 < max_exp(i, fac(2 * j)), 0 < fac(2 * j), i ^ i0 < i ^ (max_exp(i, fac(2 * j)) - 2 * max_exp(i, fac(j))), 0 < fac(j) ⊦ max_exp(i, fac(2 * j)) = 2 * max_exp(i, fac(j)) |
⊦ prime(i) ∧ 0 < j ∧ 0 ≤ i0 ∧ j < i ^ i0 → max_exp(i, fac(j)) = Σ countFun(1, i0 - 1, λ j0. j / i ^ j0)
prime(i) ∧ 0 < j ∧ 0 ≤ i0 + 1 ∧ j < i ^ (i0 + 1), fac(j) * fac(j) | fac(2 * j), 0 ≤ j, i ^ i0 ≤ 2 * j, 2 * j < i ^ (i0 + 1), i | fac(2 * j) / (fac(j) * fac(j)), prime(i), 2 * j < i ^ (max_exp(i, fac(2 * j)) - 2 * Σ countFun(1, i0 + 1 - 1, λ j0. j / i ^ j0)), 0 < j, 0 ≤ i0, i ^ i0 < i ^ (i0 + 1), 2 * Σ countFun(1, i0 + 1 - 1, λ j0. j / i ^ j0) + i0 < max_exp(i, fac(2 * j)), 0 < fac(2 * j), i ^ i0 < i ^ (max_exp(i, fac(2 * j)) - 2 * Σ countFun(1, i0 + 1 - 1, λ j0. j / i ^ j0)), 0 < fac(j) ⊦ max_exp(i, fac(2 * j)) = 2 * Σ countFun(1, i0 + 1 - 1, λ j0. j / i ^ j0)
Used simplifier rules: numle-02: ⊦ (* j) ≤ i0 + (* j0) ↔ j - j0 ≤ i0; from specification int-abs%numleledel-01: i0 ≠ 0, i0 ≤ i ⊦ (* i) ≤ j → (* i0) ≤ j; from specification int-abs%add-a: ⊦ i + j + i0 = (i + j) + i0; from specification int-basic2%add-c: ⊦ i + j = j + i; from specification int-basic2%lels: ⊦ ¬ i < j ↔ j ≤ i; from specification int-abs%forward-lsle: ⊦ i < j ∧ j ≤ j0 → i < j0; (forward) from specification int-abs%ls-same: ⊦ 0 < i → (i * j < i ↔ j < 1); from specification int-mult%associativity: ⊦ i * j * j0 = (i * j) * j0; from specification int-mult%commutativity: ⊦ i * j = j * i; from specification int-mult Used terms: i0 + 1, j, i