| 0 < bits2uint((false ' + bitsinvert(sublist(0, m, bits)))+1), # int2bits(i) = m + 1, mklist(i < 0, i→n(j)) + int2bits(i) = true ' + bits, j < 32, 0 ≤ j ⊦ ¬ 0 < i, mklist(¬ 0 < i, i→n(j)) + int2bits(i) = [], i = 0 |
mklist(false, i→n(j)) + int2bits(i) = true ' + bits, # int2bits(i) = m + 1, 0 < bits2uint((false ' + bitsinvert(sublist(0, m, bits)))+1), 0 < i, 0 ≤ j, j < 32 ⊦ i = 0
Used simplifier rules: ⊦ true ∈ int2bits(j) ↔ j ≠ 0;% ⊦ ¬ true ∈ mklist(false, n);% ⊦ boolvar ∈ bits + bits0 ↔ ¬ ¬(boolvar ∈ bits ∨ boolvar ∈ bits0);% ⊦ boolvar ' + bits ≠ [];% ⊦ i < j ∧ 0 ≤ i → 0 < j; (forward)% ⊦ (bits + bits0) + bits1 = bits + bits0 + bits1;% ⊦ boolvar ' + bits = bits0 → boolvar ∈ bits0; (forward)% ⊦ i < j → ¬ j < i;