| ~2147483648 ≤ i, i < 0 ⊦ bits2uint(fillsgn(32, int2bits(i))) = 4294967296 + i |
⊦ bits ≠ [] ∧ bits.first → bits2uint(bits) = bits2int(bits) + 2 ^ n→i(# bits)
fillsgn(32, int2bits(i)) ≠ [] ∧ fillsgn(32, int2bits(i)).first, ~2147483648 ≤ i, i < 0 ⊦ bits2int(fillsgn(32, int2bits(i))) + 2 ^ n→i(# fillsgn(32, int2bits(i))) = 4294967296 + i
Used simplifier rules: ⊦ fillsgn(n, bits) = [] ↔ bits = [] ∧ n = 0;% ⊦ int2bits(j) ≠ [];% ⊦ fillsgn(n, int2bits(j)).first ↔ int2bits(j).first;% ⊦ j < 0 → int2bits(j).first; Used terms: fillsgn(32, int2bits(i))