| mklist(true, i→n(j) - 1) + int2bits((i - 1) / 2) ≠ [] ∧ # int2bits((i - 1) / 2) ≠ 0, i < 0, j < 32, 0 < j ⊦ j = 0, i = ~1, bits2int ( true ' + (mklist(true, i→n(j) - 1) + int2bits((i - 1) / 2)).first ' + sublist(0, (# int2bits((i - 1) / 2))-1, (mklist(true, i→n(j) - 1) + int2bits((i - 1) / 2)).rest)) = bits2int(sublist(0, # int2bits((i - 1) / 2), mklist(true, i→n(j - 1)) + int2bits((i - 1) / 2))), ( (mklist(true, i→n(j) - 1) + int2bits((i - 1) / 2)).first ' + sublist(0, (# int2bits((i - 1) / 2))-1, (mklist(true, i→n(j) - 1) + int2bits((i - 1) / 2)).rest) ).first |
i < 0, j < 32, 0 < j ⊦ mklist(true, i→n(j) - 1) + int2bits((i - 1) / 2) = [], j = 0, i = ~1, bits2int(true ' + false ' + sublist(0, # int2bits((i - 1) / 2) - 1, (mklist(true, i→n(j) - 1) + int2bits((i - 1) / 2)).rest)) = bits2int(sublist(0, # int2bits((i - 1) / 2), mklist(true, i→n(j - 1)) + int2bits((i - 1) / 2))), (mklist(true, i→n(j) - 1) + int2bits((i - 1) / 2)).first
Used simplifier rules: ⊦ (bits + bits0) + bits1 = bits + bits0 + bits1;% ⊦ (boolvar ' + bits).first ↔ boolvar;% ⊦ int2bits(j) ≠ [];% ⊦ # bits = 0 ↔ bits = [];% ⊦ n -1 = n - 1;