| int2bits((i - 1) / 2) ≠ [], i < ~1, i < 0 ⊦ n = 0, bits2int(int2bits((i - 1) / 2)) + 2 ^ n→i(# fillsgn(n - 1, int2bits((i - 1) / 2))) = (i - 1) / 2 + 2 ^ n→i(# fillsgn(n, int2bits(i)) - 1), fillsgn(n - 1, int2bits((i - 1) / 2)) = [] |
i < ~1, i < 0 ⊦ fillsgn(n - 1, int2bits((i - 1) / 2)) = [], n = 0, 2 ^ n→i(# fillsgn(n - 1, int2bits((i - 1) / 2))) = 2 ^ n→i(# fillsgn(n, int2bits(i)) - 1)
Used simplifier rules: ⊦ int2bits(j) ≠ [];% ⊦ i + j = j + i;% ⊦ i + j + i0 = (i + j) + i0;% ⊦ i + j = i + i0 ↔ j = i0;% ⊦ bits2int(int2bits(i)) = i;