| ⊦ bits2int (sublist (0, 32, mklist(false, i→n(bits2int(bitsand(((((false ' + true ') + false ') + false ') + false ') + false ', int2bits(31))))) + true ' + true ' + true ' + true ' + true ' + true ' + true ' + true ' + true ' + true ' + true ' + true ' + true ' + true ' + true ' + true ' + true ' + true ' + true ' + true ' + true ' + true ' + true ' + true ' + true ' + true ' + true ' + true ' + true ' + true ' + true ' + true ')) = 65535 |
⊦ 0 ≤ i → int2bits(i) = uint2bits(i)
Used simplifier rules: bitsand-rec: ⊦ bitsand (bits + boolvar ' + boolvar0 ', bits0 + boolvar1 ' + boolvar2 ') = bitsand(bits + boolvar, bits0 + boolvar1) + (boolvar0 ∧ boolvar2);%and-two: ⊦ bitsand(boolvar ' + boolvar0 ', boolvar1 ' + boolvar2 ') = (boolvar ∧ boolvar1)' + (boolvar0 ∧ boolvar2)';%1 < i ⊦ uint2bits((* i)) = uint2bits(i / 2) + (i % 2 = 1);% ⊦ uint2bits(1) = false + true;% ⊦ boolvar + boolvar0 = boolvar ' + boolvar0 ';% ⊦ bits + boolvar = bits + boolvar ';% ⊦ (bits + bits0) + bits1 = bits + bits0 + bits1;% ⊦ bits2int(false ' + bits) = bits2uint(bits);% ⊦ bits2uint(bits + false ') = bits2uint(bits) * 2;% ⊦ bits2uint(true ') = 1;%n ≠ 0 ⊦ mklist(false, (* n)) = false ' + mklist(false, n -1);% ⊦ mklist(boolvar, 0) = [];% ⊦ bits + [] = bits;%n ≠ 0 ⊦ sublist(0, (* n), boolvar ' + bits) = boolvar ' + sublist(0, n -1, bits);% ⊦ sublist(0, 0, bits) = [];% ⊦ bits2uint(bits + true ') = bits2uint(bits) * 2 + 1;% ⊦ bits2uint(false ') = 0; Used terms: 31