| ¬ 9 ≤ # uint2bits(i % 256), uint2bits(i) = uint2bits(i / 256) + fillsgn(9, uint2bits(i % 256)).rest, i % 256 < i, 0 < i % 256, 0 ≤ i, 255 < i, # uint2bits(i % 256) ≤ 9, i % 256 ≤ 255, 127 < i % 256, 0 < i, 1 < i, 127 < i, 128 < i ⊦ i2b(bits2int(fillsgn(9, uint2bits(i % 256)).rest)) = i2b(i % 256 - 256), fillsgn(9, uint2bits(i % 256)) = [], i % 256 = bits2int(fillsgn(9, uint2bits(i % 256)).rest) + 256 |
uint2bits(i) = uint2bits(i / 256) + fillsgn(9, uint2bits(i % 256)).rest, # uint2bits(i % 256) < 9, 255 < i, 0 ≤ i, 0 < i % 256, i % 256 < i, 128 < i, 127 < i, 1 < i, 0 < i, 127 < i % 256, i % 256 ≤ 255 ⊦ # uint2bits(i % 256) = 9, i % 256 = bits2int(fillsgn(9, uint2bits(i % 256)).rest) + 256, fillsgn(9, uint2bits(i % 256)) = [], i2b(bits2int(fillsgn(9, uint2bits(i % 256)).rest)) = i2b(i % 256 - 256)
Used simplifier rules: ⊦ m < n → n ≠ 0; (forward)% ⊦ m ≠ n → (m ≤ n ↔ m < n);% ⊦ m ≤ n → (n ≤ m ↔ m = n);