| 8 = # fillsgn(9, uint2bits(i % 256)).rest, uint2bits(i) = uint2bits(i / 256) + fillsgn(9, uint2bits(i % 256)).rest, # uint2bits(i % 256) ≤ 9, 255 < i, 0 < i, 0 ≤ i ⊦ fillsgn(9, uint2bits(i % 256)) = [], bits2bytes(uint2bits(i / 256)) = bits2bytes(uint2bits(i / 256)) ∧ i2b(bits2int(fillsgn(9, uint2bits(i % 256)).rest)) = bits2bytes(int2bits(i % 256)).last |
uint2bits(i) = uint2bits(i / 256) + fillsgn(9, uint2bits(i % 256)).rest, # uint2bits(i % 256) ≤ 9, 255 < i, 0 < i, 0 ≤ i ⊦ fillsgn(9, uint2bits(i % 256)) = [], i2b(bits2int(fillsgn(9, uint2bits(i % 256)).rest)) = bits2bytes(int2bits(i % 256)).last
Used simplifier rules: ⊦ # bits ≤ n → # fillsgn(n, bits) = n;% ⊦ bits ≠ [] → # bits.rest = (# bits)-1;