| max_prime_divisor(j0) * i0 * j0 = j * i * i, max_prime_divisor(j0) * i0 = j0, max_prime_divisor(j0) | j * i * i, 0 < i, 0 < j, 0 < j0, ∀ j1, j, i. i→n(j1) < i→n(j0) → j1 * j1 = j * i * i ∧ 0 < j1 ∧ 0 < j ∧ 0 < i → i = 0 ∨ isSquare(j) ⊦ i = 0, isSquare(j), prime(j0), prime(max_prime_divisor(j0)) |
⊦ ¬ prime(i) ∧ 2 ≤ i → prime(max_prime_divisor(i))
Used simplifier rules: prime-small: ⊦ j < 2 → ¬ prime(j);%lels-01: ⊦ ¬ i ≤ j ↔ j < i; from specification int-abs%two-ls: ⊦ 0 < j → (j < 2 ↔ j = 1); from specification int-basic1%one-01: ⊦ i = 1 → i * j = j; from specification int-mult%associativity: ⊦ i * j * j0 = (i * j) * j0; from specification int-mult%commutativity: ⊦ i * j = j * i; from specification int-mult%lf-02: ⊦ i < j ∧ j = i0 → i < i0; (forward) from specification int-basic1%eq-one: ⊦ i * j = 1 ↔ abs(i) = 1 ∧ i = j; from specification int-mult%square-abs: ⊦ abs(i * i) = i * i; from specification int-mult%abs-16: ⊦ 0 < j → abs(j) = j; from specification int-abs%isSquare-one: ⊦ isSquare(1); from specification int-square Used terms: j0