| j0 * i7 = (j0 * i5 + i2)^2 + (j0 * i6 + i1)^2 + (j0 * i8 + i0)^2 + (j0 * i3 + i)^2, i2 ^2 + i1 ^2 + i0 ^2 + i ^2 = j0 * j, i7 < j0, j0 < j, j0 * i7 < j0 ^2, 0 < j, i7 < j, 1 < j0, 0 < j0 ^2, 1 < j0 ^2, 0 < j0, 0 < i7, 1 < j ⊦ j = 2, j0 = 1, i1 * i + (i2 * i8 + i1 * i3) * j0 = (j0 * i8) * i2 + i1 * (j0 * i3 + i), j0 | ((i2 * (j0 * i5 + i2) + i1 * (j0 * i6 + i1)) + i0 * (j0 * i8 + i0)) + i * (j0 * i3 + i) ∧ j0 | i * (j0 * i8 + i0) + i2 * (j0 * i6 + i1) - i1 * (j0 * i5 + i2) + i0 * (j0 * i3 + i) ∧ j0 | (j0 * i8) * i2 + i1 * (j0 * i3 + i) - (j0 * i5) * i0 + (j0 * i6) * i + i1 * i |
⊦ (i + i0) * j = i * j + i0 * j
Used simplifier rules: associativity: ⊦ i * j * j0 = (i * j) * j0; from specification int-mult%commutativity: ⊦ i * j = j * i; from specification int-mult%add-in: ⊦ i + j = i + i0 ↔ j = i0; from specification int-basic2%eq-dist: ⊦ (i + j) * i0 = j0 + j * i0 ↔ i * i0 = j0; from specification int-mult%add-a: ⊦ i + j + i0 = (i + j) + i0; from specification int-basic2%add-c: ⊦ i + j = j + i; from specification int-basic2 Used terms: j0, i1 * i3, i2 * i8