| ∃ bits0, bits1. int2bits(i) = bits0 + bits1 ∧ # bits1 = i→n(j), 2 ^ j * 2 < i, 0 ≤ i, 0 ≤ j ⊦ ( int2bits(bits2int(bitsxor(int2bits(i), false ' + true ' + mklist(false, i→n(j)))))[# int2bits(i) - i→n(j) + 1] ↔ ¬ int2bits(i)[# int2bits(i) - i→n(j) + 1]) ∧ int2bits(bits2int(bitsxor(int2bits(i), false ' + true ' + mklist(false, i→n(j))))) [# int2bits(i) - i→n(j) + 1, int2bits(i)[# int2bits(i) - i→n(j) + 1] ] = int2bits(i) |
int2bits(i) = bits0 + bits, # bits = i→n(j), 2 ^ j * 2 < i, 0 ≤ i, 0 ≤ j ⊦ (int2bits(bits2int(bitsxor(bits0 + bits, false ' + true ' + mklist(false, i→n(j)))))[# bits0 - 1] ↔ ¬ (bits0 + bits)[# bits0 - 1]) ∧ int2bits(bits2int(bitsxor(bits0 + bits, false ' + true ' + mklist(false, i→n(j)))))[# bits0 - 1, (bits0 + bits)[# bits0 - 1]] = bits0 + bits
Used simplifier rules: ⊦ (m + n0) + n1 = m + n0 + n1;% ⊦ m + n - n + n1 = m - n1;% ⊦ #(bits + bits0) = # bits + # bits0;% ⊦ m + n = n + m;% ⊦ (bits + bits0) + bits1 = bits + bits0 + bits1;