| 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 |
⊦ m ≠ 0 → mklist(boolvar, m) = boolvar + mklist(boolvar, m - 1)
Used simplifier rules: ⊦ boolvar ' + bits = boolvar0 ' + bits0 ↔ (boolvar ↔ boolvar0) ∧ bits = bits0;% ⊦ boolvar + bits = boolvar ' + bits;% ⊦ i→n(i) = 0 ↔ i = 0;% ⊦ mklist(boolvar, 0) = [];% ⊦ [] + bits = bits;% ⊦ (bits + bits0) + bits1 = bits + bits0 + bits1;% ⊦ 0 < j → int2bits(j) ≠ true ' + bits; Used terms: i→n(j), false