| 2 ^ i ≤ j, 0 ≤ i, 2 ^ i < j ⊦ uint2bits(j) = uint2bits(j / 2 ^ i) + fillsgn(i→n(i) + 1, sgn(false ' + lastn(i→n(i), uint2bits(j).rest))).rest |
0 ≤ i, 2 ^ i ≤ j ⊦ uint2bits(j / 2 ^ i) = butlastn(i→n(i), uint2bits(j))
0 ≤ i ∧ 2 ^ i ≤ j, 2 ^ i ≤ j, 0 ≤ i, 2 ^ i < j ⊦ uint2bits(j) = butlastn(i→n(i), uint2bits(j)) + fillsgn(i→n(i) + 1, sgn(false ' + lastn(i→n(i), uint2bits(j).rest))).rest
Used simplifier rules: ⊦ ¬ i ≤ j ↔ j < i;% ⊦ i ≤ j → (¬ ¬ j < i ↔ false);% ⊦ i < j → ¬ j < i; Used terms: i, j