| # 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 ⊦ |
32 = n + # int2bits(128), i2b(bits2uint(firstn(31, mklist(false, n) + int2bits(128)))) = i2b(bits2uint(firstn(31, mklist(true, 32 - # int2bits(~128)) + int2bits(~128)))), # int2bits(128) ≤ 32, # int2bits(~128) ≤ 32 ⊦
Used simplifier rules: ⊦ int2bits(j) ≠ [];% ⊦ j < 0 → int2bits(j).first;