| i = 2 * j1 + 1, i * i + i = 2 * j + 1 ⊦ |
2 * j = (j1 * 6 + (4 * j1) * j1) + 1 ⊦
Used simplifier rules: dist-lsplit: ⊦ (i + i0) * j = i * j + i0 * j;%associativity: ⊦ i * j * j0 = (i * j) * j0;%commutativity: ⊦ i * j = j * i;%numdist: ⊦ i0 * (* i) + i0 * (* j) = i0 * (i + j);%sub-eq: ⊦ i - j = i0 ↔ i = i0 + j; from specification int-abs%minus-add: i < 0 ⊦ (* i) + j = j - ~ i; from specification int-abs%numadd: ⊦ i + (* j) = i0 + (* j0) ↔ i = i0 + (j0 - j); from specification int-abs%add-c: ⊦ i + j = j + i; from specification int-basic2%add-a: ⊦ i + j + i0 = (i + j) + i0; from specification int-basic2