| 0 < i1, 1 < i1, 1 < i0 * i1, i0 < i1, 1 < i0, 0 < i0, prime(i0) ∧ i0 * i0 ≤ i0 * i1 → ¬ i0 | i0 * i1, ∀ j. prime(j) ∧ j * j ≤ i0 * i1 → ¬ j | i0 * i1, ∀ i2. i→n(i2) < i→n(i0 * i1) → 0 < i2 ∧ 1 < i2 ∧ (∀ j. prime(j) ∧ j * j ≤ i2 → ¬ j | i2) → prime(i2) ⊦ |
0 < i1, 1 < i1, 1 < i0 * i1, i0 < i1, 1 < i0, 0 < i0, i0 ≤ i1, ∀ j. prime(j) ∧ j * j ≤ i0 * i1 → ¬ j | i0 * i1, ∀ i2. i→n(i2) < i→n(i0 * i1) → 0 < i2 ∧ 1 < i2 ∧ (∀ j. prime(j) ∧ j * j ≤ i2 → ¬ j | i2) → prime(i2) ⊦ prime(i0)
Used simplifier rules: div-mult: ⊦ i | i * j;% ⊦ i < j → ¬ j < i; (s)% ⊦ i ≤ j ↔ ¬ j < i; (ss)%commutativity: ⊦ i * j = j * i; from specification int-mult%associativity: ⊦ i * j * j0 = (i * j) * j0; from specification int-mult% ⊦ 0 < i → (i * j ≤ i * i0 ↔ j ≤ i0); (s)