| ¬ ¬ i ∈ all_prime_divisors(j / max_prime_divisor(j)), all_prime_divisors((j / max_prime_divisor(j)) / i) = all_prime_divisors(j / max_prime_divisor(j)) -1l i, 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) |
all_prime_divisors((j / max_prime_divisor(j)) / i) = all_prime_divisors(j / max_prime_divisor(j)) -1l i, prime(j / i), 0 ≤ j, i | j, prime(i), 0 < j, 2 ≤ j, i | j / max_prime_divisor(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)) -1l i) + max_prime_divisor(j) ', prime(j)
Used simplifier rules: all_prime_divisors-in-01: ⊦ j ∈ all_prime_divisors(i) ↔ prime(j) ∧ j | i ∧ 2 ≤ i;%max_prime_divisor-ge2: ⊦ ¬ prime(i) ∧ 2 ≤ i → 2 ≤ i / max_prime_divisor(i); from specification int-gcd%a: ⊦ (ints + ints0) + ints1 = ints + ints0 + ints1; from specification list[intlista]%app: ⊦ i ∈ ints → (ints + ints0) -1l i = (ints -1l i) + ints0; from specification list-del[intlista]