| i | j0, i0 * i * i0 = j0 * j0, gcd(i * i0, j0) = 1, prime(i), 0 ≤ j0, 0 < i * i0 ⊦ 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);%eq-nonzero: ⊦ i ≠ 0 → (i * j = i * j0 ↔ j = j0); from specification int-mult%associativity: ⊦ i * j * j0 = (i * j) * j0; from specification int-mult%commutativity: ⊦ i * j = j * i; from specification int-mult%eq-one: ⊦ i * j = 1 ↔ abs(i) = 1 ∧ i = j; from specification int-mult%forward-le-01: ⊦ i ≤ j ∧ 0 ≤ i → 0 ≤ j; (forward) from specification int-abs%one: ⊦ 1 * i = i; from specification int-mult%square-eq: ⊦ i * i = j * j ↔ abs(i) = abs(j); from specification int-mult%absle: ⊦ 0 ≤ i → abs(i) = i; from specification int-abs%abs-16: ⊦ 0 < j → abs(j) = j; from specification int-abs Used terms: j0, i