| ~2147483648 ≤ i, i < 0, false ∈ int2bits(31).rest ⊦ band(j, 31) = 0, bits2int(sublist(0, # fillsgn(32, int2bits(i)), mklist(false, i→n(band(j, 31))) + fillsgn(32, int2bits(i)))) = bits2int(int2bits(2) + mklist(false, i→n(band(~(j + 1), 31)))) + (i i>> j) |
int2bits(31) = boolvar + bits ∧ int2bits(31) ≠ [], ~2147483648 ≤ i, i < 0, false ∈ bits ⊦ band(j, 31) = 0, bits2int(sublist(0, # fillsgn(32, int2bits(i)), mklist(false, i→n(band(j, 31))) + fillsgn(32, int2bits(i)))) = bits2int(int2bits(2) + mklist(false, i→n(band(~(j + 1), 31)))) + (i i>> j)
Used simplifier rules: ⊦ int2bits(j) ≠ [];%bits ≠ [] ⊦ (boolvar ↔ bits.first) ∧ bits0 = bits.rest ↔ bits = boolvar + bits0; (elim) Used terms: int2bits(31), boolvar, bits