| all_prime_divisors(((i * i0) / max_prime_divisor(i * i0)) / i) = all_prime_divisors((i * i0) / max_prime_divisor(i * i0)) -1l i, prime(i), 2 ≤ i * i0, i | (i * i0) / max_prime_divisor(i * i0), prime(i0), 0 < i * i0, 0 ≤ i * i0, j | i * i0, i < j, j < i * i0, prime(j), i < i * i0, ∀ 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 ⊦ i0 ' = (all_prime_divisors((i * i0) / max_prime_divisor(i * i0)) -1l i) + max_prime_divisor(i * i0) ', prime(i * i0) |
⊦ j | i ∧ prime(j) ∧ j < i ∧ (∀ j0. j < j0 ∧ j0 < i ∧ prime(j0) → ¬ j0 | i) → max_prime_divisor(i) = j
¬(i0 | i * i0 ∧ prime(i0) ∧ i0 < i * i0 ∧ (∀ j0. i0 < j0 ∧ j0 < i * i0 ∧ prime(j0) → ¬ j0 | i * i0)), all_prime_divisors(((i * i0) / max_prime_divisor(i * i0)) / i) = all_prime_divisors((i * i0) / max_prime_divisor(i * i0)) -1l i, prime(i), 2 ≤ i * i0, i | (i * i0) / max_prime_divisor(i * i0), prime(i0), 0 < i * i0, 0 ≤ i * i0, j | i * i0, i < j, j < i * i0, prime(j), i < i * i0, ∀ 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 ⊦ i0 ' = (all_prime_divisors((i * i0) / max_prime_divisor(i * i0)) -1l i) + max_prime_divisor(i * i0) ', prime(i * i0)
Used simplifier rules: all_prime_divisors-prime: ⊦ prime(i) → all_prime_divisors(i) = i ';%Mult-zero: ⊦ i * 0 = 0; from specification int-mult%associativity: ⊦ i * j * j0 = (i * j) * j0; from specification int-mult%commutativity: ⊦ i * j = j * i; from specification int-mult%div-zero-zero: ⊦ 0 | i ↔ i = 0; from specification int-gcd%div-mult-03: j ≠ 0 ⊦ (i * j) / j = i; from specification int-div%one-01: ⊦ i ' -1l i = []; from specification list-del[intlista]%Nil: ⊦ [] + 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: i0, i * i0