| j | i, prime(j), all_prime_divisors(((i * i0) / max_prime_divisor(i * i0)) / i) = all_prime_divisors((i * i0) / max_prime_divisor(i * i0)) -1l i, i0 < i * i0, i0 < i, i < i * i0, prime(j), j < i * i0, i < j, 0 ≤ i * i0, 0 < i * i0, prime(i0), i | (i * i0) / max_prime_divisor(i * i0), 2 ≤ i * i0, prime(i), i0 < j, ∀ j0, i1. i→n(j0) < i→n(i * i0) → i1 | j0 ∧ prime(i1) ∧ 0 < j0 → all_prime_divisors(j0 / i1) = all_prime_divisors(j0) -1l i1 ⊦ i = 1, i0 ' = (all_prime_divisors((i * i0) / max_prime_divisor(i * i0)) -1l i) + max_prime_divisor(i * i0) ', prime(i * i0) |
⊦ prime(j) → (i | j ↔ abs(i) = j ∨ abs(i) = 1)
Used simplifier rules: prime-abs: ⊦ prime(j) → abs(j) = j; from specification int-gcd%irreflexivity: ⊦ ¬ i < i; from specification oelem[intlista]%lsone: ⊦ i < 1 ↔ i ≤ 0; from specification int-abs%prime-not-neg-01: ⊦ j ≤ 0 → ¬ prime(j); from specification int-gcd Used terms: i, j