| int2bits(j).butlast = [], 1 < bits2int(bitsand(false ', []) + int2bits(j).last '), 0 < bits2int(bitsand(false ', []) + int2bits(j).last '), ∀ i0, j. i→n(i0) < i→n(1) → i0 < bits2int(bitsand(int2bits(i0), int2bits(j))) ∧ 0 ≤ i0 → false ⊦ j = ~1, j = 0, int2bits(j) = (¬ 0 < j)' |
Used simplifier rules: ⊦ [] + bits = bits;% ⊦ (bits + bits0) + bits1 = bits + bits0 + bits1;% ⊦ int2bits(j) ≠ [];% ⊦ i < j ∧ 0 ≤ i → 0 < j; (forward)% ⊦ i < j ∧ 0 < i → 0 < j ∧ 1 < j; (forward)% ⊦ boolvar ' = boolvar0 ' ↔ boolvar ↔ boolvar0;% ⊦ int2bits(j) = true ' ↔ j = ~1;% ⊦ ¬ i < j → (i ≠ j ↔ j < i);% ⊦ i < j → ¬ j < i;% ⊦ j < i ∧ i ≤ 0 → j < 0; (forward)% ⊦ int2bits(j) = false ' ↔ j = 0;%bits ≠ [] ⊦ (boolvar ↔ bits.last) ∧ bits0 = bits.butlast ↔ bits = bits0 + boolvar '; (elim) Used terms: int2bits(j), boolvar, bits