| j0 * j0 = j * i * i, j0 | i, prime(j0), 0 < j0, 0 < j, 0 < i, ∀ j1, j, i. i→n(j1) < i→n(j0) → j1 * j1 = j * i * i ∧ 0 < j1 ∧ 0 < j ∧ 0 < i → i = 0 ∨ isSquare(j) ⊦ i = 0, isSquare(j) |
⊦ i | j ↔ (∃ i0. i * i0 = j)
Used simplifier rules: eq-pos: ⊦ 0 < i → (i * j = i * j0 ↔ j = j0); from specification int-mult%eq-same-02: ⊦ 0 < i → (i * j = i ↔ j = 1); from specification int-mult%eq-one: ⊦ i * j = 1 ↔ abs(i) = 1 ∧ i = j; from specification int-mult%square-abs: ⊦ abs(i * i) = i * i; from specification int-mult%associativity: ⊦ i * j * j0 = (i * j) * j0; from specification int-mult%commutativity: ⊦ i * j = j * i; from specification int-mult%zero-neq-01: ⊦ 0 < i → (i * j = 0 ↔ j = 0); from specification int-mult%zero-gr: ⊦ 0 < i → (0 < i * j ↔ 0 < j); from specification int-mult%abs-16: ⊦ 0 < j → abs(j) = j; from specification int-abs%one-01: ⊦ i = 1 → i * j = j; from specification int-mult%lf-02: ⊦ i < j ∧ j = i0 → i < i0; (forward) from specification int-basic1%forward-le-05: ⊦ i < j ∧ 0 ≤ i → 0 < j; (forward) from specification int-abs%isSquare-one: ⊦ isSquare(1); from specification int-square Used terms: i, j0