| j0 * i7 = (j0 * i5 + i2)^2 + i4 ^2 + (j0 * i8 + i0)^2 + i6 ^2, i2 ^2 + i1 ^2 + i0 ^2 + i ^2 = j0 * j, 0 < j, i7 < j, 1 < j0, 0 < j0 ^2, 1 < j0 ^2, 0 < j0, 0 < i7, 1 < j, ≡mod(i4, i1, j0), i7 < j0, j0 < j, j0 * i7 < j0 ^2, ∃ i0. j0 * i0 = i6 - i ⊦ j = 2, j0 = 1, j0 | ((i2 * (j0 * i5 + i2) + i1 * i4) + i0 * (j0 * i8 + i0)) + i * i6 ∧ j0 | i * (j0 * i8 + i0) + i2 * i4 - i1 * (j0 * i5 + i2) + i0 * i6 ∧ j0 | i2 * (j0 * i8 + i0) + i1 * i6 - i0 * (j0 * i5 + i2) + i * i4 ∧ j0 | i0 * i4 + i2 * i6 - i1 * (j0 * i8 + i0) + i * (j0 * i5 + i2) |
j0 * i7 = (j0 * i5 + i2)^2 + i4 ^2 + (j0 * i8 + i0)^2 + (j0 * i3 + i)^2, i2 ^2 + i1 ^2 + i0 ^2 + i ^2 = j0 * j, 0 < j, i7 < j, 1 < j0, 0 < j0 ^2, 1 < j0 ^2, 0 < j0, 0 < i7, 1 < j, ≡mod(i4, i1, j0), i7 < j0, j0 < j, j0 * i7 < j0 ^2 ⊦ j = 2, j0 = 1, j0 | ((i2 * (j0 * i5 + i2) + i1 * i4) + i0 * (j0 * i8 + i0)) + i * (j0 * i3 + i) ∧ j0 | i * (j0 * i8 + i0) + i2 * i4 - i1 * (j0 * i5 + i2) + i0 * (j0 * i3 + i) ∧ j0 | i2 * (j0 * i8 + i0) + i1 * (j0 * i3 + i) - i0 * (j0 * i5 + i2) + i * i4 ∧ j0 | i0 * i4 + i2 * (j0 * i3 + i) - i1 * (j0 * i8 + i0) + i * (j0 * i5 + i2)
Used simplifier rules: lel: ⊦ i < i0 ∧ i = i1 → i1 < i0; (forward) from specification oelem[intlista]%sub-eq: ⊦ i - j = i0 ↔ i = i0 + j; from specification int-abs