| 32 = n + # int2bits(128), i2b(bits2uint(firstn(31, mklist(false, n) + int2bits(128)))) = i2b(bits2uint(firstn(31, fillsgn(32, int2bits(~128))))), # int2bits(128) ≤ 32, # int2bits(~128) ≤ 32 ⊦ |
⊦ # bits ≤ n ∧ bits ≠ [] → fillsgn(n, bits) = mklist(bits.first, n - # bits) + bits
# int2bits(~128) ≤ 32 ∧ int2bits(~128) ≠ [], 32 = n + # int2bits(128), i2b(bits2uint(firstn(31, mklist(false, n) + int2bits(128)))) = i2b(bits2uint(firstn(31, mklist(int2bits(~128).first, 32 - # int2bits(~128)) + int2bits(~128)))), # int2bits(128) ≤ 32, # int2bits(~128) ≤ 32 ⊦
Used simplifier rules: ⊦ ¬ m ≤ n ↔ n < m;% ⊦ m ≤ n → (n < m ↔ false);% ⊦ int2bits(j) ≠ []; Used terms: int2bits(~128), 32