| band(j, 31) ≤ 31 ∧ 0 ≤ band(j, 31), ~2147483648 ≤ i, i < 0 ⊦ band(j, 31) = 0, bits2int(sublist(0, # fillsgn(32, int2bits(i)), mklist(false, i→n(band(j, 31))) + fillsgn(32, int2bits(i)))) = (i i>> j) + bits2int(int2bits(2) + mklist(false, i→n(31) - i→n(band(j, 31)))), false ∈ int2bits(31).rest |
~2147483648 ≤ i, i < 0, band(j, 31) ≤ 31, 0 < band(j, 31) ⊦ 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, 31 - i→n(band(j, 31)))) + (i i>> j), false ∈ int2bits(31).rest
Used simplifier rules: band-commutativity: ⊦ band(i, j) = band(j, i);% ⊦ i < j ∧ 0 ≤ i → 0 < j; (forward)% ⊦ i ≠ j → (i ≤ j ↔ i < j);