| ¬ ¬ 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, 2 ≤ j / i, 2 ≤ j, 0 < j, prime(i), i | j, 0 ≤ j, 0 < j / i, 0 ≤ 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 / max_prime_divisor(j)) + max_prime_divisor(j) ') -1l i, prime(j), prime(j / i) |
all_prime_divisors((j / max_prime_divisor(j)) / i) = all_prime_divisors(j / max_prime_divisor(j)) -1l i, 2 ≤ j / i, 2 ≤ j, 0 < j, prime(i), i | j, 0 ≤ j, 0 < j / i, 0 ≤ j / i, 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 ⊦ all_prime_divisors((j / i) / max_prime_divisor(j / i)) + max_prime_divisor(j / i) ' = (all_prime_divisors(j / max_prime_divisor(j)) -1l i) + max_prime_divisor(j) ', prime(j), prime(j / i)
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]