| bits2int(bits) < 0, 2 ^ n→i(# bits) + bits2int(bits) < 0, 2 + # bits ≤ # int2bits(~ bits2int(bits)) ⊦ bits = [] |
⊦ 0 ≤ i → int2bits(i) = uint2bits(i)
0 ≤ ~ bits2int(bits), bits2int(bits) < 0, 2 ^ n→i(# bits) + bits2int(bits) < 0, 2 + # bits ≤ # uint2bits(~ bits2int(bits)) ⊦ bits = []
Used simplifier rules: ⊦ i ≤ ~ j ↔ i + j ≤ 0;% ⊦ i + 0 = i;% ⊦ i + j + i0 = (i + j) + i0;% ⊦ i + j = j + i;% ⊦ ¬ i ≤ j ↔ j < i;% ⊦ i < j → ¬ j < i; Used terms: ~ bits2int(bits)