| 0 ≤ i * 8, i→n(i * 8) + 1 = 8 * i→n(i) + 8, 0 ≤ 2 ^ (i * 8) + j, 0 < i, j + 2 ^ (i * 8 - 1) < 0, 0 < j + 2 ^ (i * 8), 0 < 2 ^ (i * 8) + j, j < 0 ⊦ bits2int(firstn(8, int2bits(j))) = ~1, i2b(bits2int(firstn(8, int2bits(j)))) = i2b(~1), i = 0, j = 0 |
i→n(i * 8) = 7 + 8 * i→n(i), 0 ≤ 2 ^ (i * 8) + j, 0 < i, j + 2 ^ (i * 8 - 1) < 0, 0 < j + 2 ^ (i * 8), 0 < 2 ^ (i * 8) + j, j < 0 ⊦ bits2int(firstn(8, int2bits(j))) = ~1, i2b(bits2int(firstn(8, int2bits(j)))) = i2b(~1), i = 0, j = 0
Used simplifier rules: ⊦ i + j = j + i;% ⊦ i + j + i0 = (i + j) + i0;% ⊦ i * j = j * i;% ⊦ i * j * j0 = (i * j) * j0;% ⊦ 0 < i → (0 ≤ i * j ↔ 0 ≤ j);% ⊦ m + n = n + m;% ⊦ (m + n0) + n1 = m + n0 + n1;%n < n0 ⊦ m + (* n) = m0 + (* n0) ↔ m = m0 + (n0 - n);