| 2 * 2 ^ (31 - band(j, 31)) = 2 ^ (32 - band(j, 31)), # int2bits(i) ≤ 32, ~2147483648 ≤ i, i < 0, band(j, 31) ≤ 31, 0 < band(j, 31) ⊦ 32 - i→n(band(j, 31)) = 0, band(j, 31) = 0, bits2uint(firstn(32 - i→n(band(j, 31)), fillsgn(32, int2bits(i)))) = bits2int(true ' + firstn(32 - i→n(band(j, 31)), fillsgn(32, int2bits(i)))) + 2 ^ (32 - band(j, 31)), false ∈ int2bits(31).rest |
⊦ bits ≠ [] ∧ bits.first → bits2uint(bits) = bits2int(bits) + 2 ^ n→i(# bits)
¬(firstn(32 - i→n(band(j, 31)), fillsgn(32, int2bits(i))) ≠ [] ∧ firstn(32 - i→n(band(j, 31)), fillsgn(32, int2bits(i))).first), 2 * 2 ^ (31 - band(j, 31)) = 2 ^ (32 - band(j, 31)), # int2bits(i) ≤ 32, ~2147483648 ≤ i, i < 0, band(j, 31) ≤ 31, 0 < band(j, 31) ⊦ 32 - i→n(band(j, 31)) = 0, band(j, 31) = 0, bits2uint(firstn(32 - i→n(band(j, 31)), fillsgn(32, int2bits(i)))) = bits2int(true ' + firstn(32 - i→n(band(j, 31)), fillsgn(32, int2bits(i)))) + 2 ^ (32 - band(j, 31)), false ∈ int2bits(31).rest
firstn(32 - i→n(band(j, 31)), fillsgn(32, int2bits(i))) ≠ [] ∧ firstn(32 - i→n(band(j, 31)), fillsgn(32, int2bits(i))).first, 2 * 2 ^ (31 - band(j, 31)) = 2 ^ (32 - band(j, 31)), # int2bits(i) ≤ 32, ~2147483648 ≤ i, i < 0, band(j, 31) ≤ 31, 0 < band(j, 31) ⊦ 32 - i→n(band(j, 31)) = 0, band(j, 31) = 0, bits2int(firstn(32 - i→n(band(j, 31)), fillsgn(32, int2bits(i)))) + 2 ^ n→i(# firstn(32 - i→n(band(j, 31)), fillsgn(32, int2bits(i)))) = bits2int(true ' + firstn(32 - i→n(band(j, 31)), fillsgn(32, int2bits(i)))) + 2 ^ (32 - band(j, 31)), false ∈ int2bits(31).rest
Used terms: firstn(32 - i→n(band(j, 31)), fillsgn(32, int2bits(i)))