| prime(i), 0 < j0, 0 < j, i | j0, ∀ i0, j1, j. i→n(max_exp(i0, j1)) < i→n(max_exp(i, j0 / i) + 1) → prime(i0) ∧ 0 < j1 ∧ 0 < j → max_exp(i0, j * j1) = max_exp(i0, j1) ∨ i0 | j ⊦ max_exp(i, j * j0) = max_exp(i, j0 / i) + 1, i | j |
⊦ prime(i) ∧ i | j ∧ 0 < j → max_exp(i, j) = max_exp(i, j / i) + 1
prime(i) ∧ i | j * j0 ∧ 0 < j * j0, prime(i), 0 < j0, 0 < j, i | j0, ∀ i0, j1, j. i→n(max_exp(i0, j1)) < i→n(max_exp(i, j0 / i) + 1) → prime(i0) ∧ 0 < j1 ∧ 0 < j → max_exp(i0, j * j1) = max_exp(i0, j1) ∨ i0 | j ⊦ max_exp(i, (j * j0) / i) + 1 = max_exp(i, j0 / i) + 1, i | j
Used simplifier rules: divides-mult-01: ⊦ i | j → i | j * j0; from specification int-gcd%associativity: ⊦ i * j * j0 = (i * j) * j0; from specification int-mult%commutativity: ⊦ i * j = j * i; from specification int-mult%zero-gr: ⊦ 0 < i → (0 < i * j ↔ 0 < j); from specification int-mult Used terms: j * j0, i