| all_prime_divisors((j / max_prime_divisor(j)) / i) = all_prime_divisors(j / max_prime_divisor(j)), prime(j / i), 0 ≤ j, i | j, prime(i), 0 < j, 2 ≤ j, ∀ j0, i. i→n(j0) < i→n(j) → i | j0 ∧ prime(i) ∧ 0 < j0 → all_prime_divisors(j0 / i) = all_prime_divisors(j0) -1l i ⊦ (j / i)' = all_prime_divisors(j / max_prime_divisor(j)) + (max_prime_divisor(j) ' -1l i), prime(j), i | j / max_prime_divisor(j) |
⊦ ¬ prime(i) ∧ 2 ≤ i ∧ prime(j) ∧ j | i ∧ j ≠ max_prime_divisor(i) → j | i / max_prime_divisor(i)
Used simplifier rules: all_prime_divisors-prime: ⊦ prime(i) → all_prime_divisors(i) = i ';%numleledel-01: i0 ≠ 0, i0 ≤ i ⊦ (* i) ≤ j → (* i0) ≤ j; from specification int-abs%one-01: ⊦ i ' -1l i = []; from specification list-del[intlista]%app: ⊦ ints + [] = ints; from specification list[intlista]%a: ⊦ (ints + ints0) + ints1 = ints + ints0 + ints1; from specification list[intlista]%c-04: ⊦ i ' = i0 ' ↔ i = i0; from specification list[intlista] Used terms: j, i