| ⊦ (i * i0 + j * j0)^2 = i ^2 * i0 ^2 + 2 * i * i0 * j * j0 + j ^2 * j0 ^2 |
⊦ (i + j)^2 = i ^2 + 2 * i * j + j ^2
Used simplifier rules: two-mult: ⊦ (i * j)^2 = i ^2 * j ^2;%associativity: ⊦ i * j * j0 = (i * j) * j0; from specification int-mult%commutativity: ⊦ i * j = j * i; from specification int-mult%add-a: ⊦ i + j + i0 = (i + j) + i0; from specification int-basic2%numeq: ⊦ (* i2) * i + j = (* i1) * i + j0 ↔ (i2 - i1) * i + j = j0; from specification int-mult%zero-left: ⊦ 0 * i = 0; from specification int-mult%add-zero-rev: ⊦ 0 + i = i; from specification int-basic2%add-c: ⊦ i + j = j + i; from specification int-basic2%add-in: ⊦ i + j = i + i0 ↔ j = i0; from specification int-basic2 Used terms: j * j0, i * i0