| j < i, j < max_prime_divisor(i / j), 0 < i, i / j < 2, i / j < i, prime(j), 2 ≤ i, 0 ≤ i, ∀ j0. j < j0 ∧ j0 < i ∧ prime(j0) → ¬ j0 | i, ∃ i0. j * i0 = i ⊦ prime(i) |
j < j * i0, i0 < 2, j < max_prime_divisor(i0), 0 < j * i0, i0 < j * i0, prime(j), 2 ≤ j * i0, 0 ≤ j * i0, ∀ j0. j < j0 ∧ j0 < j * i0 ∧ prime(j0) → ¬ j0 | j * i0 ⊦ prime(j * i0)
Used simplifier rules: forward-le-01: ⊦ i ≤ j ∧ 0 ≤ i → 0 ≤ j; (forward) from specification int-abs%forward-le: ⊦ i ≤ j ∧ 0 < i → 0 < j; (forward) from specification int-abs%forward-lsle: ⊦ i < j ∧ j ≤ j0 → i < j0; (forward) from specification int-abs%j ≠ 0 ⊦ (i * j) / j = i; (s)%commutativity: ⊦ i * j = j * i; from specification int-mult%associativity: ⊦ i * j * j0 = (i * j) * j0; from specification int-mult% ⊦ i * 0 = 0; (s)