| ⊦ (i + j) * (i + j) = i ^2 + 2 * i * j + j ^2 |
⊦ i * i + j * j = i ^2 + j ^2
Used simplifier rules: add-in: ⊦ i + j = i + i0 ↔ j = i0; from specification int-basic2%add-mult-two: ⊦ i + i = 2 * i; from specification int-mult%commutativity: ⊦ i * j = j * i; from specification int-mult%associativity: ⊦ i * j * j0 = (i * j) * j0; from specification int-mult%add-c: ⊦ i + j = j + i; from specification int-basic2%add-a: ⊦ i + j + i0 = (i + j) + i0; from specification int-basic2%dist-rsplit: ⊦ i * (j + j0) = i * j + i * j0; from specification int-mult