| ¬ true ∈ fillsgn(i→n(i) + 1, uint2bits(~(j % 2 ^ i))).rest, 0 ≤ i, j < 0, j + 2 ^ i < i, j + 2 ^ i ≤ 0, 0 < i ⊦ sgn((bitsinvert(uint2bits(~(j / 2 ^ i))) + bitsinvert(fillsgn(i→n(i) + 1, uint2bits(~(j % 2 ^ i))).rest))+1) = int2bits(j / 2 ^ i - 1) + fillsgn(i→n(i) + 1, int2bits(j % 2 ^ i)).rest, j % 2 ^ i = 0 |
0 ≤ i, j < 0, j + 2 ^ i < i, j + 2 ^ i ≤ 0, 0 < i ⊦ j % 2 ^ i = 0, sgn(bitsinvert(uint2bits(~(j / 2 ^ i))) +1 + fillsgn(i→n(i) + 1, uint2bits(~(j % 2 ^ i))).rest) = int2bits(j / 2 ^ i - 1) + fillsgn(i→n(i) + 1, int2bits(j % 2 ^ i)).rest, true ∈ fillsgn(i→n(i) + 1, uint2bits(~(j % 2 ^ i))).rest
Used simplifier rules: ⊦ (bits + bits0) + bits1 = bits + bits0 + bits1;% ⊦ ¬ true ∈ bits0 → (bits + bitsinvert(bits0))+1 = bits +1 + bits0;