| 2 * i = 2 * j2 ^2 + 2 ^2 * i1 ^2 + 4 * i1 + 1 + 2 * (2 * i1 + 1) * j2 ⊦ i = ((2 * i1 + 1) / 2)^2 + ((2 * j2 + 2 * i1 + 1) / 2)^2, 4 * i1 ^2 = 2 ^2 * i1 ^2 |
2 * i = 2 * j2 ^2 + 2 ^2 * i1 ^2 + 4 * i1 + 1 + 2 * (2 * i1 + 1) * j2 ⊦ 4 * i1 ^2 = 2 ^2 * i1 ^2, i = ((2 * i1 + 1) / 2)^2 + ((2 * j2 + 2 * i1 + 1) / 2)^2, i1 = 0
Used simplifier rules: zero: ⊦ i ^2 = 0 ↔ i = 0;%commutativity: ⊦ i * j = j * i; from specification int-mult%associativity: ⊦ i * j * j0 = (i * j) * j0; from specification int-mult%neq-not-zero: ⊦ i * j ≠ i * j0 → i ≠ 0; (forward) from specification int-mult