| i0 < 31, 0 ≤ i, 0 ≤ i0, i ≤ 1 ⊦ bits2int(sublist(0, # int2bits(i), (false ' + mklist(false, i→n(i0))) + int2bits(i))) = bits2int(sublist(0, # int2bits(i / 2), mklist(false, i→n(i0)) + int2bits(i / 2))) |
Used simplifier rules: ⊦ 0 ≤ i → (i < 1 ↔ i = 0);% ⊦ i ≠ j → (i ≤ j ↔ i < j);%0 ≤ i ⊦ int2bits((* i)) = uint2bits(i);% ⊦ uint2bits(1) = false + true;% ⊦ boolvar + boolvar0 = boolvar ' + boolvar0 ';% ⊦ #(bits + bits0) = # bits + # bits0;% ⊦ # boolvar ' = 0 +1;% ⊦ (bits + bits0) + bits1 = bits + bits0 + bits1;% ⊦ 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(false ' + bits) = bits2uint(bits);% ⊦ bits2uint(false ') = 0;% ⊦ int2bits(0) = false ';% ⊦ bits2int(false ') = 0; Used formulas: i = 1