| i < 0 ∧ i ≠ ~1, #(int2bits((i - 1) / 2) + (~1 = i % 2)') = # int2bits(j), i0 + 2 ^ n→i(# int2bits(j)) ≤ 0, j ≤ 0, i ≤ 0, bits2int(bitsand(int2bits((i - 1) / 2) + (~1 = i % 2)', int2bits(j))) < i0, ∀ i0, j, i1. i→n(i1) < i→n(i) → # int2bits(i1) = # int2bits(j) ∧ bits2int(bitsand(int2bits(i1), int2bits(j))) < i0 ∧ i1 ≤ 0 ∧ j ≤ 0 ∧ i0 + 2 ^ n→i(# int2bits(j)) ≤ 0 → false ⊦ |
# int2bits((i - 1) / 2) + 1 = # int2bits(j), i0 + 2 ^ n→i(# int2bits(j)) ≤ 0, j ≤ 0, bits2int(bitsand(int2bits((i - 1) / 2) + (~1 = i % 2)', int2bits(j))) < i0, i < 0, ∀ i0, j, i1. i→n(i1) < i→n(i) → # int2bits(i1) = # int2bits(j) ∧ bits2int(bitsand(int2bits(i1), int2bits(j))) < i0 ∧ i1 ≤ 0 ∧ j ≤ 0 ∧ i0 + 2 ^ n→i(# int2bits(j)) ≤ 0 → false ⊦ i = ~1
Used simplifier rules: ⊦ j < i ∧ i ≤ 0 → j < 0; (forward)% ⊦ i < 0 ∧ 0 ≤ j → i ≤ j;% ⊦ (bits + bits0) + bits1 = bits + bits0 + bits1;% ⊦ # boolvar ' = 0 +1;% ⊦ #(bits + bits0) = # bits + # bits0;