| 1 < i, 0 < i, 0 ≤ i, i < bits2int(bitsand(int2bits(i / 2) + (i % 2 = 1)', false ' + true ')), 1 < bits2int(bitsand(int2bits(i / 2) + (i % 2 = 1)', false ' + true ')), 0 < bits2int(bitsand(int2bits(i / 2) + (i % 2 = 1)', false ' + true ')), ∀ i0, j. i→n(i0) < i→n(i) → i0 < bits2int(bitsand(int2bits(i0), int2bits(j))) ∧ 0 ≤ i0 → false ⊦ |
⊦ 1 < # bits ∧ 1 < # bits0 → bitsand(bits, bits0) = bitsand(bits.butlast, bits0.butlast) + (bits.last ∧ bits0.last)
1 < #(int2bits(i / 2) + (i % 2 = 1)') ∧ 1 < #(false ' + true '), 1 < i, 0 < i, 0 ≤ i, i < bits2int ( bitsand((int2bits(i / 2) + (i % 2 = 1)').butlast, (false ' + true ').butlast) + ((int2bits(i / 2) + (i % 2 = 1)').last ∧ (false ' + true ').last)), 1 < bits2int ( bitsand((int2bits(i / 2) + (i % 2 = 1)').butlast, (false ' + true ').butlast) + ((int2bits(i / 2) + (i % 2 = 1)').last ∧ (false ' + true ').last)), 0 < bits2int ( bitsand((int2bits(i / 2) + (i % 2 = 1)').butlast, (false ' + true ').butlast) + ((int2bits(i / 2) + (i % 2 = 1)').last ∧ (false ' + true ').last)), ∀ i0, j. i→n(i0) < i→n(i) → i0 < bits2int(bitsand(int2bits(i0), int2bits(j))) ∧ 0 ≤ i0 → false ⊦
Used simplifier rules: ⊦ #(bits + bits0) = # bits + # bits0;% ⊦ # boolvar ' = 0 +1;% ⊦ (bits + bits0) + bits1 = bits + bits0 + bits1;% ⊦ 1 < m ↔ ¬(m = 0 ∨ m = 1);% ⊦ m + 1 ≠ 0;% ⊦ (m + n0) + n1 = m + n0 + n1;% ⊦ m + n = n + m;% ⊦ 1 = m + 1 ↔ m = 0;% ⊦ # bits = 0 ↔ bits = [];% ⊦ int2bits(j) ≠ []; Used terms: false ' + true ', int2bits(i / 2) + (i % 2 = 1)'