| int2bits(s2i(sho)) ≠ [], s2i(sho) < 0 ⊦ bits2int(int2bits(s2i(sho))) + 2 ^ n→i(# fillsgn(16, int2bits(s2i(sho)))) = s2i(sho) + 65536, fillsgn(16, int2bits(s2i(sho))) = [] |
s2i(sho) < 0 ⊦ fillsgn(16, int2bits(s2i(sho))) = [], 2 ^ n→i(# fillsgn(16, int2bits(s2i(sho)))) = 65536
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;