| 31 = n0 + n, i2b(bits2uint(mklist(false, n) + firstn(n0, int2bits(128)))) = i2b(bits2uint(firstn(31, (mklist(true, n) + true ') + int2bits(~128)))), 32 = n + # int2bits(128), 31 = n + # int2bits(~128), n ≤ 32, n ≤ 31, # int2bits(~128) ≤ 32, # int2bits(128) ≤ 32 ⊦ |
31 = # int2bits(~128) + n, i2b(bits2uint(mklist(false, n) + firstn(# int2bits(~128), int2bits(128)))) = i2b(bits2uint(firstn(31, (mklist(true, n) + true ') + int2bits(~128)))), 32 = n + # int2bits(128), n ≤ 32, n ≤ 31, # int2bits(~128) ≤ 32, # int2bits(128) ≤ 32 ⊦
Used simplifier rules: ⊦ m = n + n0 ∧ m = n + n1 → n0 = n1; (forward)% ⊦ m + n = n + m;% ⊦ (m + n0) + n1 = m + n0 + n1;