| i0 * i * i0 = j0 * j0, gcd(i * i0, j0) = 1, 0 < i * i0, prime(i), i | j0, 0 ≤ j0 ⊦ i = 0 |
⊦ i | j ↔ (∃ i0. i * i0 = j)
Used simplifier rules: gcd-mult: ⊦ gcd(i * i1, j * i1) = gcd(i, j) * abs(i1);%prime-abs: ⊦ prime(j) → abs(j) = j;%gcd-abs: ⊦ abs(gcd(i, j)) = gcd(i, j);%prime-small: ⊦ j < 2 → ¬ prime(j);%associativity: ⊦ i * j * j0 = (i * j) * j0; from specification int-mult%commutativity: ⊦ i * j = j * i; from specification int-mult% ⊦ i * j = 1 ↔ abs(i) = 1 ∧ i = j; (ws)% ⊦ i ≠ 0 → (i * j = i * j0 ↔ j = j0); (s)%forward-le-01: ⊦ i ≤ j ∧ 0 ≤ i → 0 ≤ j; (forward) from specification int-abs% ⊦ 1 * i = i; (s)% ⊦ i * i = j * j ↔ abs(i) = abs(j); (s)% ⊦ 0 ≤ i → abs(i) = i; (s) Used terms: j0, i