| i0 < i1, 0 ≤ i1, 2 ≤ i0 * i1, 0 < i0, 2 < i0 * i1, 1 < i0, 0 < i1, 1 < i1, 2 < i1, 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) ⊦ |
2 < i1, 0 < i1, 1 < i0, 2 < i0 * i1, 0 < i0, 2 ≤ i0 * i1, 0 ≤ i1, i0 < i1, 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;%ls-01: ⊦ i < j → ¬ j < i; from specification int-basic1%lels-01: ⊦ ¬ i ≤ j ↔ j < i; from specification int-abs%commutativity: ⊦ i * j = j * i; from specification int-mult%associativity: ⊦ i * j * j0 = (i * j) * j0; from specification int-mult%le-pos: ⊦ 0 < i → (i * j ≤ i * i0 ↔ j ≤ i0); from specification int-mult%numlslsdel-01: i0 ≠ 0, i0 < i ⊦ (* i) < j → (* i0) < j; from specification int-basic1