| j < 32, i < 0, 0 < j ⊦ bits2int(sublist(0, # int2bits(i), mklist(true, i→n(band(j, 31))) + int2bits(i))) = bits2int(sublist(0, # int2bits((i - 1) / 2), mklist(int2bits((i - 1) / 2).first, i→n(band(j - 1, 31))) + int2bits((i - 1) / 2))) |
j < 32, i < 0, 0 < j ⊦ bits2int(sublist(0, # int2bits(i), mklist(true, i→n(band(j, 31))) + int2bits(i))) = bits2int(sublist(0, # int2bits((i - 1) / 2), mklist(true, i→n(band(j - 1, 31))) + int2bits((i - 1) / 2)))
Used simplifier rules: ⊦ i < j → (¬ ¬ j ≤ i ↔ false);% ⊦ ¬ i < j ↔ j ≤ i;% ⊦ i ≤ ~1 ↔ i < 0;% ⊦ i + (* j) ≤ (* j0) ↔ i ≤ j0 - j;% ⊦ i + j = j + i;% ⊦ i + j + i0 = (i + j) + i0;% ⊦ (* i) + i0 - (* j) = (i - j) + i0;% ⊦ i + (j - i0) = i + j - i0;%0 < j ⊦ i / (* j) < 0 ↔ i + j ≤ 0;% ⊦ int2bits(j).first ↔ j < 0;