| 0 ≤ j, i < 0, j < 32, 0 < j ⊦ bits2int(sublist(0, # int2bits(i), mklist(true, i→n(j)) + int2bits(i))) = bits2int(sublist(0, # int2bits((i - 1) / 2), mklist(true, i→n(j - 1)) + int2bits((i - 1) / 2))) |
⊦ j < 0 ∧ j ≠ ~1 → int2bits(j) = int2bits((j - 1) / 2) + (~1 = j % 2)'
i < 0 ∧ i ≠ ~1, 0 ≤ j, i < 0, j < 32, 0 < j ⊦ bits2int(sublist(0, #(int2bits((i - 1) / 2) + (~1 = i % 2)'), mklist(true, i→n(j)) + int2bits((i - 1) / 2) + (~1 = i % 2)')) = bits2int(sublist(0, # int2bits((i - 1) / 2), mklist(true, i→n(j - 1)) + int2bits((i - 1) / 2)))
Used simplifier rules: ⊦ ¬ i < j ↔ j ≤ i;% ⊦ i < j → (¬ ¬ j ≤ i ↔ false);%i < 0 ⊦ int2bits((* i)) = sgn(bitsinvert(uint2bits(abs(i))) +1);% ⊦ uint2bits(1) = false + true;% ⊦ boolvar + boolvar0 = boolvar ' + boolvar0 ';% ⊦ bitsinvert(false ' + bits) = true + bitsinvert(bits);% ⊦ bitsinvert(true ') = false ';% ⊦ boolvar + bits = boolvar ' + bits;% ⊦ (bits + bits0) + bits1 = bits + bits0 + bits1;% ⊦ (bits + false ')+1 = bits + true;% ⊦ bits + boolvar = bits + boolvar ';% ⊦ sgn(true ' + true ') = true ';% ⊦ # boolvar ' = 0 +1;% ⊦ mklist(boolvar, n) + boolvar ' = boolvar ' + mklist(boolvar, n);%n ≠ 0 ⊦ sublist(0, (* n), boolvar ' + bits) = boolvar ' + sublist(0, n -1, bits);% ⊦ sublist(0, 0, bits) = [];% ⊦ bits + [] = bits;% ⊦ bits2int(true ') = ~1; Used terms: i