| j * i = (j1 ^2 + j0 ^2) + 1, j1 ^2 ≤ (j - 1) / 2 * (j - 1) / 2, j0 ^2 ≤ (j - 1) / 2 * (j - 1) / 2, 0 ≤ j1, 0 ≤ j, prime(j), j0 ≤ (j - 1) / 2, j1 ≤ (j - 1) / 2, 0 ≤ j0, 0 < j, 0 < i, 0 ≤ i, j * j ≤ 2 * (j - 1) / 2 * (j - 1) / 2 + 1, j ≤ i, j * i ≤ 2 * (j - 1) / 2 * (j - 1) / 2 + 1 ⊦ j = 2 |
2 * (j - 1) / 2 * (j - 1) / 2 = (2 * (j - 1) / 2) * (j - 1) / 2, j * i = (j1 ^2 + j0 ^2) + 1, j1 ^2 ≤ (j - 1) / 2 * (j - 1) / 2, j0 ^2 ≤ (j - 1) / 2 * (j - 1) / 2, 0 ≤ j1, 0 ≤ j, prime(j), j0 ≤ (j - 1) / 2, j1 ≤ (j - 1) / 2, 0 ≤ j0, 0 < j, 0 < i, 0 ≤ i, j * j ≤ 2 * (j - 1) / 2 * (j - 1) / 2 + 1, j ≤ i, j * i ≤ 2 * (j - 1) / 2 * (j - 1) / 2 + 1 ⊦ j = 2
Used simplifier rules: associativity: ⊦ i * j * j0 = (i * j) * j0; from specification int-mult%commutativity: ⊦ i * j = j * i; from specification int-mult Used formulas: 2 * (j - 1) / 2 * (j - 1) / 2 = (2 * (j - 1) / 2) * (j - 1) / 2