| 0 < i / j, 0 < i, j < j0, j < i, j0 < i / j, prime(j), prime(j0), j0 | i / j, 0 ≤ i / j, 0 ≤ i, 2 ≤ i, 2 ≤ i / j, ∀ j0. j < j0 ∧ j0 < i ∧ prime(j0) → ¬ j0 | i, ∀ j1. j0 < j1 ∧ j1 < i / j ∧ prime(j1) → ¬ j1 | i / j, ∃ i0. j * i0 = i ⊦ prime(i), prime(i / j) |
0 < i0, j < j0, j0 < i0, 0 < j0, 1 < j0, 0 < j, prime(j0), prime(j), j0 | i0, 0 ≤ j, 0 ≤ i0, 2 ≤ i0, 2 ≤ j * i0, ∀ j0. j < j0 ∧ j0 < j * i0 ∧ prime(j0) → ¬ j0 | j * i0, ∀ j1. j0 < j1 ∧ j1 < i0 ∧ prime(j1) → ¬ j1 | i0 ⊦ prime(j * i0), prime(i0)
Used simplifier rules: prime-not-neg-01: ⊦ j ≤ 0 → ¬ prime(j);%i0 ≠ 0, i0 < i ⊦ (* i) ≤ j → (* i0) < j; (s)% ⊦ i ≤ 0 ∧ 0 ≤ j → i ≤ j; (s)%forward-le: ⊦ i ≤ j ∧ 0 < i → 0 < j; (forward) from specification int-abs%forward-le-01: ⊦ i ≤ j ∧ 0 ≤ i → 0 ≤ j; (forward) from specification int-abs%forward-le-05: ⊦ i < j ∧ 0 ≤ i → 0 < j; (forward) from specification int-abs%forward-pos: ⊦ i < j ∧ 0 < i → 0 < j ∧ 1 < j; (forward) from specification int-basic1% ⊦ 0 < i → (i < i * j ↔ 1 < j); (s)% ⊦ 0 < i → (0 < i * j ↔ 0 < j); (s)% ⊦ 0 < i → (0 ≤ i * j ↔ 0 ≤ j); (s)%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)