| int2bits(i) = bits0 + bits, # bits = i→n(j), 2 ^ j * 2 < i, 0 ≤ i, 0 ≤ j ⊦ bits0 = [], (int2bits(bits2int(bitsxor(bits0 + bits, false ' + true ' + mklist(false, i→n(j)))))[# bits0 - 1] ↔ ¬ bits0[# bits0 - 1]) ∧ int2bits(bits2int(bitsxor(bits0 + bits, false ' + true ' + mklist(false, i→n(j)))))[# bits0 - 1, bits0[# bits0 - 1]] = bits0 + bits |
⊦ bits ≠ [] → (bits[# bits - 1] ↔ bits.last)
bits0 ≠ [], int2bits(i) = bits0 + bits, # bits = i→n(j), 2 ^ j * 2 < i, 0 ≤ i, 0 ≤ j ⊦ bits0 = [], (int2bits(bits2int(bitsxor(bits0 + bits, false ' + true ' + mklist(false, i→n(j)))))[# bits0 - 1] ↔ ¬ bits0.last) ∧ int2bits(bits2int(bitsxor(bits0 + bits, false ' + true ' + mklist(false, i→n(j)))))[# bits0 - 1, bits0.last] = bits0 + bits
Used terms: bits0