| 2 * i = 2 * j2 ^2 + (2 * i1)^2 + 4 * i1 + 1 + 2 * (2 * i1 + 1) * j2 ⊦ 2 * j2 ^2 + (2 * i1)^2 + 4 * i1 + 1 + 2 * (2 * i1 + 1) * j2 = 2 * (j2 ^2 + 2 * i1 ^2 + 2 * i1 + (2 * i1 + 1) * j2) + 1, i = ((2 * i1 + 1) / 2)^2 + ((2 * j2 + 2 * i1 + 1) / 2)^2 |
2 * i = 2 * j2 ^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, (2 * i1 ^2 + 2 * i1) * 2 = (2 * i1)^2 + 4 * i1
Used simplifier rules: add-c: ⊦ i + j = j + i; from specification int-basic2%add-a: ⊦ i + j + i0 = (i + j) + i0; from specification int-basic2%commutativity: ⊦ i * j = j * i; from specification int-mult%associativity: ⊦ i * j * j0 = (i * j) * j0; from specification int-mult%eq-dist: ⊦ (i + j) * i0 = j0 + j * i0 ↔ i * i0 = j0; from specification int-mult%add-in: ⊦ i + j = i + i0 ↔ j = i0; from specification int-basic2