| prime(i), 0 < i0, 0 < i1, ∀ i2, i, i1, j, j0. i→n(i2) < i→n(i0) → true → prime(i) ∧ 0 < i2 ∧ 0 < i1 ∧ ¬ i | j ∧ ¬ i | j0 → (i ^ i2 * j = i ^ i1 * j0 ↔ i ^ i2 = i ^ i1 ∧ j = j0) ⊦ i0 = 1, i ^ (i0 - 1) * j = j0 * i ^ (i1 - 1) ↔ i ^ (i0 - 1) = i ^ (i1 - 1) ∧ j = j0, i = 0, i ^ (i0 - 1) * j = i ^ (i1 - 1) * j0 ↔ i ^ (i0 - 1) = i ^ (i1 - 1) ∧ j = j0, i | j0, i | j, 1 < i0 ∧ 1 < i1 |
0 < i0, 1 < i0, prime(i), ∀ i2, i, i1, j, j0. i→n(i2) < i→n(i0) → true → prime(i) ∧ 0 < i2 ∧ 0 < i1 ∧ ¬ i | j ∧ ¬ i | j0 → (i ^ i2 * j = i ^ i1 * j0 ↔ i ^ i2 = i ^ i1 ∧ j = j0) ⊦ i0 = 1, i = 0, i ^ (i0 - 1) = 1, i | j, i | i ^ (i0 - 1)
Used simplifier rules: prime-divides: ⊦ prime(i) → (i | j * j0 ↔ i | j ∨ i | j0); from specification int-gcd%forward-pos: ⊦ i < j ∧ 0 < i → 0 < j ∧ 1 < j; (forward) from specification int-basic1%lel: ⊦ i < i0 ∧ i = i1 → i1 < i0; (forward) from specification oelem[intlista]%one-01: ⊦ i = 1 → i * j = j; from specification int-mult%commutativity: ⊦ i * j = j * i; from specification int-mult%associativity: ⊦ i * j * j0 = (i * j) * j0; from specification int-mult%one: ⊦ 1 * i = i; from specification int-mult%Pot-zero: ⊦ j ^ 0 = 1; from specification int-pot%sub-eq-01: ⊦ i = j → i - j = 0; from specification int-abs%bet: ⊦ 0 < i → (i ≤ 1 ↔ i = 1); from specification int-abs%lels: ⊦ ¬ i < j ↔ j ≤ i; from specification int-abs%lels-03: ⊦ i < j → (¬ ¬ j ≤ i ↔ false); from specification int-abs%lsone: ⊦ i < 1 ↔ i ≤ 0; from specification int-abs%lst-01: ⊦ ¬ i < j → (i ≠ j ↔ j < i); from specification int-basic1