| ¬ prime(j / i) ∧ 2 ≤ j / i → (∃ j0. prime(j0) ∧ j0 | j / i ∧ j0 < j / i ∧ (∀ j1. j0 < j1 ∧ j1 < j / i ∧ prime(j1) → ¬ j1 | j / i)), all_prime_divisors((j / j0) / i) = all_prime_divisors(j / j0) -1l i, j0 < j, j0 | j, prime(j0), i | j / j0, 0 ≤ j / i, 0 < j / i, 0 ≤ j, i | j, prime(i), 0 < j, 2 ≤ j, 2 ≤ j / i, ∀ j1. j0 < j1 ∧ j1 < j ∧ prime(j1) → ¬ j1 | 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 ⊦ all_prime_divisors((j / i) / max_prime_divisor(j / i)) + max_prime_divisor(j / i) ' = (all_prime_divisors(j / j0) -1l i) + j0 ', max_prime_divisor(j / i) = j0, prime(j / i), prime(j) |
all_prime_divisors((j / j0) / i) = all_prime_divisors(j / j0) -1l i, j0 < j, j0 | j, prime(j0), i | j / j0, 0 ≤ j / i, 0 < j / i, 0 ≤ j, i | j, prime(i), 0 < j, 2 ≤ j, 2 ≤ j / i, prime(j2), j2 | j / i, j2 < j / i, ∀ j1. j0 < j1 ∧ j1 < j ∧ prime(j1) → ¬ j1 | j, ∀ j1. j2 < j1 ∧ j1 < j / i ∧ prime(j1) → ¬ j1 | j / i, ∀ 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 ⊦ all_prime_divisors((j / i) / max_prime_divisor(j / i)) + max_prime_divisor(j / i) ' = (all_prime_divisors(j / j0) -1l i) + j0 ', max_prime_divisor(j / i) = j0, prime(j / i), prime(j)
Used simplifier rules: numleledel-01: i0 ≠ 0, i0 ≤ i ⊦ (* i) ≤ j → (* i0) ≤ j; from specification int-abs